id.indeed.com 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.
curl -X GET 'https://api.parse.bot/scraper/0f682605-cb8e-4478-991b-3abcf9c36ddf/search_jobs' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for job listings on Indeed Indonesia. Returns paginated results with job title, company, location, rating, salary, and posting age. Results are sorted by relevance by default.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-indexed). Each page returns up to 15 results. |
| query | string | Job title, keywords, or company name to search for. |
| location | string | City, state, or region to filter jobs by location. Empty string returns all locations. |
{
"type": "object",
"fields": {
"jobs": "array of job listing objects",
"page": "integer",
"query": "string",
"location": "string",
"total_jobs": "integer"
},
"sample": {
"jobs": [
{
"link": "https://id.indeed.com/viewjob?jk=1ef963d5958269d7",
"title": "Data Analyst",
"posted": "30+ days ago",
"rating": 0,
"salary": "",
"company": "PT Otto Menara Globalindo",
"job_key": "1ef963d5958269d7",
"location": "Jakarta",
"job_types": [],
"indeed_apply": true
}
],
"page": 1,
"query": "data analyst",
"location": "Jakarta",
"total_jobs": 15
}
}About the id.indeed.com 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.
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.
- Aggregate Indonesian job listings by city using the
locationparameter to power a regional job board - Monitor salary ranges for specific roles by querying
search_jobswith a job title and reading thesalaryfield - Build a job alert system that polls
search_jobsfor new postings matching a keyword and checks thepostedfield for freshness - Enrich a company profile page with open positions by filtering
search_jobsresults by company name - Classify job types (full-time, contract, part-time) across industries using the
job_typesarray fromget_job_details - Extract full job descriptions via
get_job_detailsto train or fine-tune NLP models on Indonesian-language job postings - Compare employer ratings across job listings using the
ratingfield returned by both endpoints
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does Indeed have an official developer API?+
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?+
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?+
Are company profile pages or employer-level data accessible?+
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.