Best jobs API: 7 job postings APIs an agent can call
Seven jobs API options for LinkedIn jobs, Google Jobs and career site postings, compared by source, fields and live price, for job apps and sales teams.
The looot team · , updated · 12 min read
On this page
A jobs API returns job postings as data: title, company, location, posted date and a link, sometimes the full description and salary. Two kinds of people want one. Builders of job search apps want fresh listings a candidate can apply to. Sales teams want to know which companies are hiring for a role, because a new opening for a data engineer can mean a budget for data tools.
This post ranks seven job postings APIs from the looot catalog. Each searches a different source: LinkedIn jobs, Google Jobs, company career sites, or the provider's own index. You get a comparison table, live prices, a ranking method, a decision guide split by those two uses, a prompt and a FAQ.
Best jobs API: the short answer
The right pick depends on the source you need and whether a row is a listing or a sales signal.
- Anysite, best for LinkedIn job search with filters for industry, job type, work type and experience level.
- AnyAPI, best for a thin LinkedIn index of title, company, location, date and URL at a flat price per request.
- HarvestAPI, best for LinkedIn search plus a second call that fetches one job's details by ID or URL.
- PredictLeads, best for finding openings by O*NET profession across companies in a location.
- SerpApi, best for Google Jobs listings, each with the site it came from and apply options.
- TheirStack, best for sales teams that want job posts from career sites with the company domain attached.
- Enrich Layer, best for listing every job one known company has posted.
| Provider | Source it searches | What the endpoint returns | Extra capabilities in the catalog | Billing unit |
|---|---|---|---|---|
| Anysite | LinkedIn jobs | Job postings matching keywords and filters | LinkedIn job details by ID | Per result |
| AnyAPI | LinkedIn jobs | Title, company, location, posted date, URL | A full LinkedIn jobs endpoint with salary and description | Per call |
| HarvestAPI | LinkedIn jobs | Jobs by title, company and location | Job details by ID or URL, LinkedIn company profiles | Per call |
| PredictLeads | Its own index of openings | Openings by O*NET profession and company location, last year only | A company's openings by domain, technographics, funding, news | Per result |
| SerpApi | Google Jobs | Title, company_name, location, via, description, apply_options | Google search, news, Maps | Per call |
| TheirStack | Company career sites and job boards | company, company_domain, cities, avg_annual_salary_usd, closed_at | Buying intents, technographics, company search | Per result |
| Enrich Layer | One company's job list | Jobs posted by a company | Job count per company, job profile, company enrichment | Per call |
Prices are read from the catalog when the page loads. The second table bills per result, so its number is the price of one row, not one request.
How we ranked these job postings APIs
We read the public looot catalog on 2026-11-04 and kept the providers with an endpoint tagged jobs_search that the blog can price. We ordered them by the live price of that endpoint, cheapest first. For a provider with two jobs_search endpoints, AnyAPI, we used the cheaper one.
Per result providers are placed by the price of one result. That is the floor of a call. A call that returns 25 rows costs 25 times that floor, so read the billing unit before you compare rows across the two tables. The tie break, had one been needed, was the number of related capabilities the provider has in the catalog.
We did not run these endpoints for this post. The catalog publishes no measured success rate or speed for them, so we rank on neither. The catalog also lists an Adzuna job search endpoint that is not in the blog's provider snapshot, so it is left out.
1. Anysite, best for filtered LinkedIn search
The endpoint anysite-api-linkedin-search-jobs searches LinkedIn job postings. You send keywords, location, company, industry, job_types, work_types or experience_level, and count sets how many results come back. The catalog says it bills one credit per 25 results.
Best for
- A job app that filters remote, senior roles in one industry.
- Pulling a few hundred LinkedIn listings for a market scan.
Strengths
- The most filters named in any LinkedIn description here.
- A second endpoint fetches one job's full details when a row looks promising.
Limits
- LinkedIn only. Postings that live on a company's career page and nowhere else will not show up.
- It bills per result, so a large count raises the cost of one call.
Does not fit a sales team that needs the company's domain on every row to join it to a CRM.
2. AnyAPI, best for a cheap LinkedIn index
The endpoint anyapi-run-linkedin-jobs-thin is a thin index of LinkedIn jobs. It returns title, company, location, posted date and URL. The catalog says the price is flat per request, whatever the number of results. A second endpoint, anyapi-run-linkedin-jobs, returns full records with description, salary, applicant count, seniority, company details and benefits, up to 25 jobs per request, at a higher price.
Best for
- Counting how many openings match a title in a city.
- A first pass that finds URLs, then fetches detail only for the rows you keep.
Strengths
- Flat pricing per request makes a loop's cost easy to predict.
- The catalog says three independent lanes serve the thin index, tried in order when one fails.
Limits
- The thin index has no description, salary, applicant count or seniority.
- The full endpoint has one lane, so a failed attempt has nowhere to fail over.
Does not fit a job app that must show the description on the first screen.
3. HarvestAPI, best for search then detail on LinkedIn
The endpoint harvestapi-job-search searches LinkedIn jobs by title, company, location and more. A sibling endpoint, harvestapi-job, takes a job ID or URL and returns that job's details. Both bill per call.
Best for
- Two step flows: search for ids, then fetch the jobs a user clicks.
- Pairing job rows with LinkedIn company profiles from the same provider.
Strengths
- Search and detail come from one provider, so ids match between calls.
- Related LinkedIn endpoints sit next to it, including company and people search.
Limits
- The catalog description is short and does not list the returned fields. Run one call and read the response before you build on it.
- LinkedIn only.
Does not fit anyone who needs listings from Google Jobs or career sites.
4. PredictLeads, best for openings by profession
The endpoint predictleads-discover-job-openings returns job openings filtered by profession, using O*NET occupation codes such as "Sales Engineers", and by the company's location. The catalog says it returns only openings found within the last year and gives an estimated count of all results.
Best for
- Finding every company in a region hiring sales engineers.
- Sizing a market by how many companies post one kind of role.
Strengths
- Profession codes group titles that companies word differently.
- A second endpoint lists one company's openings by domain, with first_seen_at and last_seen_at dates.
Limits
- Openings older than a year are not returned.
- The total is an estimate, not an exact count.
Does not fit a job seeker app, since filtering by O*NET codes is a research view, not a candidate view.
5. SerpApi, best for listings from many boards
The endpoint serpapi-google-jobs returns Google Jobs listings as jobs_results with title, company_name, location, via, description, detected_extensions and apply_options. The via field names the site the listing came from. The response is raw SerpApi JSON.
Best for
- A job app that wants listings from many boards in one search.
- Showing the candidate where to apply through apply_options.
Strengths
- One search covers the sites Google Jobs lists, and via names each one.
- The same provider covers Google search and news when a job row needs context.
Limits
- A search with no listings returns an error message and still counts as a paid search.
- The raw JSON has no company domain, so joining rows to a CRM needs another lookup.
Does not fit sales teams that want closed dates or salary in a fixed field.
6. TheirStack, best for hiring as a buying signal
The endpoint theirstack-jobs-search searches job postings from company career sites and job boards. You filter by job_title_or, job_title_not, description keywords or company, and page with limit, page or cursor. It returns company, company_domain, cities, avg_annual_salary_usd and closed_at.
Best for
- Finding companies whose job descriptions mention a tool you sell against.
- Building an account list from openings, keyed by domain.
Strengths
- company_domain on every row joins straight to a CRM.
- The same provider returns technologies and buying intent topics per company, each with the number of job posts that mention it.
Limits
- It bills per result, so set limit before a broad search.
- It is built for company research, not for candidates applying to jobs.
Does not fit a consumer job board. See the TheirStack MCP page for its other endpoints.
7. Enrich Layer, best for one company's job list
The endpoint enrichlayer-api-company-job lists the jobs posted by one company. The catalog says each successful request costs two Enrich Layer credits. The description does not name the source it reads.
Best for
- Checking what a target account is hiring for before a call.
- Pairing with Enrich Layer's job count endpoint to see who is growing.
Strengths
- One call answers "what is this company hiring for" without a keyword search.
- People search, email finding and company enrichment sit at the same provider.
Limits
- It starts from a company, so it cannot discover companies you do not know yet.
- The description is one line and lists no fields. Run one call first.
Does not fit anyone searching jobs by title across a market.
How to choose a jobs API
Split on who reads the rows. A candidate wants a listing they can apply to. A seller wants a company that is spending.
Are you building for job seekers?
Pick by source. For LinkedIn, start with AnyAPI's thin index and fetch detail only for kept rows, or use Anysite when users need filters. For the widest spread of boards, use SerpApi's Google Jobs, which returns apply options.
Are you using hiring as a buying signal?
Use TheirStack when you search by keywords in job descriptions and need the company domain. Use PredictLeads when you search by profession across a region. Use Enrich Layer when you already have the account list and want each company's open jobs. The job postings use case covers the same job.
How many rows per run?
Per call providers cost the same for one row or many. Per result providers scale with the rows. For thousands of rows, read both live tables and set a row cap in your prompt.
Do you watch the same companies over time?
Watching a list of companies for new openings needs scheduled runs, not available yet, so run it by hand. The hiring signal watch recipe shows the steps.
| Your need | Pick | Why |
|---|---|---|
| Filtered LinkedIn search | Anysite | Industry, job type, work type and experience filters |
| Cheapest LinkedIn pass | AnyAPI | Flat price per request on the thin index |
| LinkedIn search, then details | HarvestAPI | Search and detail by ID from one provider |
| Openings by profession | PredictLeads | O*NET codes and company location |
| Many boards at once | SerpApi | Google Jobs with apply options |
| Accounts that are hiring | TheirStack | company_domain and description keyword filters |
| One known company | Enrich Layer | Lists that company's jobs |
Try it
- Connect your agent to looot once with the setup line in the prompt below.
- Ask it to search the catalog for "search job postings". It returns each endpoint with its inputs, unit and price.
- Give it one query, for example "data engineer jobs in Berlin", and two providers to compare.
- Read the side by side table. Check the source column and the fields each row carries.
- Run the one that fits on the full list, with a row cap and a budget in the prompt.
Prompt for your agent
Search job postings and compare two providers
Every endpoint above is in the public catalog, no sign in needed.
What this post does not cover
It covers job search and company job lists. It does not cover posting jobs to boards, applicant tracking systems or resume parsing. It makes no claim about how fresh or complete any source is, because the catalog publishes no measured rate for these endpoints. Re-running a search on a timer is not possible today. Job APIs in the live catalog that are not in the blog's provider snapshot, dated 2026-10-12, are left out until the snapshot is refreshed.
Last checked 2026-11-04 against the public catalog at https://api.looot.ai/v1/public-catalog. Author: the looot team.
Questions
Keep reading
Best lead generation tools, ranked by search price
B2B lead generation tools compared by what each searches, the filters it takes and its live price per result, read from the looot catalog.
The looot team · · 12 min read
AI sales agent: the data jobs it can do today
What an AI sales agent can do with live data today: find companies, find and verify emails, enrich lists and research accounts, and where a human decides.
Walid Boulanouar · · 8 min read
Best MCP servers for sales and data work
Seven MCP servers for prospecting and web data, Apollo, Hunter, Firecrawl, Exa, Bright Data, Apify and looot, with how each signs in and its limit.
The looot team · · 14 min read
Try it with the agent you already use
Start your workspace, top up, and paste one prompt into your agent.


