Indeed MCP Server
Pricing
Pay per event + usage
Indeed MCP Server
MCP server + scraper for Indeed jobs. Let Claude, ChatGPT, Cursor and n8n search jobs, fetch full listings and autocomplete locations live via Model Context Protocol — or run it as a classic Indeed scraper. Pay per tool call.
Give your AI agent live access to Indeed. This Actor is a Model Context Protocol (MCP) server that lets Claude, ChatGPT, Cursor, n8n, and any other MCP-compatible client search Indeed jobs, pull full job listings, and autocomplete locations and companies in real time — no scraping code required.
Prefer a classic scraper? The same Actor also runs as a one-shot dataset scraper when you give it a search query.
What it does
Expose Indeed to your AI agent as four tools:
| Tool | What it returns |
|---|---|
search_indeed_jobs | Job listings for a keyword + location: title, company, salary range, rating, location, snippet, apply link |
get_indeed_job | Full detail for one job: complete description, precise salary, employment type, address, direct-apply flag |
suggest_indeed_locations | Location autocomplete suggestions (e.g. "New York, NY") |
suggest_indeed_companies | Company / keyword autocomplete suggestions |
Works across 25 Indeed country sites (US, UK, Canada, Australia, India, Germany, France, and more).
Use cases
- AI job-search assistants — let an agent find and compare live openings for a user.
- Recruiting research — pull candidate-facing listings, salaries and company signals on demand.
- Salary benchmarking — ask your agent to gather salary ranges for a role across cities.
- Workflow automation (n8n / Make) — trigger Indeed lookups inside no-code automations.
- Classic scraping — run it without MCP to dump a job dataset for a query.
Connect it to your AI agent
-
Start this Actor in Standby mode (it runs as a persistent server).
-
Point your MCP client at the Standby URL with the
/mcppath:https://<your-actor-standby-url>/mcp -
Add your Apify API token as a header:
Authorization: Bearer <APIFY_API_TOKEN>
Claude Desktop example
{"mcpServers": {"indeed": {"url": "https://<your-actor-standby-url>/mcp","headers": { "Authorization": "Bearer <APIFY_API_TOKEN>" }}}}
Then just ask: "Find remote senior Python jobs on Indeed and list their salaries and apply links."
Example tool call
search_indeed_jobs:
{"query": "software engineer","location": "Remote","country": "us","limit": 20,"sort": "date"}
Returns:
{"query": "software engineer","country": "us","count": 20,"results": [{"jobkey": "abc123","title": "Senior Software Engineer","company": "Acme Corp","location_city": "Remote","salary_min": 140000,"salary_max": 180000,"salary_currency": "USD","salary_period": "YEARLY","job_types": ["Full-time"],"company_rating": 4.1,"snippet": "We are hiring a senior engineer to ...","url": "https://www.indeed.com/viewjob?jk=abc123"}]}
Classic scraper mode
Run the Actor normally (not Standby) with an input like:
{"query": "data analyst","location": "London","country": "uk","limit": 100,"fetchDetails": true}
It searches Indeed and pushes normalized job rows to the dataset.
Output fields
Each job includes: jobkey, title, company, company_rating, location_city, location_state, location_postal, salary_min, salary_max, salary_currency, salary_period, job_types, snippet, description, is_remote, apply_url, url, pub_date, create_date, scraped_at, and more.
Reliability & proxies
Indeed is protected by Cloudflare. For dependable results, run with Apify Residential proxies (the default). Anonymous access is best for the first result page per query — broaden coverage by varying the query, location and filters rather than deep pagination.
Notes
- This Actor returns publicly visible job-listing data. Respect Indeed's Terms of Service and applicable law; use the data responsibly.
- Not affiliated with or endorsed by Indeed.
FAQ
Do I need to write code? No. In MCP mode your AI agent calls the tools directly.
Which countries are supported? 25 Indeed country sites, selectable per call/run.
Can it get full descriptions and exact salaries? Yes — use get_indeed_job (MCP) or fetchDetails: true (classic mode).
Can I use it without MCP? Yes — run it as a normal scraper with a query.