Indeed Jobs Scraper - Listings, Companies, Salary Data
Pricing
from $4.40 / 1,000 new jobs
Indeed Jobs Scraper - Listings, Companies, Salary Data
Scrape Indeed job listings for any title, keyword or location: job title, company, location, salary where shown, posting date and URL. Export to JSON, CSV or Excel, or call it as an API. No login needed. For recruiting, salary research and hiring-signal analysis.
Pricing
from $4.40 / 1,000 new jobs
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
Indeed Hiring Monitor — New Job Posting Alerts (Vigia)
Monitor Indeed for new job postings by title or company and get only NEW roles since last check, with a hiring-surge signal. Charged only on new postings, never per run. Ideal for sales-prospecting and competitive-intel agents.
Free tier — 10 results free on every run
The first 10 results of every run are free, on every run you ever make — not a one-off trial. Run it on your own subjects and see the real output before you are billed for a single result.
One guard: the free allowance never covers more than half of a run, so a run returning 6 results gets 3 free. That keeps the offer sustainable.
What it does
Read a competitor's hiring signal from their new Indeed postings. You get only what changed since your last check — never a full re-dump to diff yourself.
Why Vigia — 5 advantages a raw scraper can't match
- You pay the alert price only for real change. New-job posting alerts are billed only for genuinely new job postings since your last check. With monitoring on, a quiet run bills only a small check fee — never the result price on unchanged data; one-off runs pay only per result. Raw scrapers bill every row of a full re-scan every run.
- Never billed on a failed source. If the source is down or an input fails, that item is free.
- Append-only delta + spike signal. The first monitored run stores a free baseline; later runs deliver only what's new, plus a velocity-spike alert when volume suddenly surges (trend / review-bomb / hiring-surge).
- Hard cost cap you control. Set
maxTotalChargeUsdand the run can never bill above it — predictable spend, no surprise invoice. - Agent-ready output. Clean, normalized rows and a
RUN_SUMMARY.jsonwith ready-to-use signals — chainable from any MCP / A2A agent in one step.
Example input
{"jobQueries": ["software engineer","account executive"],"monitorEnabled": true,"maxTotalChargeUsd": 1.0}
Set monitorEnabled: true so the first run stores a free baseline and later runs return only new results. Pin a monitorId to keep separate targets from sharing state.
Output
Each row is a normalized change record: record_id, query_id, title, url, author, published_at, score, text. A RUN_SUMMARY.json accompanies every run with the aggregated signal (counts, velocity spikes, trend).
How you're charged
- Job posting alert — billed once per new job posting since the last check (this is the only charge that scales with change).
- Monitoring check ($0.05) — only when you turn on scheduled monitoring (
monitorEnabled), once per target per run, and only when the source responded. One-off runs never pay it: you pay only per result. - One-off runs pay only per result. The monitoring check applies only to scheduled monitoring; every upstream call is capped, so a run can never cost more than you allow.
Related tools
- Want a second listings source to cross-check against? → LinkedIn Jobs Scraper - Listings, Companies, Location Data
How to use it in 3 steps
- Click Try for free and fill in Job titles or queries (
jobQueries). - Optional: adjust the other fields; every one has a description and a sensible default.
- Click Start and download the results as JSON, CSV or Excel, or read them from the API.
Use cases
- Recruiting
- Salary research
- Hiring-signal analysis
Use it from code (API)
Every Apify Actor is an API. Start a run and read the results with one call.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/indeed-jobs-scraper").call(run_input={"jobQueries": ["software engineer", "account executive"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('om_kh/indeed-jobs-scraper').call({"jobQueries": ["software engineer","account executive"]});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
One HTTP call (cURL) — runs the Actor and returns the dataset in the same response:
curl -X POST "https://api.apify.com/v2/acts/om_kh~indeed-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"jobQueries": ["software engineer", "account executive"]}'
Integrations: n8n, Make, Zapier, Google Sheets
- n8n — the official Apify node, operation Run Actor and get dataset, Actor
om_kh/indeed-jobs-scraper. - Make — Apify › Run an Actor, then Apify › Get Dataset Items.
- Zapier — Apify › Run Actor; map the dataset items into your next step.
- Google Sheets, webhooks, Slack — add an integration from the Integrations tab of this Actor.
- Schedules — run it every hour or day from Schedules in Apify Console.
Use it from an AI agent (MCP and x402)
Connect Claude Desktop, Cursor, VS Code or any MCP client to Apify's MCP server
at https://mcp.apify.com and add this Actor, om_kh/indeed-jobs-scraper, as a tool — the
agent passes the same JSON as the run input and gets the dataset back.
AI agents that pay with x402 can run it too, without an Apify account: the Actor charges only per result delivered, so an agent pays exactly for what it gets.
FAQ
Is it legal to scrape Indeed? This Actor collects only publicly available Indeed data and never logs in. You are responsible for how you use it; check Indeed's terms and your local law (GDPR, CCPA) if you store personal data, and ask a lawyer if unsure.
Do I need an account, cookies or an API key? No. You only need an Apify account to run it.
What data do I get? Job postings with title, company, location, salary and link. Download it as JSON, CSV, Excel, HTML or XML, or read it from the API.
Am I charged when something fails? No. An input that fails is listed with its reason in the run summary and is never charged.
Can I run it on a schedule? Yes. Create a schedule in Apify Console (hourly, daily, weekly) and connect webhooks, Google Sheets, Slack, n8n, Make or Zapier.
Can I use it from Python, JavaScript or an AI agent?
Yes: see the code samples above, or connect AI agents through MCP with the indeed_new_jobs tool.