Indeed API
The Indeed API returns live job listings, salary data and company profiles as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary jobs/search endpoint returns jobs with jobkey, title, company, location, remote flag, employment types, job level and salary range, and you can pull a single job, a company profile, company reviews and salaries, and an estimated salary for a role. It is built for recruiting tools, labor-market analysts and job boards that need live Indeed data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, jobs/search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/indeed/v1/jobs/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "python developer",
"location": "New York",
"country": "US",
"max_results": 60
}
}{
"ok": true,
"meta": {
"api": "indeed",
"endpoint": "jobs/search",
"mode": "live",
"latency_ms": 2017.7,
"record_count": 60,
"bytes": 0,
"cache_hit": false
},
"data": {
"jobs": [
{
"jobkey": "[redacted-phone]b74e4a",
"indeed_url": "https://www.indeed.com/viewjob?jk=[redacted-phone]b74e4a",
"search_query": "python developer",
"search_country": "US",
"title": "Senior Associate - Developer Engineer",
"normalized_title": null,
"company": "New York Life",
"company_rating": null,
"company_review_count": null,
"company_logo_url": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/977b8c576b59e94555a5f6bbb0270201",
"company_url": "https://www.indeed.com/cmp/New-York-Life",
"company_industry": null,
"company_employees": "10,000+",
"company_revenue": "more than $10B (USD)",
"company_description": "For over 175 years, New York Life has helped people act on their love through offerings such as life insurance, retirement services, investments, and long-term care insurance.",
"company_website": "https://www.newyorklife.com",
"formatted_location": "New York, NY",
"city": "New York",
"state": "NY",
"postal_code": null,
"country": "US",
"remote": true,
"location": null,
"salary_text": null,
"salary_min": 100000,
"salary_max": 143000,
"salary_period": "YEARLY",
"salary_currency": "USD",
"salary_source": "EMPLOYER",
"salary_yearly_min": 100000,
"salary_yearly_max": 143000,
"salary_usd_yearly_normalized": null,
"salary_range": null,
"posted_relative": null,
"posted_iso": "[redacted-phone]",
"posted_epoch_ms": 1782363600000,
"valid_through": null,
"sponsored": false,
"urgently_hiring": false,
"new_job": false,
"expired": false,
"indeed_apply": false,
"apply_url": "https://careers.newyorklife.com/careers/job/42742531",
"external_apply_url": "https://careers.newyorklife.com/careers/job/42742531",
"snippet_html": null,
"snippet_text": null,
"description_html": "<div><div><div><div><h2 class=\"jobSectionHeader\"><b>Job Description</b></h2>\n</div></div><div><div><div><h4 class=\"jobSectionHeader\"><b>Requisition ID</b></h4>\n<div>94321</div>\n</div><div><h4 class=\"jobSectionHeader\"><b>Department</b></h4>\n<div>Tech Data AI Ventures</div>\n</div><div><h4 class=\"jobSectionHeader\"><b>Job Function</b></h4>\n<div>Tech Data AI Ventures</div>\n</div><div><h4 class=\"jobSectionHeader\"><b>Location</b></h4>\n<div>New York,New York,United States</div>\n</div><div><h4 class=\"jobSectionHeader\"><b>Role Location Designation</b></h4>\n<div>Hybrid - 3 days per week</div><br>\n</div><",
"description_text": "Job Description Requisition ID 94321 Department Tech Data AI Ventures Job Function Tech Data AI Ventures Location New York,New York,United States Role Location Designation Hybrid - 3 days per week Location Designation: Hybrid - 3 days per week Role Overview New York Life is seeking a highly motivated and forward-thinking Senior Associate –Developer Engineer to join our technology organization. This role is ideal for an experienced engineer who combines deep mainframe expertise with modern software engineering practices and a passion for continuous learning. As a senior member of the engineerin",
"indeed_skills": [
"Spring Boot",
"Bachelor's degree in management information systems",
"Version control"
],
"benefits": [
"Yearly bonus"
],
"employment_types": [],
"job_level": "Senior level",
"work_schedule": null,
"onet_skills": null,
"ai_summary": null
},
{
"jobkey": "4a903b480e04c419",
"indeed_url": "https://www.indeed.com/viewjob?jk=4a903b480e04c419",
"search_query": "python developer",
"search_country": "US",
"title": "Senior Executive Director of Software Engineering - Data Platforms | Workforce and Experience Technology (WXT)",
"normalized_title": null,
"company": "JPMorganChase",
"company_rating": null,
"company_review_count": null,
"company_logo_url": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/62e186e96c[redacted-phone]ef6880fae379",
"company_url": "https://www.indeed.com/cmp/Jpmorganchase-2",
"company_industry": null,
"company_employees": "10,000+",
"company_revenue": "more than $10B (USD)",
"company_description": "Headquartered in New York City, JPMorgan Chase is the largest bank in the United States.",
"company_website": "https://www.jpmorganchase.com/",
"formatted_location": "New York, NY 10172",
"city": "New York",
"state": "NY",
"postal_code": "10172",
"country": "US",
"remote": false,
"location": null,
"salary_text": null,
"salary_min": 232750,
"salary_max": 325000,
"salary_period": "YEARLY",
"salary_currency": "USD",
"salary_source": "EMPLOYER",
"salary_yearly_min": 232750,
"salary_yearly_max": 325000,
"salary_usd_yearly_normalized": null,
"salary_range": null,
"posted_relative": null,
"posted_iso": "[redacted-phone]",
"posted_epoch_ms": 1784350800000,
"valid_through": null,
"sponsored": false,
"urgently_hiring": false,
"new_job": false,
"expired": false,
"indeed_apply": false,
"apply_url": "https://JPMorganChase.contacthr.com/[redacted-phone]",
"external_apply_url": "https://JPMorganChase.contacthr.com/[redacted-phone]",
"snippet_html": null,
"snippet_text": null,
"description_html": "<div><b>JOB DESCRIPTION</b><br>\n<br>\n<br>\n<p>You will be poised to achieve extraordinary success and make a high impact on those around you through data solutions. Partner with an organization comprised of the industry's thought leaders and committed to advancing your leadership career.\n</p><p></p><p>As a Senior Director of Software Engineering at JPMorganChase within the Employee Platforms, Workforce Experience Technology (WxT) Workforce Data and Analytics (WDA) team, you lead multiple technical areas, manage the activities of multiple departments, and collaborate across technical domains. Yo",
"description_text": "JOB DESCRIPTION You will be poised to achieve extraordinary success and make a high impact on those around you through data solutions. Partner with an organization comprised of the industry's thought leaders and committed to advancing your leadership career. As a Senior Director of Software Engineering at JPMorganChase within the Employee Platforms, Workforce Experience Technology (WxT) Workforce Data and Analytics (WDA) team, you lead multiple technical areas, manage the activities of multiple departments, and collaborate across technical domains. Your expertise is applied cross-functionally ",
"indeed_skills": [
"Data integrity assurance",
"Cost management",
"Commission pay"
],
"benefits": [
"Health insurance",
"Tuition reimbursement"
],
"employment_types": [
"Full-time"
],
"job_level": "Senior level",
"work_schedule": null,
"onet_skills": null,
"ai_summary": null
},
{
"jobkey": "fa7d6f6db028664f",
"indeed_url": "https://www.indeed.com/viewjob?jk=fa7d6f6db028664f",
"search_query": "python developer",
"search_country": "US",
"title": "Principal Agile Coach",
"normalized_title": null,
"company": "Metropolitan Transportation Authority",
"company_rating": null,
"company_review_count": null,
"company_logo_url": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/80a263f4cedc4492e628479e5d010de6",
"company_url": "https://www.indeed.com/cmp/Metropolitan-Transportation-Authority-7",
"company_industry": null,
"company_employees": "10,000+",
"company_revenue": null,
"company_description": "We move the region that moves the world.",
"company_website": "https://new.mta.info/",
"formatted_location": "New York, NY 10004",
"city": "New York",
"state": "NY",
"postal_code": "10004",
"country": "US",
"remote": false,
"location": null,
"salary_text": null,
"salary_min": 142251,
"salary_max": 167902,
"salary_period": "YEARLY",
"salary_currency": "USD",
"salary_source": "EMPLOYER",
"salary_yearly_min": 142251,
"salary_yearly_max": 167902,
"salary_usd_yearly_normalized": null,
"salary_range": null,
"posted_relative": null,
"posted_iso": "[redacted-phone]",
"posted_epoch_ms": 1784264400000,
"valid_through": null,
"sponsored": false,
"urgently_hiring": false,
"new_job": false,
"expired": false,
"indeed_apply": false,
"apply_url": "https://careers.mta.org/jobs/18009077-principal-agile-coach?tm_job=16585&tm_event=view&tm_company=47560",
"external_apply_url": "https://careers.mta.org/jobs/18009077-principal-agile-coach?tm_job=16585&tm_event=view&tm_company=47560",
"snippet_html": null,
"snippet_text": null,
"description_html": "<div><p><b>Description</b><br>\n</p><br>\n<br>\n<div><div><p>JOB TITLE:</p><p><br>\nPrincipal Agile Coach</p></div><div><p><br>\nSALARY RANGE:</p><p><br>\n$142,251 - $167,902</p></div><div><p><br>\nDEPT/DIV:<br>\n</p><p>Information Technology</p></div><div><p><br>\nSUPERVISOR:<br>\n</p><p>Director, Portfolio & Prog Mgmt</p></div><div><p><br>\nLOCATION:</p><p><br>\n2 Broadway, New York, NY 10004</p></div><div><p><br>\nHOURS OF WORK:<br>\n</p><p>9:00 am - 5:30 pm (7.5 hours/day) or as required</p></div></div><p></p><p><br>\nThis position is eligible for teleworking, which is currently 2 days per week. New ",
"description_text": "Description JOB TITLE: Principal Agile Coach SALARY RANGE: $142,251 - $167,902 DEPT/DIV: Information Technology SUPERVISOR: Director, Portfolio & Prog Mgmt LOCATION: 2 Broadway, New York, NY 10004 HOURS OF WORK: 9:00 am - 5:30 pm (7.5 hours/day) or as required This position is eligible for teleworking, which is currently 2 days per week. New hires are eligible to apply 30 days after their effective date of hire. Opening: The Metropolitan Transportation Authority is North America's largest transportation network, serving a population of 15.3 million people across a 5,000-square-mile travel area",
"indeed_skills": [
"Jira",
"Performance dashboard reports",
"SAFe"
],
"benefits": [],
"employment_types": [],
"job_level": "Senior level",
"work_schedule": null,
"onet_skills": null,
"ai_summary": null
}
]
}
}What the Indeed API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| jobs/search | Search live job postings on Indeed by keyword and location. Each result includes the full job description, salary range, employer details, posting date, apply link, employment type and remote flag. Filter by job type, remote/hybrid, seniority, posting date and radius. Covers 60+ Indeed country sites. | Recruiting teams call jobs/search to search live job postings on Indeed by keyword and location. | query, country, location, max_results, sort_by, ... |
| job | Get the full detail of one or more specific jobs by their Indeed job key (or job URL). Returns the complete job description, salary, employer details, location, posting date, skills, benefits and apply link for each. Pass several keys at once to fetch them in a single call. | Labor-market analysts call job to get the full detail of one or more specific jobs by their Indeed job key (or job URL). | jobkey, country |
| company | Look up a company on Indeed: profile (industry, size, revenue, HQ, founded year, description, website), reputation (overall rating, review count, CEO approval) and optionally the company's open jobs. | Job boards call company to look up a company on Indeed. | company, country, include_jobs, max_jobs |
| company/search | Find companies on Indeed by name or keyword (optionally near a location). Returns a ranked list of companies with each one's overall rating, review count, industry sectors, logo and links to its Indeed profile, jobs, reviews and salaries pages. | Sales intelligence teams call company/search to find companies on Indeed by name or keyword (optionally near a location). | query, country, location, max_results |
| company/reviews | Get a company's employee reviews from Indeed (review text, overall rating, the 5 sub-ratings — work/life balance, compensation, management, culture, job security — job title, location and date). Pass the company name or Indeed /cmp slug; paginate with `start`. | Recruiting teams call company/reviews to get a company's employee reviews from Indeed (review text, overall rating, the 5 sub-ratings. | company, max_reviews, start, sort |
| company/salaries | Get a company's salary breakdown by job title from Indeed (average pay, pay period and the number of salaries reported per role). Pass the company name or Indeed /cmp slug. | Labor-market analysts call company/salaries to get a company's salary breakdown by job title from Indeed (average pay, pay period and the nu…. | company |
| estimated_salary | Estimate the market salary for a job title (optionally in a specific US location) from Indeed's salary data — median/mean/min/max/std + sample size + average cash bonus, plus the top-paying companies, top-paid cities, related job titles and a per-US-state average map. Both the location-specific estimate and the national estimate are returned. | Job boards call estimated_salary to get estimate the market salary for a job title (optionally in a specific US location) from Indeed…. | job_title, location |
Call jobs/search from your stack
curl -X POST https://api.reefapi.com/indeed/v1/jobs/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"python developer","location":"New York","country":"US","max_results":60}'import requests
r = requests.post(
"https://api.reefapi.com/indeed/v1/jobs/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "python developer",
"location": "New York",
"country": "US",
"max_results": 60
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/indeed/v1/jobs/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "python developer",
"location": "New York",
"country": "US",
"max_results": 60
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.indeed.jobs/search with {"query":"python developer","location":"New York","country":"US","max_results":60}.Who uses this API and why
- Job boards call jobs/search to aggregate fresh listings by role, location and remote status.
- Compensation tools use estimated_salary and company/salaries to benchmark pay for a title.
- Sales-intelligence teams use company and jobs/search to detect hiring signals at target accounts.
Questions developers ask before integrating
What is the Indeed API?
Indeed API is a ReefAPI endpoint group for job search and company profiles. It returns live JSON through POST requests under /indeed/v1.
Is the Indeed API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Indeed calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Indeed login or account?
No login to Indeed is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Indeed data?
The page example is captured from a live jobs/search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Indeed API use?
Indeed actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Indeed from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call indeed actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Indeed API a Indeed scraper?
It is the managed alternative to a DIY Indeed scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same job search and company profiles back as clean JSON.
Why does my Indeed scraper keep getting blocked?
Most Indeed scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.