Indeed APIindeed.co.in ↗
Search Indeed India job listings, get full job details, company profiles, salary guides, and autocomplete suggestions via a single REST API.
What is the Indeed 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.
curl -X GET 'https://api.parse.bot/scraper/df8ec4fc-0221-482a-8a6e-1ac3f21c7522/search_jobs?sort=relevance&query=python+developer&start=0&radius=25&remote=True&fromage=1&job_type=fulltime&location=Mumbai' \ -H 'X-API-Key: $PARSE_API_KEY'
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 indeed-co-in-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.
"""
Indeed India API - Usage Example
Get your API key from: https://parse.bot/settings
"""
from parse_apis.indeed_india_api import IndeedIndia, Sort, JobType
indeed = IndeedIndia()
# Search for jobs with sorting
for job in indeed.jobs.search(query="data analyst", location="Bangalore", sort=Sort.DATE):
print(job.title, job.company, job.salary, job.location)
# Get full details for a job
detail = job.details()
print(detail.description_text, detail.date_published)
if detail.salary_info:
print(detail.salary_info.salary_currency, detail.salary_info.salary_min, detail.salary_info.salary_max)
break
# Company lookup
company = indeed.companies.get(slug="Google")
print(company.about_company, company.about_ceo)
# Salary guide
guide = indeed.salaryguides.get(slug="software-engineer")
print(guide.title_info, guide.salary_aggregate)
# Job title autocomplete
for suggestion in indeed.jobsuggestions.search(query="python"):
print(suggestion.suggestion, suggestion.matches)
# Location autocomplete
for loc in indeed.locationsuggestions.search(query="Mum"):
print(loc.suggestion, loc.matches)
Search for job listings on Indeed India by keyword and location. Returns a paginated list of jobs with basic details including title, company, location, salary, and snippet. Pagination via start offset (0, 10, 20, ...). Each result includes a job_key usable with get_job_details for full information.
| Param | Type | Description |
|---|---|---|
| sort | string | Sort order for results |
| 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 |
| 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=fe6c717fb1fc879d",
"title": "Python AI Developer",
"salary": "₹12,922.75 - ₹65,783.06 a month",
"company": "Elovient Software Solutions",
"job_key": "fe6c717fb1fc879d",
"snippet": "This role is focused on leveraging AI...",
"job_type": [],
"location": "Mumbai, Maharashtra",
"pub_date": 1779253200000,
"company_rating": 0,
"company_review_count": 0
}
],
"page": 1,
"total_count": 0
},
"status": "success"
}
}About the Indeed API
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.
The Indeed API is a managed, monitored endpoint for indeed.co.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when indeed.co.in 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.co.in 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- 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 | 100 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.