# 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.

## Summary

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.

Jobs search, providers that bill per call. Prices read on 2026-11-10 from the live looot catalog. They change when a provider changes its price.

| Option | Cheapest provider | Price per call |
|---|---|---|
| AnyAPI | AnyAPI | $0.0005 per call |
| HarvestAPI | HarvestAPI | $0.0040 per call |
| SerpApi | SerpApi | $0.0250 per call |
| Enrich Layer | Enrichlayer | $0.0528 per call |

Jobs search, providers that bill per result. Prices read on 2026-11-10 from the live looot catalog. They change when a provider changes its price.

| Option | Cheapest provider | Price per result |
|---|---|---|
| Anysite | none priced | no price |
| PredictLeads | PredictLeads | $0.0100 per result |
| TheirStack | TheirStack | $0.0327 per result |

## 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](https://looot.ai/mcp/theirstack) 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](https://looot.ai/use-cases/job-postings-api) 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](https://looot.ai/recipes/hiring-signal-watch) 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

1. Connect your agent to looot once with the setup line in the prompt below.
2. Ask it to search the catalog for "search job postings". It returns each endpoint with its inputs, unit and price.
3. Give it one query, for example "data engineer jobs in Berlin", and two providers to compare.
4. Read the side by side table. Check the source column and the fields each row carries.
5. Run the one that fits on the full list, with a row cap and a budget in the prompt.

Every endpoint above is in the [public catalog](https://looot.ai/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

### What is a jobs API?

A jobs API returns job postings as structured data. You send a title, keywords, a location or a company, and it returns rows with the title, company, location, date and a link. Some add the description, salary or the date the job closed.

### Which jobs API is the cheapest?

The live tables above answer that, because prices change. Compare within one table only. Per result prices grow with the number of rows a call returns, and per call prices do not.

### Is there a free job postings API?

This post covers priced endpoints. Every provider ranked here charges per call or per result, and the live tables show the current price.

### Which job board API covers LinkedIn jobs?

Anysite, AnyAPI and HarvestAPI all search LinkedIn job postings. AnyAPI has a thin index and a full endpoint with salary and description. HarvestAPI and Anysite each have a separate endpoint for one job's details.

### What are the TheirStack alternatives for hiring signals?

PredictLeads finds openings by profession and location, and Enrich Layer lists one company's jobs. Neither searches description keywords the way TheirStack does. The [TheirStack alternatives page](/alternatives/theirstack) lists other options.

### How does an agent call a job postings API?

With looot, the agent searches the catalog, reads an endpoint's inputs and price, then runs it with your token. The provider's own response comes back as named fields. [The AI sales agent post](/blog/ai-sales-agent-data-jobs) shows the same flow for other prospecting jobs.

### Should I call the provider's API directly?

If you use one provider and already hold its key, calling it directly is fine. looot helps when you want to compare sources on the same query or switch providers without a new account and key for each.

### Which one handles 10,000 searches a day?

Nothing in the catalog promises a volume limit, so test first. AnyAPI's thin index bills a flat price per request, which keeps a large loop's cost predictable. Per result providers can cost far more at that volume, so cap rows per call.

### Why does this post show no success rates?

The catalog publishes no measured success rate or speed for these endpoints, so we show none. Run twenty known queries through two providers before you rely on either.

## For agents

### Search job postings and compare two providers

```text
Use looot to search job postings for "data engineer" in Berlin.
1. Set up https://looot.ai/skill.md.
2. Search the catalog for "search job postings" and list each endpoint with its source, billing unit and price.
3. Run the two cheapest on the same query with a limit of 20 and show title, company, company domain, location and posted date side by side.
4. Tell me before each call what it will cost, and stop if the total passes my budget.
```
