Guides / API Guide
ProbSights has two authentication paths, and picking the wrong one is the most common first-request failure. Programmatic access uses an API key; the web app uses a session cookie issued at sign-in. They are not interchangeable.
Create keys at /api-keys. The full key is returned exactly once, at creation — afterwards only its prefix is visible, so a lost key must be replaced rather than recovered. Send it as a bearer token on every request:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.probsights.com/v1/search/markets?q=bitcoin&status=active"
Each key records a createdAt and lastUsedAt, which is the quickest
way to identify a key that is no longer in use before revoking it.
Signing in at /sign-in — with email and password or Google — sets an HTTP-only cookie that the browser sends automatically. That is why the site works without a key, and why copying a request out of your browser's network tab into a script does not: the cookie is not transferable in a useful way. Use a key for anything outside the browser.
Authentication and entitlement are separate. A valid key on a Free plan can search markets
but will be refused historical data beyond the free tier. Market search is available on every
plan; BTC/ETH/SOL Up/Down history starts on Pro, cross-venue Kalshi +
Polymarket history on Builder, and arbitrage plus webhooks on Trader. A
403 generally means the plan, not the key.
Data from Kalshi and Polymarket. Search live API docs Pricing