# Indeed API for job listings, salaries and company ratings

> Search Indeed by keyword and place and get every listing on the page with its title, company, location, posted pay, posting date and company rating. Structured JSON, priced per page.

Canonical page: https://scrapercompany.com/indeed-api. Endpoints and prices checked against the API on 2026-10-11.

Indeed is one of the largest job boards, so its listings are a standard source for job-market research, salary benchmarking, recruiting and staffing lead lists. Indeed’s APIs are for employers, agencies and applicant-tracking systems that post and manage their own jobs; none of them returns search results as data. This API runs a search on indeed.com, Indeed’s US site, and returns each listing from Indeed’s own job model.

Pay on Indeed is posted in many forms, from “$27.87 an hour” to yearly ranges. Each record keeps Indeed’s salary text and adds the minimum, maximum and period Indeed extracted from it, so hourly and yearly pay can be compared. Sponsored listings are mixed into Indeed’s results; they come labelled rather than removed. For every opening at one company, the careers endpoints read the company’s applicant-tracking system directly.

## What you get

- `jobkey`: Indeed’s id for the listing, also used in its link
- `title, company, location`: as Indeed lists them, with the location’s ZIP code when Indeed shows one
- `salary`: the pay text word for word, plus the min, max and period (hourly, yearly…) Indeed extracted
- `posted, created`: Indeed’s relative age, such as “6 days ago”, and the date the listing was created
- `company_rating, company_review_count`: the employer’s Indeed rating and how many reviews it has
- `job_types[], remote`: job types such as part-time, and whether the listing is remote
- `sponsored`: true for paid listings, which are labelled instead of dropped
- `link, snippet`: Indeed’s link to the listing and the summary from the result card

## Endpoints and price per call

| Endpoint | Method and path | What it returns | Credits per successful call | Price per call |
| --- | --- | --- | --- | --- |
| [Job search](https://scrapercompany.com/docs/reference/indeed-jobs) | `POST /v1/indeed/jobs` | One page of listings for a query and place, with radius and posting-age filters | 2 credits | $0.0020 on Starter, $0.0012 on Growth, $0.0008 on Scale |

Pricing: Free $0/month for 1,000 credits; Starter $49/month for 50,000 credits; Growth $149/month for 250,000 credits; Scale $399/month for 1,000,000 credits. Failed requests (4xx or 5xx) and empty results cost 0 credits. Free during the beta. https://scrapercompany.com/pricing

## Example

`POST /v1/indeed/jobs`, 2 credits per successful call.

```bash
curl -X POST "https://api.scrapercompany.com/v1/indeed/jobs" \
  -H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "q": "hotel jobs"
  }'
```

Response (trimmed):

```json
{
  "search_parameters": {
    "engine": "indeed_jobs",
    "q": "hotel jobs",
    "location": "Chicago, IL",
    "page": 1
  },
  "jobs_results": [
    {
      "jobkey": "8f0ec6e87b6ba389",
      "title": "Front Desk Agent",
      "company": "Marriott International, Inc",
      "location": "Chicago, IL 60616",
      "salary": {
        "text": "$27.87 an hour",
        "min": 27.87,
        "max": 27.87,
        "period": "HOURLY"
      },
      "posted": "6 days ago",
      "created": "2029-03-01",
      "company_rating": 4,
      "company_review_count": 26245,
      "job_types": [],
      "remote": false,
      "sponsored": false,
      "link": "https://www.indeed.com/rc/clk?jk=8f0ec6e87b6ba389",
      "snippet": "Process all guest check-ins by confirming reservations, assigning room…"
    },
    {
      "jobkey": "e3479bc018d43229",
      "title": "Housekeeping Attendant",
      "company": "Sonesta International Hotels",
      "location": "Chicago, IL",
      "salary": {
        "text": "$21.00 an hour",
        "min": 21,
        "max": 21,
        "period": "HOURLY"
      },
      "posted": "1 day ago",
      "created": "2029-03-06",
      "company_rating": 4.1,
      "company_review_count": 402,
      "job_types": [
        "PART_TIME"
      ],
      "remote": false,
      "sponsored": false,
      "link": "https://www.indeed.com/rc/clk?jk=e3479bc018d43229",
      "snippet": "Clean guest rooms and public areas."
    }
  ],
  "total": 2,
  "meta": {
    "source": "indeed",
    "wire_bytes": 1759431,
    "elapsed_s": 1.488
  }
}
```

## FAQ

### Does Indeed have a public API?

Not one for reading job listings. Indeed’s partner APIs, such as the Job Sync API, let applicant-tracking systems, agencies and employers post and manage their own jobs, and publishing partners get a front-end plugin that displays Indeed jobs on their site. This API is independent of Indeed and returns the listings indeed.com shows for a search, as data.

### How is salary returned?

Both as posted and as numbers. salary.text is the pay exactly as Indeed shows it, and salary.min, salary.max and salary.period are the range and period Indeed extracted from it. Listings without posted pay come back with empty salary values.

### Are sponsored jobs included?

Yes, and they are labelled. Indeed mixes paid listings into its results, and each record has sponsored set to true or false, so you can keep or drop them. Duplicate listings within one page are removed.

### Which search options are supported?

q is the search text and location is a city, a state or “remote”. radius_km sets the distance around the location, fromage_days sets the oldest posting age in days (up to 30), and page (1 to 30) moves to later pages. Use jobkey to de-duplicate listings you collect across pages and days.

### Can I get every open job at one company?

Use the company careers endpoints for that. Give a careers page or job-board URL and they find the applicant-tracking system behind it (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Workday, Recruitee or Personio) and return the open jobs on that board in one normalized shape.

### Do failed requests cost credits?

No. A failed or blocked call (any 4xx or 5xx response) costs 0 credits, and so does a search page that comes back empty. You pay only for successful results.

### How do I get an API key?

Create an account on the sign-up page. Public sign-up is invite-only during the beta, so join the waitlist there and we will email you when your account is ready. The Free plan includes 1,000 credits a month, and the API is free while it is in beta. You create and rotate keys yourself in the dashboard.

## Read next

- [Indeed job search reference](https://scrapercompany.com/docs/reference/indeed-jobs)
- [Company careers jobs reference](https://scrapercompany.com/docs/reference/careers-jobs)
- [Detect a careers page’s ATS](https://scrapercompany.com/docs/reference/careers-detect)
- [All APIs](https://scrapercompany.com/apis.md)
