Discover/Indeed API
live

Indeed APIid.indeed.com

Search and retrieve job listings from Indeed Indonesia. Access job titles, companies, locations, salaries, ratings, and full descriptions via 2 REST endpoints.

This API takes change requests — .
Endpoint health
verified 4d ago
get_job_details
search_jobs
2/2 passing latest checkself-healing
Endpoints
2
Updated
1mo ago

What is the Indeed API?

The Indeed Indonesia API provides access to job listings from id.indeed.com through 2 endpoints, returning up to 15 results per page with fields like title, company, location, salary, and employer rating. The search_jobs endpoint accepts keyword and location filters, while get_job_details returns the full job description, job types, and posting date for any individual listing identified by its job key.

Try it
Page number for pagination (1-indexed). Each page returns up to 15 results.
Job title, keywords, or company name to search for.
City, state, or region to filter jobs by location. Empty string returns all locations.
api.parse.bot/scraper/0f682605-cb8e-4478-991b-3abcf9c36ddf/<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/0f682605-cb8e-4478-991b-3abcf9c36ddf/search_jobs?page=1&query=software+engineer&location=Jakarta' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace id-indeed-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.indeed_indonesia_jobs_api import IndeedIndonesia, Job

client = IndeedIndonesia()

# Search for data analyst jobs in Jakarta
for job in client.jobs.search(query="data analyst", location="Jakarta"):
    print(job.title, job.company, job.location, job.salary)

# Get full details for a specific job
details = client.jobs.get(job_key="42e2b7971665e323")
print(details.title, details.company, details.description, details.job_types)
All endpoints · 2 totalmissing one? ·

Search for job listings on Indeed Indonesia. Returns up to 15 results per page with job title, company, location, rating, salary, and posting age. Paginate by incrementing the page parameter. An empty query returns all listings; an empty location returns all regions.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-indexed). Each page returns up to 15 results.
querystringJob title, keywords, or company name to search for.
locationstringCity, state, or region to filter jobs by location. Empty string returns all locations.
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job listing objects with job_key, title, company, location, rating, posted, job_types, salary, indeed_apply, link",
    "page": "integer current page number",
    "query": "string echoed search query",
    "location": "string echoed location filter",
    "total_jobs": "integer number of jobs returned on this page"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "link": "https://id.indeed.com/viewjob?jk=42e2b7971665e323",
          "title": "Software Engineer",
          "posted": "30+ days ago",
          "rating": 4.4,
          "salary": "",
          "company": "Adira Finance",
          "job_key": "42e2b7971665e323",
          "location": "Jakarta",
          "job_types": [],
          "indeed_apply": true
        }
      ],
      "page": 1,
      "query": "software engineer",
      "location": "Jakarta",
      "total_jobs": 15
    },
    "status": "success"
  }
}

About the Indeed API

Searching Jobs

The search_jobs endpoint accepts three optional parameters: query (keywords, job title, or company name), location (city, region, or empty string for all of Indonesia), and page (1-indexed integer for pagination). Each response returns an array of job objects alongside total_jobs, letting you estimate how many pages exist. Each job object in the array includes job_key, title, company, location, salary, rating, and posting age — enough to build a listing view without a secondary request.

Retrieving Job Details

The get_job_details endpoint takes a single required parameter, job_key — a hex string obtained from any search_jobs result. The response adds fields not present in search results: a full description string containing the complete job posting text, an array of job_types (e.g. full-time, contract), and the canonical url for the listing. The posted field returns a human-readable posting date string. rating may be null when the employer has no rating on Indeed.

Coverage and Pagination

Data covers job listings published on id.indeed.com, which aggregates Indonesian employers across industries and cities. Search results default to relevance ordering. Each page returns up to 15 results; use the total_jobs count in the search_jobs response to calculate the number of available pages for a given query. Location filtering accepts free-text strings such as city or region names consistent with Indonesian geography.

Reliability & maintenanceVerified

The Indeed API is a managed, monitored endpoint for id.indeed.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when id.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 id.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
4d ago
Latest check
2/2 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 Indonesian job listings by city using the location parameter to power a regional job board
  • Monitor salary ranges for specific roles by querying search_jobs with a job title and reading the salary field
  • Build a job alert system that polls search_jobs for new postings matching a keyword and checks the posted field for freshness
  • Enrich a company profile page with open positions by filtering search_jobs results by company name
  • Classify job types (full-time, contract, part-time) across industries using the job_types array from get_job_details
  • Extract full job descriptions via get_job_details to train or fine-tune NLP models on Indonesian-language job postings
  • Compare employer ratings across job listings using the rating field returned by both endpoints
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. 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 previously offered a publisher API, but it has been discontinued and is no longer accepting new applications. No official public API for job search data is currently available from Indeed.
What does `get_job_details` return that `search_jobs` does not?+
get_job_details adds the full description text of the posting, an array of job_types strings, the canonical listing url, and a posted date string. The search_jobs endpoint returns only a summary — title, company, location, salary, rating, and posting age — without the complete job description or job type classification.
Does the API support filtering by salary range or job type?+
Not currently. The search_jobs endpoint filters only by query keyword and location. Salary and job type data appear in the response fields but cannot be used as input filters. You can fork this API on Parse and revise it to add salary or job-type filter parameters.
Is data limited to Indonesia, and can it cover other Indeed regional sites?+
The API covers id.indeed.com only, so listings are scoped to Indonesian employers and Indonesian-language postings. Other Indeed country domains such as indeed.com (US) or indeed.co.uk are not included. You can fork this API on Parse and revise it to target a different Indeed regional domain.
Are company profile pages or employer-level data accessible?+
Not currently. The API returns per-listing fields such as company name and rating, but there are no endpoints for employer profiles, full review histories, or company-level aggregate data. You can fork this API on Parse and revise it to add a company detail endpoint.
Page content last updated . Spec covers 2 endpoints from id.indeed.com.
Related APIs in JobsSee all →
usajobs.gov API
Search federal job openings and view detailed job announcements from USAJobs.gov, plus access historical job data and reference codes to help you find the right government position. Filter and explore thousands of federal career opportunities with comprehensive job details all in one place.
jobs.lever.co API
Access job postings on any Lever-hosted company job board. List, filter, search, and group open roles, retrieve full posting details, and extract application form questions via Lever's public API.
indeed.com API
Search and discover job opportunities on Indeed while accessing detailed job descriptions, company profiles, and salary insights all in one place. Get comprehensive career information including specific compensation data to help you find and evaluate the right job opportunity for you.
job-boards.greenhouse.io API
Access job listings, department information, office locations, and application forms from Greenhouse.io job boards, then submit applications directly through the platform. Search and filter available positions by keywords to find roles that match your qualifications.
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.
levels.fyi API
Access real compensation data, benefits packages, and salary trends across tech companies and job levels. Retrieve internship pay, H-1B visa salary records, company profiles, and detailed breakdowns by role and level.
in.indeed.com API
Access data from in.indeed.com.
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.