Discover/Indeed API
live

Indeed APIindeed.com ↗

Search Indeed job listings, retrieve full job details, company profiles, salary ranges, and more via 5 structured API endpoints returning clean JSON.

Endpoint health
verified 13h ago
get_company_profile
search_jobs
get_salary_info
get_job_details
search_companies
5/5 passing latest checkself-healing
Endpoints
5
Updated
2d ago

What is the Indeed API?

The Indeed API exposes 5 endpoints covering job search, job details, company profiles, company search, and salary statistics from Indeed.com. The search_jobs endpoint returns paginated job cards with titles, companies, locations, and salary snippets, while get_job_details delivers the full job description, benefits, hiring insights, and structured salary data for any job identified by its 16-character job key.

This call costs10 credits / call— charged only on success
Try it
Job type filter: fulltime, parttime, contract, internship, temporary
Job title, keywords, or company name to search for
Pagination offset in increments of 10 (0, 10, 20, ...)
Experience level filter: entry_level, mid_level, senior_level
Maximum days since the job was posted: 1, 3, 7, 14, or 30
City, state, zip code, or 'remote'
Comma-separated exact company names whose postings are excluded from results, e.g. Robert Half,TEKsystems. Double quotes inside a name are ignored.
When true, excludes postings from recruiters and staffing agencies using a built-in keyword and agency-name heuristic (see endpoint description). Any value other than true/false is rejected.
→ api.parse.bot/scraper/6ec17689-852f-49ed-b969-1b787c8344e7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/6ec17689-852f-49ed-b969-1b787c8344e7/search_jobs?jt=contract&query=software+engineer&start=0&explvl=senior_level&fromage=1&location=remote' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 5 totalmissing one? ·

Search for job listings on Indeed. Returns the full search results page data including job cards with metadata (titles, companies, locations, salary snippets), pagination links, and search metadata. The response is the server-side rendered page state containing all job card data for the current page of results. Two optional exclusion controls narrow the result set on the server: exclude_staffing_agencies=true removes postings whose text matches staffing/recruitment keywords and postings from a fixed built-in list of well-known US staffing and recruiting agencies (e.g. Robert Half, TEKsystems, Insight Global, Randstad, Aerotek, Kforce, Apex Systems, Kelly, Adecco, Manpower, Jobot, CyberCoders, Motion Recruitment, Aston Carter, Express Employment Professionals, Spherion, Hays, Michael Page, LHH, Actalent); it is a keyword- and name-based heuristic, not a complete recruiter filter, so smaller or regional agencies may still appear. exclude_companies removes postings from the exact company names you supply and can be combined with exclude_staffing_agencies. When the exclusions match every result, the response is a valid empty search (totalNumResults 0, empty jobKeysWithTwoPaneEligibility, noSearchResultModel populated). One round trip per page; pagination is by the start offset.

Input
ParamTypeDescription
jtstringJob type filter: fulltime, parttime, contract, internship, temporary
queryrequiredstringJob title, keywords, or company name to search for
startintegerPagination offset in increments of 10 (0, 10, 20, ...)
explvlstringExperience level filter: entry_level, mid_level, senior_level
fromagestringMaximum days since the job was posted: 1, 3, 7, 14, or 30
locationstringCity, state, zip code, or 'remote'
exclude_companiesstringComma-separated exact company names whose postings are excluded from results, e.g. Robert Half,TEKsystems. Double quotes inside a name are ignored.
exclude_staffing_agenciesbooleanWhen true, excludes postings from recruiters and staffing agencies using a built-in keyword and agency-name heuristic (see endpoint description). Any value other than true/false is rejected.
Response
{
  "type": "object",
  "fields": {
    "pageLinks": "array of pagination link objects with href and label",
    "relatedQueries": "array of related search query suggestions",
    "noSearchResultModel": "null when the search has results; object with headerMsg and originalResultCount when nothing matched",
    "searchTitleBarModel": "object with totalNumResults count and search heading",
    "jobKeysWithTwoPaneEligibility": "object mapping job keys to boolean eligibility"
  },
  "sample": {
    "data": {
      "pageLinks": [
        {
          "href": "/jobs?q=software+engineer&l=remote&radius=50",
          "label": 1
        }
      ],
      "relatedQueries": [
        {
          "query": "software",
          "canonicalRelatedQueryUrl": "/q-software-l-remote-jobs.html"
        }
      ],
      "searchTitleBarModel": {
        "totalNumResults": 7098,
        "serpVisualHeaderText": "software engineer jobs in Remote"
      },
      "jobKeysWithTwoPaneEligibility": {
        "345959665b7dacec": true,
        "84807fa146301852": true
      }
    },
    "status": "success"
  }
}

About the Indeed API

Job Search and Details

The search_jobs endpoint accepts a required query string plus optional filters: location (city, state, zip, or 'remote'), jt for job type (fulltime, parttime, contract, internship, temporary), explvl for experience level (entry_level, mid_level, senior_level), fromage to cap results by posting age (1–30 days), and a start offset for pagination in increments of 10. The response includes searchTitleBarModel with a totalNumResults count, pageLinks for navigating result pages, relatedQueries for suggested search variants, and jobKeysWithTwoPaneEligibility mapping each job key to its eligibility flag — those keys feed directly into get_job_details.

