Indeed Job Scraper 💰$0.09 | Salary | Jobs | Company Data
Pricing
from $0.08 / 1,000 results
Indeed Job Scraper 💰$0.09 | Salary | Jobs | Company Data
💰 $0.09 per 1,000 jobs | Scrape Indeed job listings, salary data, and company details with customizable search filters and clean, structured output.
Pricing
from $0.08 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare
Indeed Job Scraper - Job Listings, Salaries and Company Data
The Indeed Job Scraper collects job listings from Indeed with job title, company, location, salary, job type, experience level, skills, description, benefits, remote model and company details. Search by keyword and location across Indeed country domains and export clean job-market data.
Use it for job-market research, salary benchmarking, hiring-intelligence dashboards, recruiting pipelines, competitor hiring analysis and AI job-matching workflows. The Actor prefers Indeed's mobile GraphQL API and falls back to public search pages if needed, so it can return structured data without manually browsing each result.
Main Use Cases for Indeed Job Data
- Job market research - measure demand for roles, skills and experience levels in a city or country.
- Salary benchmarking - collect advertised salary ranges and compare them across companies and locations.
- Recruiting and sourcing - build job feeds with title, company, location, skills and application URLs.
- Competitor hiring analysis - track which companies are hiring for which roles and where.
- Skills and trend analysis - aggregate
skills,jobType,experienceLevelandremoteModel. - Job board and alert products - power search experiences, alerts and recommendation engines.
- AI career assistants - give an LLM structured job records for matching, summarization and gap analysis.
How It Works

