Developers/Skylit API (Beta)

Authentication

Authenticate with a Skylit API key, and how credits and rate limits work.

Beta. The API and MCP server are open to members with API access. Check yours on the Developer page.

The Skylit Public API uses bearer authentication. Send your API key in the Authorization header on every request:

Terminal
Authorization: Bearer <your-api-key>

Getting a key

Generate and manage keys on the Developer page (API keys tab). New accounts start with the credits their plan includes (see Plans and credits); GET /v1/account shows the balance. MCP clients such as Claude, Claude Code and Cursor can also sign in with Skylit (OAuth) instead of using a key: see the MCP quickstart.

curl "https://api.skylit.ai/v1/heatmap?symbols=SPY" \
  -H "Authorization: Bearer $SKYLIT_API_KEY"

Credits

Every chargeable request debits a fixed cost from your credit balance (1 credit = $0.001). Each endpoint's cost is shown on its API Reference page (x-credits in the OpenAPI specs). /v1/account and /v1/openapi.json are free. Streams charge to open and then per symbol per minute; the connected event states the rate.

Every chargeable response carries X-Credits-Remaining: <balance>. Failed calls are free: a request answered with any 4xx or 5xx is refunded, and its X-Credits-Remaining already reflects the refund.

402 insufficient_credits

You're out of credits. Buy a credit pack on the Developer page (Community and up), or wait for your plan's Monthly API Credits to reset on the 1st (ET). See Plans and credits.

402 monthly_cap_reached

Your account's monthly spend cap was reached. Contact support to raise it.

403 account_suspended

The account has been administratively suspended.

Rate limits

Each key has a requests-per-minute limit set by your plan, shared across all Skylit APIs. GET /v1/account returns it (limits.requestsPerMinute) along with your other limits, so read it rather than hard-coding a number.

Every response carries the key's current window:

HeaderMeaning
X-RateLimit-LimitRequests allowed per minute on this key
X-RateLimit-RemainingRequests left in the current window
X-RateLimit-ResetWhen the window resets (Unix seconds)
StatusMeaning
401 UnauthorizedMissing or invalid API key.
403 ForbiddenKey revoked/expired, or account suspended.
429 Too Many RequestsRate limit hit (rate_limited). The gateway's 429 has no Retry-After: wait until X-RateLimit-Reset, then retry with jitter. 429s from the API itself (concurrency or stream limits) carry Retry-After.

For backoff code and the full retry rules, see Rate limits and retries. Every error code is listed on Errors.

Make your first call

Jump to GET /v1/heatmap and try it live in the playground.

Last updated

Was this page helpful?