Public API
Read-only JSON over HTTPS. No key, no sign-up. Same data and the same search as the website.
Endpoints
| Endpoint | Returns |
|---|---|
GET /v1/jobs | Search. Up to 50 results per page and a cursor for the next page. |
GET /v1/jobs/{id} | One job: pay variants by location, lifecycle, history. |
GET /v1/jobs/{id}/evidence | The employer's pay wording and how it was read, with the source link. |
GET /v1/employers/{id} | An employer, its monitored boards, and its live jobs. |
GET /v1/stats | Counts and the time of the latest check. |
Example
curl -s "https://sixfigurework.com/v1/jobs?q=engineer&min_salary=150000&sort=highest_min&limit=5"
Search parameters: q, min_salary (100000 to 5000000), employer, employer_id, sort (relevance, newest, highest_min, lowest_min, recently_verified, closing_soon), limit (1 to 50), cursor, audience (public or all), and these filters, each taking comma-separated values: category, state, metro, seniority, workplace, open_to. An invalid value returns a 422 error naming the field.
Limits
- 60 requests per minute per IP address. Over the limit you get
429with aRetry-Afterheader (seconds). - At most 2 searches at once per address. Extra ones get
429. - When the service is busy it answers
503withRetry-After. Wait and retry; do not retry in a tight loop. - Write methods return
405. Use of the API is covered by the terms. Need more volume or a bulk file? Ask us.
Reading a response
Every response has request_id and generated_at (UTC). Errors have error.code, error.message and error.status. Pay is annual, in USD (currency, period).
salary_min,salary_max- The employer's advertised annual base salary range, in dollars.
salary_maxcan be null when the employer states only a floor.base_rangeis the same range as text. scope_label,scope_phrase- The place or level the pay applies to, for example a state. Pay can differ elsewhere.
scope_partialtruewhen the pay shown applies only to the scope shown and the posting also lists other locations that may pay differently or not be covered by this figure.falsemeans the figure covers the whole posting as far as we can tell.open_to_publicfalsefor federal postings that are not open to all applicants. They are hidden unless you passaudience=all.applicant_audiencelists who may apply, andopen_tosays it in words. Non-federal postings aretrue.last_checked_at- When we last confirmed the posting with its source.
first_observed_atis when we first saw it; it is not the employer's posting date (employer_published_at, often null). apply_url,source_url- Where to apply and the employer's public posting. Applications are made there, never through us.
other_variants- How many other location variants this one opportunity has. Search returns one entry per opportunity.
extraction_method- How the pay was read: from a structured field, or by fixed rules over the posting text. See the methodology.
Unknown values are null, never "no" or zero.