Where Job Search Apps Get Their Listings: Job APIs Explained
If you are building a tool for job seekers, one question comes before any design work: where job search apps get their listings. An alert bot, a matching app, a CV-tailoring tool or a tracker all depend on the same thing, a steady stream of real, open roles. Get that wrong and every feature on top of it feels broken.
This guide explains the options in plain terms, so you can choose a source on purpose instead of by accident. It is written for builders. If you are a job seeker, the parts about duplicates and dead links will still tell you why some apps show you the same role five times.
A note on who we are: Erioun is built by the same small studio as Job Opportunities API (JOA) and Kaeros. We recommend JOA below as a source of employer-direct postings, so read that recommendation with this in mind. We also say where the other sources are the better choice.
The four places listings come from
Almost every job search app gets its listings in one of four ways.
1. Directly from employer systems. Most employers publish roles through an applicant tracking system (ATS) or on their own careers page. A feed built from those sources shows roles as the employer published them, with the employer's own apply link. Job Opportunities API is one source of this kind, and the one we use as our example below.
2. Scraped from job boards. Some services collect listings from large boards and resell them as a feed. You get breadth. You also get reposts, and you inherit questions about each board's terms for automated collection.
3. An aggregator's index. A few companies run a large search index of jobs and offer it through an API. They are quick to start with and often have free tiers. They usually come with display rules, such as a required attribution label.
4. Roles posted by employers on your own platform. If your app has its own employer side, you hold those listings yourself. This is the cleanest source, but only for roles that employers post to you.
Most real products mix two or three of these.
Why the source decides what your users see
Your users never see your data pipeline. They see its results.
Duplicates. One role can sit on an employer page, two boards and an aggregator. If your source mixes them without matching, your user sees the same job several times and loses trust in the list.
Dead links. A listing can stay in a feed long after the role has closed. The user applies, hears nothing, and blames the app, or themselves. If you care about silence after applying, read our piece on ghost jobs, fake postings and job ghosting.
Apply links that are not the employer's. Some feeds link to a board's page, which links to another page, which finally reaches the employer. Each hop loses people.
Missing or guessed fields. Salary, location and seniority are often missing, and some feeds fill the gaps with estimates without saying so. A user comparing offers needs to know which numbers the employer actually published.
Stale information. "Posted three weeks ago" and "confirmed open this morning" are very different promises. A good source tells you which one you are getting.
A builder's checklist
Before you commit to a source, ask these questions. Most vendors answer them on their public pages; if one does not, that is a signal too.
- Where does each posting come from: employer ATS, careers page, scraped board or aggregator?
- How often is a posting re-checked, and does the feed say when it was last confirmed open?
- Are closed or expired roles reported, so you can remove them?
- How are duplicates handled across sources?
- Does each field say whether the employer published it or it was inferred?
- Who owns the apply link?
- What do the terms allow: showing listings publicly, storing them, building something that competes with the source?
- How is it priced: per request, per record or flat? What does that cost at your real volume?
- How good is coverage in the countries your users live in? Test it before paying.
A few places to start
You do not need a budget to try a real source. Here are options we have read the public pages of, with the date we checked them: 3 October 2026. Terms and limits change, so check each page yourself. We list our own pick first and the others after it.
- Our pick for employer-direct postings: Job Opportunities API. It lists postings read from employer systems and careers pages, keeps closed roles with a closure date, and tags each field as published, inferred or absent, so your app can tell what the employer stated from what was derived. Its free Explore plan needs no card, and its coverage figures need no key, so you can test your own country before you decide. It does not carry LinkedIn or Indeed inventory, and structured salary is present on only a small share of rows, so it is not the right pick if salary data is your main feature.
- Arbeitnow's job board API needs no key and returns jobs mostly collected from applicant tracking systems. It focuses on Germany and wider Europe, so it is a good way to test your pipeline.
- The public job board APIs of Greenhouse, Lever and Ashby return one employer's open roles at a time. They are free and useful if your app follows a defined list of companies. They cannot search the whole market.
- Adzuna's developer API offers free registration with default limits of 2,500 requests a month, and its terms require a "Jobs by Adzuna" label next to displayed listings.
- JSearch searches the Google for Jobs index and lists a free tier of 200 requests a month, which is enough for a prototype.
None of these is best for everyone. If you want long history for research, look at the vendors that sell historical datasets. If you want a quick prototype, start with a free tier. If you want trustworthy apply links and closure information, favour sources that read employers directly, such as JOA. For a fuller comparison by use case, see the guide to the best job posting APIs.
A five-minute test before you commit
You can learn more from five minutes of checking than from a feature list. Try this with any source you are considering.
- Pick three employers you know: one large, one mid-size and one small, ideally in a country your users live in.
- Look up their open roles through the source, then compare with the employer's own careers page. Are the same roles there? Are any missing? Are any listed that the employer no longer shows?
- Open ten apply links. Count how many land on the employer's own application page and how many go through another site first.
- Look for the same role more than once, with slightly different titles or locations.
- Check what the source tells you about each field. Can you tell a salary the employer published from one somebody estimated?
If a source passes this test with your own data, it will probably hold up with your users.
Privacy and licence basics
Job listings are public business information, but they sometimes include a recruiter's name or email address. Treat that as personal data, store only what you need, and keep a way to remove a listing if an employer asks. Then read the licence for your exact use. Showing listings in an app, saving them in a database and passing them to another service are three different permissions, and some sources allow only the first. This is not legal advice; if the answer matters to your product, ask someone qualified.
Don't forget what happens after the click
A clean listing feed solves half of the problem. The other half starts when your user applies and the replies, silence and follow-ups begin. A good job-seeker tool treats the whole journey, from finding a role to hearing back, as one story. That is the part Erioun focuses on: an application tracker that files replies under the right role and counts silence, so a ghosted application becomes a visible status instead of a worry. If you want to see how a candidate-side tool thinks about quality, our pages on fake job openings and job quality signals show the signals we look at.
Where to go from here
Pick one source, test it with your own country and your own users, and measure duplicates and dead links before you add features. A small, honest feed beats a huge, noisy one.
If you are a job seeker rather than a builder, you can start a free tracker and keep every application, reply and follow-up in one place.
