For AI agents
StillOpen reads remote jobs from each employer's own applicant tracking system (ATS) and re-checks them continuously. An agent can use it for three things: finding jobs, checking whether a job is still open, and citing it with the evidence behind that answer. No key and no account.
1. Find jobs
https://stillopen.work/api/v1/jobs?q=python&loc=de
Returns up to 20 listings a call, each with its evidence
type and the time it was last checked. Filters: q,
loc, level, area,
pay, company. An unknown filter value is
refused rather than ignored, so a wrong filter cannot silently return the
whole catalogue. Page with next_cursor.
2. Check a job is still open
https://stillopen.work/api/v1/jobs/status?ids=237885,237883,237882
Up to 100 ids in one call. Use POST with a JSON body for a set
that belongs to one person, so it stays out of access logs.
A listing that has closed answers like this:
?ids=1824
— status: closed, with whether the closure was observed at
the employer or inferred.
This reads the evidence we have stored; it is not a live check made at
the moment you call it.
3. Cite it with its evidence
Link people to canonical_url. That page states every claim
in plain language and carries the apply link. When you describe a
listing, say what stands behind it:
ats_verified— We re-read the employer's own applicant tracking system and the posting was still there. That is the company answering directly.board_verified— We re-fetched the listing page and it was still there. Weaker than the employer's own board, which is why the two are labelled differently.employer_board— The employer's own board was still advertising this when we last read it, though our own check is not current.employer_attested— The employer told us this is open. Nobody independent has confirmed it, and it expires unless they confirm again.age_inferred— No recent confirmation. What is shown rests on the listing's age and when a source last carried it.
Only the first two are checks. Never call an employer_attested
or age_inferred listing verified, and give the date beside
the word "open".
promoted: true means the employer paid for placement at the
top of results the listing already matches. It changes nothing else about
the record, and never the order the API returns — do not read it as a
sign of quality.
MCP server
https://stillopen.work/api/v1/mcp — four read-only tools:
search_jobs, get_job,
check_job_status and get_company_stats.
Limits and the full contract
Rate limits are published in each endpoint's usage document, and a
refused call carries Retry-After. The complete description —
field meanings, lifecycle windows and a worked example — is in
/llms.txt, and the route reference is at
/docs.