Usage & Plans

Rate limits & quotas

Per-second rate limits, monthly credits, and how usage is counted.

Every authenticated request is subject to two limits, both set by your plan:

  • A per-second rate limit: how many requests you can make in one second.
  • Credits: one credit buys one job for the rest of the calendar month. A package sets your monthly credits. Free starts with 1,000 credits, once, and is never refilled.
PlanRate limitCredits / month
Free2 / second1,000 once, to start
Seeker2 / second10,000
Builder, Growth10 / second25,000 / 100,000
Scale, Business50 / second300,000 / 500,000

How usage is counted

One credit buys one job for the rest of the calendar month (UTC). A response with 25 jobs you have not had this month costs 25 credits. Estimate the distinct jobs you consume, not the calls you make.

  • An empty result costs nothing.
  • A job you already paid for this month is free. Re-running a query, polling for new postings or opening the same job again costs nothing for jobs you already have. This holds across every API key on the account, the dashboard and the MCP server.
  • The response tells you what it cost. metadata.credits_charged is what the call cost. metadata.jobs_already_paid is how many returned jobs were free.
  • Technologies are opt-in and extra. With include_technologies: true, each returned job that names a technology costs 1 more credit, once per job per month. metadata.technologies_credits_charged reports that part.
  • You can size a search before paying for it. Send include_total_results: true with limit: 1. You pay for one row and metadata.total_results gives the match count.

Endpoints that do not return jobs (/v1/stack/scan, /v1/insights/salary/benchmark, /v1/companies/{key}, /v1/companies/{key}/technologies, /v1/technologies) cost 1 credit per call that returns data. A lookup that finds nothing, a scan that detects nothing, an empty list or a suppressed salary benchmark costs nothing. Company search by technology costs 1 credit per company, once per month, like jobs. The hiring companies list (POST /v1/jobs/companies) costs 1 credit per company returned, and the company page (GET /v1/jobs/companies/{key}) 1 credit per page, each once per month: a company you already paid for this month is free, and a company page that is not found costs nothing. The company page summary (POST /v1/jobs/companies/{key}/summary) is free.

Company suggest (GET /v1/companies/suggest), POST /v1/feedback and GET /v1/account cost nothing and take no slot in the search rate limit; suggest has its own limit of 5 requests a second per account, and feedback has its own limit of 10 submissions a minute and 100 a day (UTC) per account. Past either limit the API answers 429 with rate_limited and a Retry-After header.

Credits, and the record of what you paid for, reset at the start of each calendar month (UTC). A job fetched in both September and October costs one credit in each month. Track usage on the Usage page.

Requests that fail

A request that returns no data costs nothing, on every endpoint. That covers every error status (400, 401, 402, 404, 429, 502, 503, 504), a timeout, and a successful answer with nothing in it. The credit reserved for a call is handed back as soon as the call ends without data. The one exception is a technology export whose download breaks after it started: the companies in it stay paid for, so running it again is free.

A retry loop on a 400 costs nothing but time. Fix the request instead of retrying it.

What happens at the limit

  • Over the per-second rate: 429 Rate limit exceeded. Back off and retry; see errors.
  • Out of monthly credits: 402 Monthly request quota exceeded. Every search returns 402, even one that would only return jobs you already paid for. Wait for the reset, buy credits, or upgrade.
  • Out of the 1,000 free credits on Free: the same 402. Free credits do not reset, so pick a package.

On this page