indeed.co.in APIindeed.co.in ↗
Search Indeed India job listings, get full job details, company profiles, salary guides, and autocomplete suggestions via a single REST API.
curl -X GET 'https://api.parse.bot/scraper/df8ec4fc-0221-482a-8a6e-1ac3f21c7522/search_jobs?sort=relevance&query=python+developer&location=Mumbai' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for job listings on Indeed India by keyword and location. Returns a paginated list of jobs with basic details including title, company, location, and salary.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order: 'date' for newest first, 'relevance' for most relevant first |
| query | string | Job search keyword or title (e.g. 'python developer', 'data analyst') |
| start | integer | Result offset for pagination (0, 10, 20, etc.) |
| radius | integer | Search radius in km from location |
| remote | boolean | Filter for remote jobs only |
| fromage | integer | Filter jobs posted within N days (e.g. 1, 3, 7, 14) |
| job_type | string | Job type filter: 'fulltime', 'parttime', 'contract', 'internship', 'temporary' |
| location | string | Location to search in, such as a city or state (e.g. 'Mumbai', 'Bangalore') |
| salary_range | string | Salary range filter code |
{
"type": "object",
"fields": {
"jobs": "array of job listing objects with job_key, title, company, location, salary, snippet, link",
"page": "integer current page number (1-based)",
"total_count": "integer total number of matching jobs"
},
"sample": {
"data": {
"jobs": [
{
"link": "https://in.indeed.com/viewjob?jk=6422913b03c8acc5",
"title": "PYTHON DEVELOPER",
"salary": "₹2,40,000 - ₹5,00,000 a year",
"company": "Prosares Solutions Pvt. Ltd.",
"job_key": "6422913b03c8acc5",
"snippet": "<ul>...</ul>",
"job_type": [],
"location": "Malad, Mumbai, Maharashtra",
"pub_date": 1776142800000,
"company_rating": 0,
"company_review_count": 0
}
],
"page": 1,
"total_count": 0
},
"status": "success"
}
}About the indeed.co.in API
This API exposes 6 endpoints covering Indeed India (in.indeed.com), letting you search job listings, retrieve full job descriptions, look up company profiles, and pull salary statistics by role. The search_jobs endpoint returns paginated results with title, company, location, salary, and a direct link for each listing. Companion endpoints handle autocomplete for both job queries and Indian city names, making it straightforward to build location-aware job search experiences.
Job Search and Listing Details
The search_jobs endpoint accepts a query keyword and optional location, then returns an array of job objects — each carrying a job_key, title, company, location, salary, snippet, and link. You can narrow results by job_type (fulltime, parttime, contract, internship, temporary), set a radius in kilometers, filter to remote roles only, and limit recency with fromage (jobs posted within N days). Pagination is handled through the start offset parameter, and the response includes total_count so you can calculate how many pages exist.
The get_job_details endpoint takes a job_key from search results and returns the complete record: description_html, description_text, structured salary_info (min, max, currency, type), a benefits array, an attributes array, location with a formatted address, and hiring_insights covering posting age and candidate count.
Company and Salary Data
get_company_details accepts a company slug (e.g. Infosys, Tcs) and returns aboutCompany — industry, founded year, employee range, revenue, headquarters, and a description — alongside aboutCeo with name and photo URLs, and relatedLinks for related companies. The get_salary_guide endpoint takes a hyphenated job title slug such as software-engineer and returns salary_aggregate broken down by pay period (HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY), each with mean, median, min, and max values, plus top_companies hiring for that role in India.
Autocomplete Endpoints
Two lightweight autocomplete endpoints support search UIs. get_job_search_autocomplete returns up to 10 job title suggestions for a partial query, each with the full suggestion string and a matches array of {start, end} indices so you can highlight the matched characters. get_location_suggestions does the same for Indian cities, districts, and states — useful for validating user-entered locations before passing them to search_jobs.
- Aggregate Indeed India job postings by city and job type for a regional employment dashboard
- Display salary ranges for a given role using
salary_aggregateMONTHLY and YEARLY figures fromget_salary_guide - Build a typeahead search bar that pre-validates both job titles and Indian city names before submitting a query
- Enrich a company directory with industry, headcount range, revenue, and CEO info via
get_company_details - Track how many candidates have applied to a listing using
hiring_insightsfromget_job_details - Filter remote contract roles posted in the last 7 days using the
remote,job_type, andfromageparameters together - Compile a benefits comparison across multiple job listings using the
benefitsarray returned byget_job_details
| 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 beyond a standard search result?+
description_html and description_text, a structured salary_info object (min, max, currency, type), a benefits array with labelled benefit keys, an attributes array, a formatted location object, and hiring_insights that includes posting age and the number of candidates who have applied. Search results only carry a brief snippet and basic metadata.How does pagination work in `search_jobs`?+
start parameter as an offset: 0 for the first page, 10 for the second, 20 for the third, and so on. The response includes total_count (the total number of matching jobs) and page (the current 1-based page number), so you can calculate how many pages are available before fetching them.