Provide a search query and location. The Actor calls Indeed's mobile-app GraphQL backend with cursor pagination, maps each job into a flat record and writes it to the dataset. If the API path is unavailable, it falls back to public Indeed search pages and parses the embedded job data.
The primary API path returns up to 100 jobs per page. Indeed repeats some listings across cursor pages, so the Actor may fetch extra pages to reach maxItems without returning duplicates. country selects the Indeed domain, such as com, co.uk, ca, de, fr, au or in.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
searchQuery | string | Yes | software engineer | Job title or keyword to search for. |
location | string | No | New York, NY | City, state, region or Remote. |
country | string | No | com | Indeed country domain suffix: com, ca, co.uk, de, fr, au, in and similar. |
maxItems | integer | No | 50 | Maximum job records, from 1 to 1,000. |
maxPages | integer | No | 5 | Maximum search pages, from 1 to 100. Each page can return up to 100 jobs. |
proxyConfiguration | object | No | Apify Proxy enabled | Proxy settings. Indeed blocks many datacenter IPs, so Apify Proxy is recommended. |
searchQuery is the only required field. The Actor may fetch up to 50% extra pages beyond maxPages to compensate for duplicate listings and reach maxItems. The run stops as soon as the item cap is reached.
Output
The dataset contains 23 fields per job.
| Field | Type | Description |
|---|---|---|
jk | string | Indeed job key. Useful for deduplication. |
jobTitle | string | Job title. |
company | string | Hiring company name. |
companyUrl | string | Company profile URL on Indeed. |
companyWebsite | string | Company website when available. |
companyLogo | string | Company logo URL. |
companyIndustry | string | Company industry when published. |
companySize | string | Company size band, such as 10,000+. |
companyDescription | string | Company description when available. |
companyAddresses | string | Company address information. |
applyUrl | string | Application or original job URL. |
location | string | Job location. |
salary | string | Advertised salary text, for example $207,000 - $300,000 a year. |
jobType | string | Employment type, such as Full-time or Contract. |
experienceLevel | string | Experience level, such as Senior level. |
skills | string[] | Skills extracted from the listing. |
jobDescription | string | Full or partial job description. |
postedDate | string | Publication date or relative age as provided by Indeed. |
companyRating | number | Indeed company rating when available. |
benefits | string[] | Benefits mentioned in the listing. |
remoteModel | string | Remote, hybrid or on-site model when provided. |
url | string | Canonical Indeed job URL. |
dateScraped | string | UTC ISO 8601 collection timestamp. |
Salary is captured as text because Indeed often publishes ranges, periods and currency in a single string. Parse it before using it in numeric comparisons. skills, benefits and remoteModel may be empty or null when the listing does not provide them.
Pricing
Pricing uses pay-per-event billing: a small start event per run plus one result event per job written.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Actor start, per run | $0.00005 | $0.00005 | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
| Job result | $0.00009 | $0.00009 | $0.000085 | $0.00008 | $0.00008 | $0.00008 |
That is $0.08-$0.09 per 1,000 jobs. Free users receive the first 10 jobs as a preview. Paid runs can request up to 1,000 jobs.
Example Input
{"searchQuery": "data engineer","location": "Austin, TX","country": "com","maxItems": 100,"maxPages": 3}
Example Output
{"jk": "fd260a3fd6a02b40","jobTitle": "Staff Software Engineer, Search Infrastructure","company": "Google","companyUrl": "https://www.indeed.com/cmp/Google","companyWebsite": "https://careers.google.com","companyLogo": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/example.jpg","companyIndustry": null,"companySize": "10,000+","companyDescription": "A technology company building products for users worldwide.","companyAddresses": "Mountain View, CA","applyUrl": "https://careers.google.com/jobs/results/example","location": "New York, NY","salary": "$207,000 - $300,000 a year","jobType": "Full-time","experienceLevel": "Senior level","skills": ["c++", "go", "leadership"],"jobDescription": "Lead distributed systems work across search infrastructure.","postedDate": "2 days ago","companyRating": 4.3,"benefits": ["Medical insurance", "401(k)"],"remoteModel": "Hybrid","url": "https://www.indeed.com/viewjob?jk=fd260a3fd6a02b40","dateScraped": "2026-10-07T12:00:00.000Z"}
Integrations and Automation
Schedule daily searches and send new jobs to Google Sheets, Airtable, a data warehouse, Slack or a recruiting CRM. Apify webhooks, Zapier, Make, n8n and the Apify API support automated runs and alerts.
Use jk for deduplication. Track new jk values to detect fresh postings, compare salary strings across runs and aggregate skills or remoteModel for trend analysis.
Related Actors
- Superprof Scraper - tutor profiles and hourly prices across seven country sites.
- HousingAnywhere Scraper - rental data for relocation research.
FAQ
Does Indeed have an official public API?
This Actor uses the mobile-app GraphQL path first and public search pages as a fallback. It does not require an Indeed employer account or a developer API key from you.
Why is salary a string?
Indeed publishes salary as a human-readable range with currency and period. The Actor preserves that text so no precision or context is lost. Parse it into a numeric range in your own pipeline.
What does country change?
It selects the Indeed country domain and affects the jobs returned, currency context and localized listing data. Use the suffix, such as com or co.uk, not a full URL.
Why do some jobs have no skills or benefits?
Not every listing includes structured skills or benefits. The Actor returns empty arrays or nulls when the source does not provide them.
Are duplicate jobs removed?
The Actor tracks jobs across cursor pages and stops when the item cap is reached. Indeed can still repeat listings across searches; use jk to deduplicate across datasets.
How many jobs can one run collect?
Paid runs support up to 1,000 jobs, controlled by maxItems. Free users receive the first 10 jobs as a preview.
For AI Agents and LLM Apps
The Actor is callable through the Apify MCP server and the Apify API. It returns flat job records with company, salary, skills and application links.
Minimal input
{"searchQuery": "software engineer","location": "New York, NY","maxItems": 25}
Behavior an agent should know
- One dataset item represents one job listing.
jkis the deduplication key.salaryis a string; parse ranges and periods before comparison.skillsandbenefitsare arrays and may be empty.jobDescriptioncan contain HTML entities from the source.postedDatemay be relative, such as2 days ago, rather than an ISO date.maxItemsis capped at 1,000;maxPagesis capped at 100.searchQueryis required.
Suggested tool description: "Scrape Indeed job listings by keyword and location with job title, company, salary, job type, experience level, skills, description, benefits, remote model and application URL."
Legal and Compliance
This Actor collects publicly available job listing information. It is not affiliated with Indeed. Respect Indeed's terms, robots guidance and applicable law.
Job descriptions and company information may be copyrighted. Personal data may appear in listings. Do not use the dataset for spam, discriminatory hiring, unauthorized resale or any purpose that violates platform terms or employment law. Verify salary and role details with the employer before relying on them.
SEO Keywords
Indeed scraper, Indeed job data, job listings API, job market data, salary data, hiring data, job search scraper, Indeed jobs dataset, software engineer jobs, data engineer jobs, remote jobs, job title data, company data, skills data, job description data, salary benchmarking, recruiting data, talent market research, job posting scraper, employment data, hiring trends, job board data, Indeed API alternative, job leads, applicant tracking enrichment