Launch
Job Opportunities API
Visit
Example Image

Job Opportunities API

Employer-direct jobs API with per-field provenance

Visit

Job Opportunities API (JOA) serves job postings taken from employers' own career sites and applicant-tracking systems, not scraped from job boards. Every field on every row says whether the employer published it or we inferred it, so you decide per field what to build on. Roles that disappear are not deleted: their closure history stays, which makes hiring-trend and time-to-fill analysis possible. Free keyless statistics and a browser playground let you check coverage before signing up, and a remote MCP server lets AI agents search postings directly. Live coverage: https://jobopportunitiesapi.org/facts

Example Image
Example Image
Example Image
Example Image

Features

  • Search live employer-direct job postings by keyword, country, company, category and seniority through a REST API with an OpenAPI spec
  • Closed postings with closure dates, so you can study hiring trends and time to fill
  • Company endpoint showing who is hiring and what they have open
  • Change feed that reports new, updated and closed postings, plus bulk and CSV export
  • Saved-search alerts with webhooks (beta)
  • Keyless market statistics: coverage, freshness, providers, pay percentiles and time-to-fill signals
  • Browser Query Playground to try the free statistics endpoints without an account
  • Remote MCP server so AI agents in Claude, Cursor, Windsurf, VS Code and Cline can search jobs directly
  • Machine-readable docs: OpenAPI spec, llms.txt, apis.json and a Markdown mirror of every docs page

Use Cases

  • Build a job board or career feature on employer-direct postings
  • Study hiring trends and time to fill from closure history
  • Find which companies are hiring, and for what, to power sales and recruiting outreach
  • Give an AI agent live job search through the MCP server
  • Check coverage and freshness for free before choosing a data source

Comments

Per-field provenance is the right call — most job APIs hand you a merged blob and you can't tell what's inferred. Two things I'd want to know: how fast does a closure show up after the employer pulls the role, and does the history record why it closed (filled vs withdrawn)?

Hi, I'm Luca, the maker. JOA started from frustration with job data you have to take on trust. Every field says whether the employer published it or we inferred it, closed roles keep their history, and the coverage page lists what we do NOT have. You can try the key-free statistics in the playground before signing up, and AI agents can use the MCP server directly. I'd love feedback from anyone building job boards, market-intelligence tools or agents that need live hiring data: what is missing?

Per-field provenance on employer-direct job listings is such an underrated differentiator! Knowing whether salary or remote status was parsed directly from the ATS vs. inferred makes a massive difference for downstream AI agents and job boards. Great API design!

The per-field provenance (employer-published vs. inferred) is a really thoughtful touch, and keeping closure history makes time-to-fill analysis actually possible. How do you handle postings that an employer quietly edits or reposts under a new ID, and is that visible in the change feed?

custom-img
Founder of Adira, contract lifecycle man...

Per-field provenance is the right call. For salary specifically, do you record whether the range was published under a pay-transparency rule (some US states and EU countries now require it) versus volunteered? Anyone comparing ranges across regions would want to know which postings were legally obliged to show one.

This is a really valuable approach to job market data! I especially like the transparency around employer-published versus inferred information and the ability to track job closures over time. The API access and MCP integration also make it useful for developers and AI-powered applications. Great work!

Marking every field as employer-published or inferred is a useful idea for people building on job data. Is the closure date the day the posting left the career site or the day your crawler noticed, and how often do you recrawl?

custom-img
Thirty year veteran of the IT industry a...

This is a fantastic idea. An actual jobs API mechanism. I hope everything goes well for you Luca.

Premium Products
View all
Example Image
Awards
View all
Example Image

Comments

Per-field provenance is the right call — most job APIs hand you a merged blob and you can't tell what's inferred. Two things I'd want to know: how fast does a closure show up after the employer pulls the role, and does the history record why it closed (filled vs withdrawn)?

Hi, I'm Luca, the maker. JOA started from frustration with job data you have to take on trust. Every field says whether the employer published it or we inferred it, closed roles keep their history, and the coverage page lists what we do NOT have. You can try the key-free statistics in the playground before signing up, and AI agents can use the MCP server directly. I'd love feedback from anyone building job boards, market-intelligence tools or agents that need live hiring data: what is missing?

Per-field provenance on employer-direct job listings is such an underrated differentiator! Knowing whether salary or remote status was parsed directly from the ATS vs. inferred makes a massive difference for downstream AI agents and job boards. Great API design!

The per-field provenance (employer-published vs. inferred) is a really thoughtful touch, and keeping closure history makes time-to-fill analysis actually possible. How do you handle postings that an employer quietly edits or reposts under a new ID, and is that visible in the change feed?

custom-img
Founder of Adira, contract lifecycle man...

Per-field provenance is the right call. For salary specifically, do you record whether the range was published under a pay-transparency rule (some US states and EU countries now require it) versus volunteered? Anyone comparing ranges across regions would want to know which postings were legally obliged to show one.

This is a really valuable approach to job market data! I especially like the transparency around employer-published versus inferred information and the ability to track job closures over time. The API access and MCP integration also make it useful for developers and AI-powered applications. Great work!

Marking every field as employer-published or inferred is a useful idea for people building on job data. Is the closure date the day the posting left the career site or the day your crawler noticed, and how often do you recrawl?

custom-img
Thirty year veteran of the IT industry a...

This is a fantastic idea. An actual jobs API mechanism. I hope everything goes well for you Luca.

Premium Products