Indeed Scraper
Pricing
Pay per event
Indeed Scraper
Scrape Indeed job listings by keyword and location. Extract job titles, companies, locations, salaries, job types, posting dates, and full descriptions. Perfect for market research, recruiting intelligence, and hiring trend analysis.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Scrape Indeed job listings by keyword and location. Returns structured job card data extracted directly from Indeed's internal page state — no secondary page loads required.
What you get
Each record contains:
| Field | Description |
|---|---|
jobKey | Indeed internal job ID |
jobUrl | Direct link to the job posting |
title | Job title |
company | Hiring company name |
companyRating | Company star rating on Indeed |
location | City, state, or "Remote" |
salary | Pay range if shown on the listing |
jobType | Full-time, Part-time, Contract, etc. |
remoteWorkModel | Remote / Hybrid / On-site label |
isSponsored | Whether the listing is a sponsored ad |
postedAt | Posting date or recency label |
description | Full job description as plain text |
query | Search keyword used |
searchLocation | Location filter used |
scrapedAt | ISO timestamp of when the record was scraped |
Note:
descriptioncarries the full job description as plain text (one batched request per ~15 records). SetincludeDescription: falsefor a faster, cards-only run.
How it works
Indeed is Cloudflare-protected, which is why most scrapers pointed at it come back empty. This one reads the structured job-card state Indeed embeds in its own results page, so records are clean and fully typed rather than scraped from brittle selectors.
Indeed only serves the first page of a search to anonymous visitors, so instead of paging the actor widens the search across filter variants — date posted, job type, radius, experience level — de-duplicating by job key until maxItems is reached or the variants run out.
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Search keywords (e.g. software engineer, registered nurse) |
location | string | Yes | Location (e.g. New York, NY, Remote, London) |
maxItems | integer | Yes | Maximum number of job listings to return |
includeDescription | boolean | No | Fetch the full description text for each record (default true) |
Example:
{"query": "data analyst","location": "San Francisco, CA","maxItems": 50}
Limits and best practices
- Keep
maxItemsat 15 or below for test runs to stay within free-tier limits. - Each search variant yields roughly 15–50 cards; a single query typically reaches 150–200 unique jobs across all variants. For more, run additional queries or locations.
- Sponsored listings are included and flagged with
isSponsored: true. - Results reflect Indeed's current live index — the same search run twice may return different ordering due to Indeed's personalization and freshness ranking.
Use cases
- Job market research — track salary ranges and demand for specific roles across cities
- Recruiting intelligence — monitor competitor hiring activity
- Hiring trend analysis — compare job volume across industries and locations over time
- Lead generation — identify companies actively hiring in a given domain