New The MCP server is live: all 44 APIs in Claude, Cursor or any MCP client. Connect your agent

Scrape any public job posting as clean JSON

Indeed Jobs API

The Indeed Jobs API turns any public Indeed job posting into structured JSON with a single GET request. Job title, company, location, salary range, job type, benefits, full description and posting date, scraped live with no publisher account, partner agreement or proxies on your side.

Indeed retired its public Job Search API and now reserves data access for select partners. This Indeed scraper API works on any public posting URL: pass it with your key and get the live job record back, including the salary data Indeed displays or estimates. Most requests complete synchronously in 5-45 seconds.

Free tier included, no credit card required. One key works across every API.

At a glance

Indeed Jobs API

25 credits / call
Free calls / month
40
Endpoints
2
Response Time
5-45s
Data Freshness
Live
Get your free API key

40 free calls on the free plan

Key features

  • Any public job posting, no publisher or partner program
  • Live scraping on every request, closed jobs detected immediately
  • Salary ranges as displayed or estimated by Indeed
  • Full job description text, benefits and job type
  • Company name, rating and location data
  • fields= selection to trim responses to just what you need
  • Enterprise scraping infrastructure handles blocks on our side

Built for

  • Salary benchmarking and compensation research
  • Labor market analytics and trend tracking
  • Competitor hiring intelligence
  • Job board aggregation and enrichment
  • Recruiting datasets for sourcing tools

MCP · for your agent

Hand the Indeed Jobs API to your agent

Connect Claude, Cursor or any MCP client once, then ask in plain words. Your agent finds this API, reads its docs and makes the call: 25 credits per call, the same as REST, from your team's balance.

Benchmark a salary band

“Pull the pay ranges from these Indeed and LinkedIn postings for senior backend engineers in Austin to set our offer band.”

list_apis · get_api_docsfree

api_request GET /indeed/v1/job?url=https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8 25 cr

+ Advanced LinkedIn API25 cr

Listed pay ranges with title, company and job type, summarized into a proposed band.

Read a competitor's hiring plans

“Globex just posted a Head of Payments role on Indeed. What does the description reveal about their plans?”

list_apis · get_api_docsfree

api_request GET /indeed/v1/job?url=https://www.indeed.com/viewjob?jk=9f8e7d6c5b4a3f2e 25 cr

The full posting with location and requirements, summarized into strategic signals.

Tailor a job application

“Compare my resume with this Indeed posting for a product analyst role. Which skills am I missing?”

list_apis · get_api_docsfree

api_request GET /indeed/v1/job?url=https://www.indeed.com/viewjob?jk=0a1b2c3d4e5f6a7b 25 cr

+ Skill Parser API25 cr

The posting's requirements matched against your resume, with the missing skills listed.

$ claude mcp add --transport http apicodex https://mcp.apicodex.io

Illustrative asks; the calls and prices are real. Claude, Cursor, VS Code and Windsurf setup: mcp.apicodex.io

Try it

Build the request for your data

Edit the parameters below and see the exact request and curl command you'd send. No key required to preview.

GET /indeed/v1/job
Open in Playground

Parameters

Request · HTTP
GET /indeed/v1/job?url=https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8 HTTP/1.1
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
Response · JSON 200 OK
{
  "type": "job",
  "url": "https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8",
  "data": {
    "title": "Senior Backend Engineer",
    "company": "Datadog",
    "company_rating": 3.9,
    "location": "New York, NY (Hybrid)",
    "salary": "$150,000 - $200,000 a year",
    "job_type": "Full-time",
    "benefits": ["401(k)", "Health insurance", "Unlimited PTO"],
    "posted_at": "2026-08-14",
    "description": "We are looking for a Senior Backend Engineer to build the ingestion pipeline..."
  }
}

Documentation

Indeed Jobs API Documentation

Pass an Indeed job posting URL and get a complete, structured JSON record back in a single request. All endpoints are GET, and fields= lets you keep only the top-level fields you need. If a scrape exceeds the sync window you get HTTP 202 with a snapshot_id to resolve via /v1/result.

Base URL

url
https://api.apicodex.io/indeed

Authentication

Create a key at apicodex.io/register and send it as an X-Api-Key header (or an ?apikey= query parameter) on every request. No Indeed account or publisher credential is ever involved.

headers
GET /indeed/v1/job?url=https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8
X-Api-Key: YOUR_API_KEY

Request and response

Illustrative values. Confirm current endpoint behavior, quotas, and data freshness in the API documentation before production use.

request · http
GET /indeed/v1/job?url=https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8 HTTP/1.1
Host: api.apicodex.io
X-Api-Key: YOUR_API_KEY
response · json
{
  "type": "job",
  "url": "https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8",
  "data": {
    "title": "Senior Backend Engineer",
    "company": "Datadog",
    "company_rating": 3.9,
    "location": "New York, NY (Hybrid)",
    "salary": "$150,000 - $200,000 a year",
    "job_type": "Full-time",
    "benefits": ["401(k)", "Health insurance", "Unlimited PTO"],
    "posted_at": "2026-08-14",
    "description": "We are looking for a Senior Backend Engineer to build the ingestion pipeline..."
  }
}

Code examples

cURL
curl --request GET \
  --url 'https://api.apicodex.io/indeed/v1/job' \
  --data-urlencode 'url=https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8' \
  --get \
  --header 'X-Api-Key: YOUR_API_KEY'

Available Endpoints

GET /v1/job

Scrape a job posting by URL: title, company, salary, location, job type, benefits, description.

/v1/job?url=https://www.indeed.com/viewjob?jk=a1b2c3d4e5f6a7b8

GET /v1/result

Fetch a pending result using the snapshot_id from a 202 response.

/v1/result?snapshot_id=s_abc123

Request Parameters

Required parameters

  • url Indeed job posting URL to scrape (a /viewjob?jk=... URL, any country domain). Required on /v1/job.

Optional parameters

  • fields Comma-separated top-level fields to keep, e.g. fields=title,company,salary,location.
  • snapshot_id /v1/result only: the id returned by a 202 response.

Pricing

Indeed Jobs API Pricing

This API costs 25 credits per request. Credits are shared across every API on your plan.

Cost estimator

requests per month → cheapest plan that covers it

Estimate your monthly cost

Drag the slider to match your expected request volume. We'll recommend the cheapest plan that covers it.

10,000

Recommended plan

Starter

$29.99 /month

Credits used
Credits included
Cost per 1K requests
Choose Starter

Free

Free
1,000 credits · ~40 requests/mo · 2 rps
  • All APIs included
  • No credit card required
  • Full documentation and examples
  • MCP server for your AI agents
  • Up to 5 active API keys
Start for free

Starter

Popular
$29.99 /month
50,000 credits · ~2,000 requests/mo · 10 rps
  • All APIs included
  • Email support
  • Usage dashboard and analytics
  • MCP server for your AI agents
  • Up to 5 active API keys
Start with Starter

Pro

$99.99 /month
250,000 credits · ~10,000 requests/mo · 25 rps
  • All APIs included
  • Priority support
  • MCP server for your AI agents
  • Up to 5 active API keys
Start with Pro

Need a different plan?

Tell us about your API, volume, or support requirements.

Contact us

FAQ

Frequently asked questions

Ready to integrate Indeed Jobs?