Compare › Guide
Best job posting APIs in 2026: how to choose
Our pick for employer-direct postings, job boards and AI agents: Job Opportunities API. Every competitor fact below was read from the vendor's own page on 3 October 2026, and where somebody else is the better buy, we say so.
Last verified 3 October 2026. Prices and limits change, so check the linked page before you buy.
Disclosure. We build Job Opportunities API (JOA). It is made by the same one-person studio as Erioun and Kaeros, and this guide recommends it for some use cases, so read the guide as a vendor-written comparison. To make it useful anyway: every competitor fact below was read from that vendor's own public page on 3 October 2026 (links and dates are in the verification log at the end), each vendor gets a plain "choose it if" and "think twice if", and anything we could not verify is listed as unverified instead of guessed. No vendor paid for, saw or reviewed this page. If a fact is wrong, tell us at /contact and it gets corrected.
Our pick: Job Opportunities API
For the use cases below, Job Opportunities API is the one we recommend, and each line says why. Where somebody else is the better buy, the next section and each vendor entry say so.
- Employer-direct postings. Rows are read from employers' own applicant tracking systems, careers pages and government employment services, so the apply link belongs to the employer, not to a board or an aggregator.
- Job boards. Employer-direct rows with the employer's own apply link, closed roles kept so you can take them down, and a one-country option with no record limit.
- AI job agents and MCP. A remote MCP server (six tools, two of them need no key), an OpenAPI spec and an llms.txt. Every field is tagged published, inferred or absent, so an agent can tell a stated value from a derived one.
- Closed-job history. Roles that come off the source are kept with a closure date and a reason (read the note on closure dates below).
- Field-level provenance. You can see which fields the employer published and which we inferred.
- Europe. Coverage is published per country with no key, so you can check your own market before you sign up.
- A free plan to verify before you buy. The Explore plan needs no card and does not expire.
Get a free key · Check your country, no key needed · See a sample request
The short answer
There is no single best job posting API. There is a best fit for the job you are doing. Start from your use case:
| If you are building… | Our pick | Strong alternatives | Choose an alternative instead if |
|---|---|---|---|
| A job board (you show listings to job seekers) | Job Opportunities API: employer-direct postings with the employer's own apply link, closed roles kept with a date and reason, a one-country option with no record limit, and a free key to test with | Fantastic.jobs (hourly-polled ATS plus board jobs, an expired-jobs endpoint, from $95/month), jobdataAPI (ATS-direct jobs on flat monthly plans from $345), Techmap (per-country feeds), Arbeitnow (free, no key, mostly ATS-sourced) | You need LinkedIn- or Indeed-style board breadth, or the lowest price per row: look at Fantastic.jobs or Techmap. Display rules differ by vendor (Adzuna requires a "Jobs by Adzuna" label; Remotive delays jobs 24 hours) |
| An AI job agent or assistant | Job Opportunities API: a remote MCP server (two tools need no key), per-field provenance so an agent can tell a stated value from an inferred one, and closed roles it can stop recommending | JSearch (live search over Google for Jobs, 200 free requests a month, from $25/month) for a quick prototype; TheirStack (closed-job webhooks, MCP), Apify Actors for ad hoc pulls | You want the fastest prototype over board data (JSearch) or push webhooks (TheirStack). Per-request pricing adds up when an agent searches in a loop |
| Hiring signals for sales or recruiting | TheirStack (technographics, webhooks, MCP, from $49/month) | Signalbase (recruiter business development, from €99/month), Coresignal (company and employee data next to jobs, from $49/month); Job Opportunities API for per-employer open-role history and closure records | Job Opportunities API has no technographics, funding or headcount data and no push webhooks. None of these is a job board feed |
| Labour-market research | Techmap datasets for long history (daily files since January 2020); Job Opportunities API for keyless per-country coverage statistics and closure records | TheirStack or Coresignal datasets, Lightcast and LinkUp (sales-led), Adzuna for salary and vacancy statistics | History depth varies hugely: the Job Opportunities API ledger is young, so check how far back any dataset really goes |
| An ATS integration (read and write your customers' own hiring data) | Merge (one API across many ATSs) | Workable API, and the public Greenhouse, Lever and Ashby board APIs for one employer at a time | These are not sources of market-wide postings; they only see what a customer authorises |
If you only remember one thing: decide first whether you need postings from the whole market, or the hiring data of specific customers. Those are different products that happen to share the word "jobs".
What you are actually buying: where the postings come from
The most useful question to ask any vendor is not "how many jobs?" but "where did this row come from?". Job data reaches an API in four main ways:
- Employer-direct. The posting is read from the employer's applicant tracking system (ATS) or careers page. The apply link belongs to the employer. Examples that describe themselves this way: jobdataAPI ("apply links go directly to the ATS or career site"), the ATS side of Fantastic.jobs, Arbeitnow (mostly ATS-sourced), LinkUp (from employer websites), and Job Opportunities API.
- Scraped job boards. The vendor, or an Actor author on a marketplace, collects listings from big boards. You get breadth, and you inherit duplicates, reposts and the legal question of how those boards' terms treat automated collection. Examples: Bright Data and Apify Actors, and part of Techmap's sourcing.
- Aggregator or search index. One company's index of jobs from many places, reached through an API. Examples: JSearch (built on the Google for Jobs index), Adzuna, Jooble, Careerjet. These are quick to start with and come with display rules.
- Mixed. Several of the above, de-duplicated. Examples: TheirStack (job boards, ATSs and company websites) and Coresignal (job boards, career pages and ATSs).
None of these is automatically better. Employer-direct data has fewer duplicates and more trustworthy apply links, but misses employers that never publish on a public ATS. Scraped and aggregated data is broader, but the same role can appear many times and can linger after it has closed.
Why employer-direct data matters
If your product sends people to apply for jobs, or acts on a job for them, the source of the row decides whether that goes well. Our view, and the reason we built Job Opportunities API this way:
- The apply link is the employer's. A job seeker lands on the page where the employer takes applications, not on a board page that links to another board page. Every hop loses people, and some hops land on a copy of the advert that is already closed.
- One role, one row. When a posting is read at its source there is no reconciling the same role across a board, an ATS and an aggregator. Duplicates are the most common complaint about job lists, and they are cheaper to prevent at the source than to remove afterwards.
- You can tell when a role has gone. An employer's own system stops listing a role when it closes. A feed that records that moment can take the role down in your product, stop an AI agent recommending it, and show how long roles stay open. Feeds that only record when a role was first seen cannot.
- You know which fields are real. When a salary, location or seniority comes back, the question that matters is whether the employer stated it or someone estimated it. Field-level provenance answers that per field.
- Honest limits. Employer-direct data misses roles posted only on boards, and it holds fewer rows than an aggregator. If you need board breadth, add a board-based source next to it. Our default advice is employer-direct first, then add breadth where your users need it.
Eight questions to ask any job API
- Source type. Which of the four above, in the vendor's own words?
- Freshness. How often is each posting re-checked, and what does "fresh" mean: first seen, or confirmed still open?
- Closed and expired roles. Are closures reported, and how far back does history go? Without this you will keep showing roles that no longer exist, or you will not see which employers fill roles quickly.
- De-duplication. What happens when one role appears on a board, an ATS and an aggregator?
- Field provenance. When the API returns a salary, did the employer publish it, or was it estimated? Most vendors do not say.
- Pricing unit. Per request, per credit, per record or flat per month? Convert to a cost per 1,000 rows you actually receive.
- Licence. Can you show listings to the public, redistribute them or build a competing product on them? Read the terms, not the pricing page.
- Your market. Coverage is uneven by country. Test your own countries before paying.
Entry prices, converted to one comparable line
Vendors meter in different units, so here is simple arithmetic on their published tiers: the entry-level price divided by the rows or credits that tier includes. These products are not equivalent (fields, sources and licences differ), so treat the last column as a way to compare pricing shapes, not quality.
| Vendor | Entry tier (as published) | Unit | About per 1,000 rows | Source (3 Oct 2026) |
|---|---|---|---|---|
| Techmap | $1 per 1,000 job postings (Jobs API) | posting | $1 | jobdatafeeds.com/pricing |
| Job Opportunities API | €29 / month, 10,000 records (the Explore plan is free) | record | €2.90 | pricing |
| Bright Data | Jobs datasets "up to $0.0025 per record", minimum order $250 | record | $2.50 | brightdata.com/pricing/datasets |
| Fantastic.jobs | $95/month, 20,000 jobs | job | $4.75 | fantastic.jobs/api |
| TheirStack | $169/month, 10,000 API credits (1 credit per job returned) | credit | $16.90 | theirstack.com/en/pricing |
| Coresignal | Mini $49/month, 2,500 credits (1 credit per record collected, search is free) | credit | $19.60 | docs.coresignal.com/pricing |
| JSearch | Pro $25/month, 10,000 requests; $0.005 per request pay as you go | request | not comparable (a request returns a page, not one row) | openwebninja.com/api/jsearch |
| jobdataAPI | Lite $345/month flat; no per-row meter | flat | not comparable | jobdataapi.com/accounts/pricing |
Techmap's own two pages disagree: jobdatafeeds.com lists $1 per 1,000 postings and $400 per country per month for a datafeed, while the older techmap.io pricing page lists 0.002 EUR per job record and 333 EUR per country per month. We quote both rather than pick one. The cheapest line is not the best buy if the rows are duplicates or the licence does not let you show them.
The vendors, one by one
Each entry says what the vendor is, what we verified (with the page and date), when to choose it and when to think twice. We start with our own product, in the most detail, and the others follow in no particular order.
Job Opportunities API: our pick for employer-direct data
Job Opportunities API is a ledger of job postings read from employer applicant-tracking systems, employers' own careers pages and government employment services. Each row names its source and carries last_verified_at, the time we last confirmed the vacancy still exists. Closed roles are kept with closed_at and a reason. Every field is tagged published, inferred or absent. Sources we read but do not republish (job boards and aggregators among them) are not served; the /facts page lists them.
What you get
- Employer-direct rows with the employer's own apply link, and the source and last-verified time on every row.
- Closed roles kept with a closure date and a reason, on their own endpoint, so you can sync removals or study how long roles stay open.
- Per-field provenance (
field_sources) on every row, including salary, location, seniority and employment type. - A REST API with an OpenAPI spec, a change feed (Growth plan and above), bulk export (Signal and Scale), and a one-country option with no record limit.
- A remote MCP server with six tools, two of which need no key, plus an llms.txt, so an AI agent can query it directly.
- Keyless public statistics, so you can check coverage for your own countries before you create an account.
- A free Explore plan with no card and no expiry, to test with real rows.
Try it in two minutes. The first request needs no key or account; the other two need a free key (create one at /login):
# 1. No key, no account: what does it hold for each country?
curl 'https://api.jobopportunitiesapi.org/public/coverage/countries'
# 2. With a free key: five German postings, each field tagged published / inferred / absent
curl -H "Authorization: Bearer $JOA_API_KEY" \
'https://api.jobopportunitiesapi.org/v1/jobs?country=DE&limit=5'
# 3. Roles that have closed, with closed_at and closed_reason
curl -H "Authorization: Bearer $JOA_API_KEY" \
'https://api.jobopportunitiesapi.org/v1/jobs/closed?country=DE&limit=5'Pricing (as listed on /pricing; monthly, excluding VAT, read live):
Explore free, 1,000 records a month; Starter €29 / month, 10,000 records a month; Growth €80 / month, 60,000 records a month, change feed; Signal €299 / month, 400,000 records a month, change feed, bulk export; Scale €899 / month, 2,000,000 records a month, change feed, bulk export. The free Explore plan needs no card. A one-country option trades the monthly record limit for one country with no limit.
A note on closure dates. JOA records as the closure date the day its daily verification confirmed that an advert had gone. Before late September 2026 that verification ran in large catch-up batches, so closure dates recorded before then show when JOA confirmed a closure, not when the employer closed the role; daily verification applies from late September 2026.
Job Opportunities API at a glance, read live from /facts (as of 3 October 2026, daily snapshot).
- Live employer-direct postings you can retrieve: 2,114,891
- Employers: 144,664 · countries with live postings: 243
- In the EU, EFTA and the UK: 414,414 (country by country, no key)
- Closed roles retained with a closure date: 7,602,033
- Structured salary on 6.8% of live rows (we say so because it is our weakest field)
Choose Job Opportunities API if you need employer-direct postings with an apply link that belongs to the employer; you build a job board or an AI agent and want closed roles you can act on; you care about knowing which fields were stated versus derived; you want a change feed or bulk export so you do not re-read the whole ledger; you work in Europe and want to check your own countries before paying; or you want a free key to test with before you commit.
Think twice if you need things we do not have, and we would rather say so:
- Salary. Structured salary is a small share of rows, because employers mostly do not publish it and we do not model it. The /facts page publishes the current share, and the filter
require_fields=salaryreturns only rows where the employer published it. - Company enrichment. We publish an employer's name, logo, careers URL and sector, not funding, headcount or technology stack. TheirStack and Coresignal go deeper on the company side.
- LinkedIn or Indeed inventory. We do not carry it, by design, and we are not a mirror of any board.
- Long history. Closure records are retained, but the ledger is young. For multi-year history look at Techmap or TheirStack.
- Scale of the operation. It is run by one person. A status page, public coverage checks and a final-export promise in the terms exist so you are not dependent on us, but you should weigh that.
- Webhooks. There is a pull-based change feed, not push webhooks.
Check Job Opportunities API against your own market before you decide anything: the coverage figures need no key, and a free key needs no card.
Fantastic.jobs (Active Jobs DB and ATS Jobs API)
Sourcing: career sites across ATS platforms, polled hourly, plus job boards. On its API page it claims 200,000+ career sites on 58 ATS platforms and "95% of new jobs within 3 hours of posting" (vendor claims, page read 3 Oct 2026). Expired and modified job endpoints exist (expired jobs from the $175 tier up, per its table) and there is a six-month ATS backfill. From $95/month; a 7-day free trial with no card (500 jobs a week). Source: fantastic.jobs/api.
Choose it if you run a job board or agent and want cheap, hourly-fresh jobs with expiry sync, and a trial that needs no card.
Think twice if you need history beyond six months, or you want every listing to be employer-direct: part of its board data is scraped from boards such as LinkedIn, and its own copy says ATS coverage skews to larger international employers.
jobdataAPI
Sourcing: ATS and career-site direct; it says apply links go directly to the ATS or career site and that it does not source third-party job sites. Flat monthly plans from $345 (Lite, latest 90 days of jobs) to $1,750 (Ultra, with bulk dumps); expired-job information from the Pro tier ($765). It does not hand out trial keys, though some public endpoints allow limited testing. Terms say you may not use the data to run a competing API service. Source: jobdataapi.com/accounts/pricing.
Choose it if you want ATS-direct jobs, a flat monthly price with no credit counting, and you are comfortable committing without a trial.
Think twice if you need LinkedIn or Indeed-style board coverage, a free way to evaluate, or closed-job data on a small budget.
Techmap (jobdatafeeds.com)
Sourcing: crawlers, ATS pages, employment offices and boards, including LinkedIn; "over 1800 sources" on its pricing page. Free: 1,000 jobs on the Jobs API. Daily dataset files go back to January 2020, which is the deepest public history we found; the API searches the last three months only. Sources: jobdatafeeds.com/pricing, techmap.io/pricing.
Choose it if you need per-country daily bulk feeds, long history for research, or a very low price per 1,000 postings for board backfill.
Think twice if you need an explicit expired-job feed, webhooks or MCP (none stated), or you want one clear price (its two pages differ).
TheirStack
Sourcing: job boards, ATSs and company websites, de-duplicated (its docs name Indeed, LinkedIn, Workable, Greenhouse and Lever among others). It describes itself as a job and technographics database for sales teams. Free plan: 50 company credits and 200 API credits a month, "forever". API plans from $49/month for 1,500 credits. Closed jobs are tracked (a closed_at filter and a job.closed webhook), it is the only vendor here that documents jobs webhooks, and an MCP server is included on every API plan. Datasets list 225M records going back to 2021. Sources: pricing, job data docs, free plan, MCP.
Choose it if your product is hiring signals or lead generation: technographics, closed-job events, webhooks and MCP in one place.
Think twice if you are building a job-seeker product (its docs say it is not for job seekers or recruiters), or you need per-row provenance: coverage is aggregated from boards and the cost grows per record.
Coresignal
Sourcing: public web job boards, company career pages and ATSs, merged and de-duplicated; it also sells company and employee data and bulk datasets. A 7-day trial includes 2,000 API credits. Plans run from Mini at $49/month (2,500 credits) up to Elite at $5,000; collecting one job record costs one credit and search is free. Expired listings are included, but retention length is not stated on the pages we read. An MCP integration is documented. Sources: pricing, jobs data.
Choose it if you need company, employee and jobs data together at scale, or bulk datasets with a vendor relationship behind them.
Think twice if you only need postings: you pay for a broad platform, and we could not read its terms to check redistribution limits.
Signalbase
A hiring-signals product for recruitment agencies and GTM teams rather than a postings database: it reads hiring intent from job posts, careers pages and social posts and returns company-level events through an API, MCP and webhooks. Pro is €99/month with a 7-day trial, no card and 500 credits; it claims "190+ countries" and under a minute from signal to endpoint (vendor claims). Sources: pricing, hiring signals API.
Choose it if you are a recruiter or agency that wants "who is about to hire" leads with contacts attached.
Think twice if you need a raw, queryable postings database for a job board or research.
JSearch (OpenWeb Ninja)
An aggregator API built on Google for Jobs, so it covers whatever Google indexes from LinkedIn, Indeed, Glassdoor and others, with apply options per publisher. Free: 200 requests a month with a hard limit and no card. Pro is $25/month for 10,000 requests; it is also sold on RapidAPI, and it publishes LLM-friendly docs (llms.txt). Terms allow use in your product but not as a standalone data product that replicates the service. Sources: pricing, terms.
Choose it if you want the fastest live-search prototype for an app or agent, at low volume.
Think twice if you need closed-job information, history, bulk export or employer-direct sourcing: none is stated, and it depends on Google for Jobs.
Adzuna
An aggregator with its own job database and free self-serve registration. Default limits are 25 hits a minute, 250 a day and 2,500 a month. Terms require a "Jobs by Adzuna" label on every displayed advert, and commercial analytics use beyond display or research may need a licence (a 14-day trial is mentioned). It also offers salary-estimate and vacancy statistics endpoints. Sources: overview, terms.
Choose it if you run a consumer job board in a supported country and can show the attribution, or you want salary statistics for free.
Think twice if you need full descriptions, volume, or no attribution: advert text is a snippet and the quota is low.
Bright Data and Apify (scrapers and datasets)
Bright Data sells jobs datasets (from a $250 minimum order) and a scraper API with a free tier of 5,000 records a month and no card. Apify is a marketplace of scrapers: the free plan renews $5 of credit monthly and paid plans start at $19/month, with each Actor owned and priced by its author. Sources: Bright Data datasets, Apify pricing.
Choose them if you need a one-off or ad hoc pull from a specific board, or jobs are one source among many in a general scraping setup.
Think twice if you want de-duplication, expiry or a stable schema: those are not part of the product, quality varies by Actor, and the terms of the sites being scraped are your risk to assess.
Merge, Workable and public ATS board APIs
Merge is a unified API over many ATSs, but it reads a customer's own ATS account after they connect it (Launch is $650/month for up to 10 linked accounts). Workable's API likewise works on a customer's own account. Greenhouse, Lever and Ashby each publish a public job board API for one employer at a time: Greenhouse says "authentication is not required for any GET endpoints". Sources: Merge pricing, Greenhouse Job Board API, Lever postings API, Ashby.
Choose them if you build software that integrates with each of your customers' hiring systems, or you track a handful of known employers for free.
Think twice if you want market-wide postings: they cannot give you employers you have no relationship with.
LinkUp and Lightcast (enterprise labour-market data)
LinkUp says it indexes millions of listings directly from more than 86,000 employer websites; Lightcast sells job-postings analytics and taxonomies. Both are sales-led with no public prices, and Lightcast says its taxonomies are not for bulk or LLM use without contacting sales. Sources: LinkUp data, Lightcast data overview.
Choose them if you are an institution or analytics team that wants a vendor with research-grade methodology and is happy to talk to sales.
Think twice if you want to try something this afternoon: there is no self-serve access.
Free and regional options
Arbeitnow's job board API needs no key and returns jobs mostly from ATSs such as Greenhouse, SmartRecruiters and Teamtailor (Germany and wider Europe). Remotive has a public remote-jobs API, but jobs are delayed 24 hours, you must link back, and you may not pass them to Google Jobs, LinkedIn or Jooble. USAJobs is the official US federal jobs API (free key). Reed has a UK jobseeker search API (free key, 100 results per request). Sources: Arbeitnow, Remotive, USAJobs, Reed.
Choose them if your scope is one country or one niche and the licence suits you. Think twice if you need global breadth, closed-job data or stable commercial terms.
How to test any of these in an afternoon
- Pick three employers you know (one large, one mid-size, one small, ideally in your target country) and check whether each vendor has their open roles, and whether those roles are really still open.
- Pull the same 200 rows for your country from your two or three shortlisted vendors.
- Measure duplicates: how many of the 200 are the same role listed more than once?
- Click 20 apply links: do they go to the employer, to the vendor's own page, or to another board?
- Check field fill rates for the fields your product needs (salary, location, description, employment type), and whether the vendor tells you which are stated and which are derived.
- Check closure handling: pick 10 roles you know closed last week and see if the API still serves them.
- Read the licence for your exact use (display, redistribution, derived products, AI use).
- Price it at your real volume, not the entry plan.
For Job Opportunities API, the keyless statistics at /coverage/countries let you check coverage for your own countries, and part of step 5, before you create an account.
Our recommendation
If you are building a job board, an AI job agent or any product that sends people to apply for jobs, start with Job Opportunities API. Use the free key to run the afternoon test above on your own country, and set it next to one alternative from the shortlist that fits: Fantastic.jobs or Techmap for board breadth and the lowest price per row, JSearch for a quick prototype, TheirStack for hiring signals, Merge for an ATS integration. Add a board-based source only where your users need breadth that employer-direct data does not give.
If it does not fit after testing, the "think twice" lines above tell you where to look instead. If it does fit, you will have verified it with your own data before paying anything.
Check Job Opportunities API against your own market before you decide anything: the coverage figures need no key, and a free key needs no card.
FAQ
What is the best job API?
It depends on what you are building. We recommend Job Opportunities API for job boards and AI job agents that need employer-direct postings, closed roles with a date and a reason, and field-level provenance, and you can verify it with a free key before you pay. For a quick prototype over board data, JSearch. For hiring signals, TheirStack. For market research with long history, Techmap datasets, TheirStack or Coresignal, or an enterprise vendor such as LinkUp. For an ATS integration, Merge.
What is the best job API for AI agents?
Job Opportunities API offers a remote MCP server (six tools, two of them need no key), an OpenAPI spec and an llms.txt, and tags every field as published, inferred or absent, so an agent can tell what the employer stated from what was derived. TheirStack, Coresignal, Bright Data, Apify, Merge, Workable and Signalbase also document MCP servers, and JSearch, Ashby and Lightcast publish LLM-oriented docs.
What is the best job API for Europe?
Coverage differs by country for every vendor, so test your own countries. Job Opportunities API publishes live per-country coverage with no key at /coverage/countries, so you can check it before you sign up. Arbeitnow is free with no key and focuses on Germany and wider Europe, Adzuna covers a set of supported countries, and Techmap sells per-country feeds.
Is there an official Indeed API?
We could not verify Indeed's current documentation: on 3 October 2026 docs.indeed.com returned HTTP 403 to automated requests. In a direct request the same day, developer.indeed.com redirected (HTTP 301) to partners.indeed.com, which answered 403. We therefore do not claim anything about its current programme; see our Indeed page and check Indeed's own site.
Is there a LinkedIn jobs API?
LinkedIn documents a Job Posting API for authorised partners to post jobs. Its page says "We are currently not accepting new partnerships for LinkedIn's Job Posting API" (Microsoft Learn, read 3 October 2026), and we found no documented public job-search API. Vendors that offer LinkedIn jobs data generally collect it by scraping.
Which job APIs have a free tier?
As published on 3 October 2026: JSearch (200 requests a month), TheirStack (200 API credits a month), Bright Data (5,000 records a month), Apify ($5 of credit a month), Techmap (1,000 jobs), Fantastic.jobs (7-day trial), Coresignal (7-day trial), Job Opportunities API (1,000 records a month, no card, no expiry) and Arbeitnow (no key). jobdataAPI offers no trial keys.
What is the difference between a job posting API and an ATS API?
A job posting API gives you postings from many employers. An ATS API (Merge, Workable, Greenhouse and others) works on the hiring data of an employer or of a customer who has authorised you, including candidates and applications. Use the first to show or analyse the market, the second to integrate with a customer's hiring workflow.
What does "employer-direct" mean?
The posting is read from the employer's own ATS or careers page, so the apply link belongs to the employer, not to a board or an aggregator. It reduces duplicates and reposts, but it can miss roles posted only on boards. Job Opportunities API is built on this model.
Which job APIs report closed or expired jobs?
Per their own pages on 3 October 2026: TheirStack, Fantastic.jobs, Coresignal, jobdataAPI (Pro tier and above), Techmap (history in datasets) and Job Opportunities API (closed roles kept with a closure date and a reason). JSearch, Adzuna, Reed and The Muse do not state it.
Can I resell or display job data?
Rules differ. Adzuna requires attribution, Remotive bars passing its jobs to Google Jobs and LinkedIn, and jobdataAPI and JSearch bar competing standalone data products. Always read the licence for your exact use.
Verification log
Everything about other vendors was read from their own pages on 3 October 2026 (the access date for every link above), by fetching the page or documentation directly. Sites read: theirstack.com, docs.coresignal.com, fantastic.jobs, trysignalbase.com, jobdataapi.com, jobdatafeeds.com and techmap.io, openwebninja.com, developer.adzuna.com, brightdata.com, apify.com, merge.dev, docs.greenhouse.io, github.com/lever/postings-api, developers.ashbyhq.com, workable.readme.io, developer.usajobs.gov, reed.co.uk, arbeitnow.com, github.com/remotive-com/remote-jobs-api, linkup.com, lightcast.io, learn.microsoft.com (LinkedIn Job Posting API).
Not verified, so not claimed: Indeed's current docs (HTTP 403 to automated fetch), Jooble's API page (blocked), Textkernel Jobfeed (page did not render), Coresignal's terms (unreadable), whether the TheirStack and Coresignal free tiers need a card (not stated), and Adzuna's paid pricing (not published). Lever's and Remotive's documentation was read from the vendors' own GitHub repositories.
We will re-check this guide at least quarterly; the date at the top moves only when we have re-read the sources.
Competitors change their pricing and we will not always notice on the day. If something here is wrong, tell us at /contact and it gets corrected.