JobFront Docs

429

Retry with backoff

Rate limited — You spent one of the two rate windows, or have too many requests running at once.

Response body

{ "error": { "code": "rate_limited", … } }

Should you retry?

Yes — with exponential backoff, and honour Retry-After when it is present.

What it means

One code covers three conditions, because the client action is identical: honour Retry-After. Which one you hit is in error.details. A spent rate window carries window_seconds — 60 for the burst floor, 18000 for the 5-hour budget — and retry_after_seconds, the same value the header carries; an exhausted 5-hour budget returns 18000, not 60, because retrying sooner just hits the same wall. The in-flight limit instead carries concurrency_limit (and no window_seconds), with a Retry-After of 1: your organization already has that many requests running on one API server, and no quota was spent.

Common causes

How to fix it

Honour Retry-After exactly. Watch X-RateLimit-Remaining-5h as the primary signal and slow down before you get here. Prefer cursor pagination for large pulls: fewer, fuller pages cost fewer requests. If you parallelize, keep the pool to 10 or fewer concurrent requests.

Endpoints that return this

Read from the OpenAPI specification, so this list cannot claim an endpoint returns a status the contract does not list.

MethodEndpointWhat it does
GET /v4/jobs Search jobs
GET /v4/jobs/search Search jobs (alias of /v4/jobs)
GET /v4/jobs/options Job facet values
GET /v4/jobs/{job_id} One job by global id
GET /v4/autocomplete/titles Job-title suggestions
GET /v4/autocomplete/sources Source (company) suggestions
GET /v4/sources Search sources (companies)
GET /v4/sources/search Search sources (alias of /v4/sources)
GET /v4/sources/options Source facet values
GET /v4/sources-id/{source_id} One source by id
GET /v4/sources-url/{url_source} One source by URL
GET /v4/sources/{url_source} One source by URL (alias)
GET /v4/sources-id/{source_id}/jobs A source's jobs (by id)
GET /v4/sources/{url_source}/jobs A source's jobs (by URL)
GET /v4/sources-id/{source_id}/related Related sources (by id)
GET /v4/sources/{url_source}/related Related sources (by URL)
GET /v4/jobs/hidden Jobs you have hidden
POST /v4/jobs/hidden/{job_id} Hide a job
DELETE /v4/jobs/hidden/{job_id} Un-hide a job
GET /v4/sources/blocked Companies you have blocked
POST /v4/sources/blocked/{source_id} Block a company
DELETE /v4/sources/blocked/{source_id} Unblock a company
GET /v4/me Your plan and current quota
GET /v4/usage Daily usage history
POST /mcp MCP server (JSON-RPC 2.0)