Limits and usage

Your plan is a number of tokens a day, shared by all your keys and connected apps. A token is about 4 characters of data we send back, the way AI models count.

Your plan
Tokens a dayThe volume you picked on the pricing page (500,000 on the $35 plan, about 150 jobs); resets 00:00 UTC
Requests at the same time5
Jobs per requestup to 100
Values per filterup to 50 (titles, companies, locations…)
Active API keys10

What a call costs#

CallTokens
A search (/v1/jobs, MCP search_jobs, search)About 300 a job returned
Opening jobs (/v1/jobs/:id, batch, MCP get_job, get_jobs, fetch)The size of each job, more with its full description
A count (/v1/jobs/count, MCP count_jobs, catalog_stats)At least 2,000: it reads millions of rows
/v1/meta, /v1/usage, /v1/openapi.json, MCP describe_catalogFree

A call that returns an error costs nothing. The call that takes you past your daily tokens is still answered; the next one is refused until the day resets.

Headers#

HeaderMeaning
X-RateLimit-LimitYour tokens a day
X-RateLimit-RemainingTokens left today
X-RateLimit-ResetWhen the day resets (Unix seconds)
Retry-AfterOn a 429: seconds until you can call again

Searching descriptions#

description and exclude_description need a title or company in the same search, for example Data Engineer jobs that mention Snowflake. Descriptions are then read only for the jobs those already narrow down, so the search stays fast. To find every job that asks for a tool or skill (Snowflake, Python, dbt) across all companies, use skills instead: it covers the whole catalog and answers in seconds.

How long a request can run#

A REST call can run for up to 2 minutes and an MCP tool call for up to 80 seconds (ChatGPT and Claude stop waiting at about a minute). Almost every search answers in a few seconds; one that would take longer comes back as 400 too_broad, asking you to add a title, company or location.

Going over a limit#

Up to 5 of your requests can run at the same time. A 6th sent while 5 are still running is refused at once with 429 limit_reached and Retry-After: 1; as soon as one finishes, the next can start. Sending calls one after another, or a few at a time, never hits it. Past your tokens for the day, the error says so and Retry-After is the seconds until 00:00 UTC. A refused request costs nothing.

Your live usage is on the dashboard and at GET /v1/usage. Need more? Pick a bigger plan on the pricing page or contact us.