Indeed Job Scraper
Pricing
from $2.00 / 1,000 results
Indeed Job Scraper
Scrape job listings from Indeed using GraphQL API. Returns structured job data including title, company, location, salary, job type, description, and apply links.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Admo Solutions
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
What does Indeed Job Scraper do?
Indeed Job Scraper extracts job listings directly from Indeed's GraphQL API — the same endpoint the Indeed mobile app uses. It parses salary ranges into structured min/max/currency/period fields, pulls full job descriptions, and enriches each listing with company data (industry, employee count, revenue, logo).
Why use this Actor?
- Structured salary parsing — salary text is broken into
salary_min,salary_max,salary_currency, andsalary_period(hour/day/week/month/year), so you can filter and compare offers programmatically - Rich company data — each listing includes company logo, industry, employee count range, revenue range, and a brief description
- Full job descriptions — both HTML and a 500-character snippet, so you can do keyword matching without downloading the full page
- Multi-country support — search Indeed across us, uk, ca, de, and more
- Deduplication — jobs are deduplicated by ID across queries and locations
How to use
- Enter one or more search queries (e.g. "software engineer", "data scientist")
- Optionally add locations (e.g. "New York", "San Francisco") — leave empty for worldwide
- Set max jobs per query-location combination
- Choose your country domain and sort order
- Click Start and download results
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | array | Yes | ["software engineer"] | Job titles or keywords to search for |
locations | array | No | [] | Job locations (leave empty for worldwide) |
maxJobs | integer | No | 100 | Max jobs per query-location pair |
country | string | No | "us" | Indeed country domain (us, uk, ca, de, etc.) |
sortBy | string | No | "relevance" | Sort by relevance or date |
maxAgeDays | integer | No | 7 | Only jobs posted within this many days |
proxyConfiguration | object | No | {"useApifyProxy": true} | Proxy settings |
Example Input
{"searchQueries": ["software engineer", "data scientist"],"locations": ["New York", "San Francisco"],"maxJobs": 50,"country": "us","sortBy": "relevance","maxAgeDays": 14}
Output
Each job record contains:
| Field | Type | Description |
|---|---|---|
job_id | string | Unique job identifier |
title | string | Job title |
company | string | Company name |
location | string | Formatted location string |
city | string | City name |
state | string | State/region code |
country | string | Country name |
salary_text | string | Raw salary text (e.g. "USD 80000 - 120000 /year") |
salary_min | number | Minimum salary |
salary_max | number | Maximum salary |
salary_currency | string | Currency code (USD, EUR, etc.) |
salary_period | string | Period (hour, day, week, month, year) |
job_type | string | Employment type (fulltime, parttime, contract, internship) |
is_remote | boolean | Whether the job offers remote work |
description_html | string | Full job description in HTML |
description_snippet | string | First 500 characters of description |
job_url | string | Direct link to the job listing |
apply_url | string | Direct apply link |
date_posted | string | Date posted (YYYY-MM-DD) |
company_logo | string | URL to company logo |
company_industry | string | Industry sector |
company_employees | string | Employee count range |
company_revenue | string | Revenue range |
Example Output
{"job_id": "abc123def456","title": "Senior Software Engineer","company": "Tech Corp","location": "New York, NY","salary_text": "USD 120000 - 180000 /year","salary_min": 120000,"salary_max": 180000,"salary_currency": "USD","salary_period": "year","job_type": "fulltime","is_remote": true,"description_snippet": "We are looking for a senior software engineer to join our team...","job_url": "https://www.indeed.com/viewjob?jk=abc123def456","date_posted": "2025-01-15","company_logo": "https://d2q79iu78704ce.cloudfront.net/...","company_industry": "Technology","company_employees": "51-200"}
Use cases
- Job market analysis — compare salaries across companies and locations
- Recruiting automation — build lists of open positions for outreach
- Competitive intelligence — track what roles competitors are hiring for
- Salary research — benchmark compensation for specific roles
Integration
This Actor can be easily integrated with:
- Zapier: Use the "Run Actor" action with dataset polling
- Make.com: Use the HTTP module to call the Actor API
- n8n: Use the Apify node or HTTP Request node
- OpenAI MCP: Connect via the Apify MCP server
Notes
- Uses Indeed's GraphQL API (same as the Indeed iOS mobile app)
- Supports job searches across multiple countries
- Automatically deduplicates jobs by job ID
- Salary data is extracted when available
Disclaimer
Our Actors are ethical and do not extract any private user data. They only extract what Indeed choose to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world.
Support
- Having trouble? Open an Issue on the Actor page.
- Need a custom solution? Contact us for consulting.