get_job_details takes a single jk parameter (the 16-character hex job key from search results) and returns a detailed object: jobTitle, a salaryInfoModel with salaryMin, salaryMax, salaryType, and salaryText, a hiringInsightsModel covering posting age and candidate count, and a jobInfoWrapperModel containing the full job description. Additional structured fields in hostQueryExecutionResult include employer info, location, and benefits.

Company Profiles and Search

search_companies takes a query string and returns an array of company objects, each with name, rating, reviewsCount, companyUrl, sectors, and logoUrl. The companyUrl field carries the slug needed for get_company_profile. That endpoint returns aboutSectionViewModel (description, CEO, industry, headquarters, revenue), reviewsSectionViewModel with recent employee reviews, interviewsSectionViewModel with interview questions and difficulty/duration summaries, salarySectionViewModel with salary data by role category, and reviewRatingOverallSectionViewModel with historical overall ratings and category breakdowns (workLifeBalance, culture, management, and others).

Salary Data

get_salary_info accepts a required job_title and an optional location. It returns localSalaryAggregate and nationalSalaryAggregate, each containing salary statistics — median, mean, and standard deviation — broken out by period: HOURLY, DAILY, WEEKLY, MONTHLY, and YEARLY. salaryMapInfo provides a state-by-state salary breakdown with percentChangeFromBase values, and titleInfo confirms the normalized title that was resolved.

Reliability & maintenanceVerified

The Indeed API is a managed, monitored endpoint for indeed.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when indeed.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official indeed.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
13h ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate job listings by role and location for a custom job board using search_jobs with location and jt filters
  • Build a salary benchmarking tool using get_salary_info to compare local vs. national median pay by period
  • Monitor hiring volume for target companies by polling get_job_details and tracking hiringInsightsModel candidate counts
  • Enrich company research workflows with get_company_profile rating breakdowns covering culture, management, and work-life balance
  • Generate geographic salary heatmaps using the state-by-state salaryMapInfo data from get_salary_info
  • Identify related job titles and search demand using relatedQueries returned from search_jobs
  • Qualify employer targets for recruiting outreach by combining search_companies ratings and sector data with full get_company_profile details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Indeed have an official developer API?+
Indeed offers a limited Publisher API for job search affiliates (publisher.indeed.com), but it requires an approved publisher account and covers only a subset of job search functionality. The Parse API covers job search, job details, company profiles, company search, and salary data without requiring an Indeed publisher account.
How do I paginate through `search_jobs` results?+
Pass the start parameter in increments of 10 (0, 10, 20, ...). The response includes a searchTitleBarModel.totalNumResults count so you can calculate how many pages are available, and pageLinks provides the labeled href objects for each page.
What salary periods does `get_salary_info` return?+
Both localSalaryAggregate and nationalSalaryAggregate include statistics — median, mean, and standard deviation — for five periods: HOURLY, DAILY, WEEKLY, MONTHLY, and YEARLY. The salaryMapInfo field adds a state-by-state breakdown with a percentChangeFromBase value for each state.
Does the API return job application tracking data or saved job lists for Indeed user accounts?+
Not currently. The API covers public job listings, job details, company profiles, and salary data. Account-specific data such as applied jobs, saved jobs, or resume status is not exposed. You can fork this API on Parse and revise it to add an endpoint targeting that data if your use case requires it.
How current are the job listings returned by `search_jobs`?+
Freshness depends on what Indeed has indexed at the time of the request. You can filter results to recent postings using the fromage parameter, which limits results to jobs posted within 1, 3, 7, 14, or 30 days. The hiringInsightsModel in get_job_details also returns a posting age field for individual listings.
Page content last updated . Spec covers 5 endpoints from indeed.com.
Related APIs in JobsSee all →
indeed.co.in API
Search for jobs across Indeed India and access detailed information about listings, companies, salaries, and locations to help with your job hunt. Get autocomplete suggestions for job titles and places, plus salary guides and company details to make informed career decisions.
indeed.co.uk API
Search for jobs across Indeed UK and retrieve detailed information including job listings, application links, and company profiles. Access comprehensive job data to compare opportunities, learn about employers, and find direct application pathways.
ca.indeed.com API
Search for jobs across Canada and access detailed job listings, company profiles, employee reviews, and salary information all in one place. Build recruitment tools, career research applications, or job market analysis platforms with comprehensive employment data from Indeed Canada.
in.indeed.com API
Access data from in.indeed.com.
id.indeed.com API
Search and discover job openings across Indonesia with detailed information like job titles, companies, locations, salaries, and full job descriptions. Browse thousands of listings from Indeed Indonesia to find opportunities that match your career goals.
uk.indeed.com API
Search for job listings across Indeed UK and retrieve complete job details including descriptions, requirements, salary information, and application links. Filter by job type, experience level, location, remote preference, and more to find relevant opportunities.
de.indeed.com API
Access data from de.indeed.com.
fr.indeed.com API
Search job listings and get detailed information about positions, companies, and alternance opportunities on Indeed France, all in one place. Access comprehensive company profiles and job details to find your next career move or research employers.