Indeed Job Scraper avatar

Indeed Job Scraper

Pricing

from $5.20 / 1,000 result scrapeds

Go to Apify Store
Indeed Job Scraper

Indeed Job Scraper

Scrape Indeed jobs with title, company, location, salary, type, description, posting date. Filter by date, type, experience, remote. Anti-detection with fingerprint rotation and residential proxy. Click-based pagination.

Pricing

from $5.20 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Share

Scrape job listings from Indeed.com by keyword and location. Extract job titles, company names, salaries, job types, descriptions, remote status, company ratings, and benefits — all in structured JSON ready for analysis, recruiting pipelines, or market research.

Features

  • Search by any keyword or job title and any US location or ZIP code
  • Filter by date posted, job type (full-time, part-time, contract, etc.), experience level, and remote/hybrid availability
  • Extract comprehensive job data: title, company, location, salary, description snippet, job type, and benefits
  • Remote job detection — isRemote flag set when job is listed as remote or hybrid
  • Company star ratings from Indeed shown alongside each listing
  • Automatic pagination — scrapes multiple pages to collect hundreds of results
  • Push-as-you-go — results saved immediately, no accumulation in memory
  • Anti-blocking via Apify proxy integration with automatic fallback to direct connection
  • Zero-config — works out of the box with sensible defaults (software engineer in New York)

Input

All fields are optional. The actor runs with defaults and requires no configuration.

FieldTypeDefaultDescription
searchQuerystring"software engineer"Job title, keyword, or company name
locationstring"New York, NY"City and state, or ZIP code
maxResultsinteger50Maximum number of listings to extract (up to 1,000)
maxPagesinteger5Maximum search result pages to crawl
datePostedstring"all"Filter by recency: all, 1, 3, 7, or 14 days
jobTypestring"all"fulltime, parttime, contract, temporary, internship
experienceLevelstring"all"entry_level, mid_level, or senior_level
remoteFilterstring"all"all, remote, or hybrid
maxConcurrencyinteger3Simultaneous requests (1–10)
requestTimeoutinteger30000Page load timeout in milliseconds

Output

Each result is one job listing stored in the default dataset.

FieldTypeDescription
titlestringJob position title
companystringHiring company name
locationstringJob location or "Remote"
salarystring | nullSalary or pay range as shown on Indeed
jobTypestring | nullEmployment type (Full-time, Contract, etc.)
descriptionstring | nullShort description snippet from search results
detailUrlstringFull Indeed job listing URL
datePostedstring | nullWhen the job was posted (e.g. "2 days ago")
isRemotebooleanTrue if job is listed as remote
ratingnumber | nullCompany star rating on Indeed (1–5)
benefitsstring[]Benefits mentioned in the listing
extractedAtstringISO 8601 timestamp of extraction

Output Example

{
"title": "Senior Software Engineer",
"company": "Acme Corp",
"location": "New York, NY",
"salary": "$120,000 - $160,000 a year",
"jobType": "Full-time",
"description": "We are looking for a Senior Software Engineer to join our growing team. You will design and build scalable backend services...",
"detailUrl": "https://www.indeed.com/viewjob?jk=abc123def456",
"datePosted": "Posted 2 days ago",
"isRemote": false,
"rating": 4.2,
"benefits": ["Health insurance", "401(k)", "Paid time off", "Remote work options"],
"extractedAt": "2025-06-01T14:30:00.000Z"
}

Use Cases

  • Recruiting and talent acquisition — build a pipeline of open positions at target companies
  • Job market research — analyze salary trends, in-demand skills, and hiring patterns by location or industry
  • Competitive intelligence — monitor which companies are hiring and at what scale
  • Career planning — research required experience levels and compensation ranges for target roles
  • Lead generation — identify companies actively hiring in your space as potential clients or partners
  • Academic research — collect job posting data for labor market studies and economic analysis

Pricing

This actor uses Pay-Per-Event (PPE) pricing: $5.20 per 1,000 results scraped ($0.0052 per event). You are charged once per item successfully extracted.

Pricing includes all platform compute costs — no hidden fees.

Limitations

  • Supports Indeed.com (US) only
  • Indeed may dynamically change page structure — if selectors stop working, the actor falls back gracefully and logs a warning
  • Some listings may not include salary, job type, or benefits if the employer did not provide them
  • Indeed's search pagination typically supports up to ~100 pages (approximately 1,500 listings) for any given query

Proxy Requirements

This actor requires residential proxies because Indeed has aggressive anti-bot protection that blocks datacenter IP addresses.

  • Paid Apify plan users: Works automatically with the default residential proxy configuration. No changes needed.
  • Free plan users: Provide your own residential proxy URL in the Proxy Configuration input field. Free Apify plans only include datacenter proxies, which Indeed blocks.
  • Without a residential proxy, the actor will exit with a clear error message explaining how to fix the issue.

FAQ

How many results can I scrape?

Up to 1,000 results per run with the maxResults parameter. Indeed shows roughly 15 listings per search page and supports deep pagination, so large extractions are possible. For best results, use specific job titles and locations to narrow the search.

Does it extract the full job description?

The actor extracts the description snippet shown on the search results page, not the full job description from the detail page. The detailUrl field gives you the direct link to visit the full posting. Full detail page scraping may be added in a future version.

Can I filter for remote jobs only?

Yes — set remoteFilter to "remote" to return only remote positions, or "hybrid" for hybrid listings. The isRemote field is also set to true for any listing where the location text indicates remote work.

Why is the salary field null for some jobs?

Indeed only shows salary information when the employer explicitly includes it in the posting. Many job listings do not include salary data. When salary is unavailable, the field is null.

Does it work without a residential proxy?

No. Indeed blocks datacenter IPs and direct connections aggressively. A residential proxy is required for reliable scraping. The actor defaults to Apify's residential proxy (available on paid plans). Free-plan users can provide their own residential proxy URL in the Proxy Configuration input. Without a residential proxy, the actor will exit with an actionable error message.

How do I search for jobs at a specific company?

Set searchQuery to the company name (e.g. "Google" or "Apple engineer"). You can also combine a job title with a company name, such as "data analyst Amazon".

What does the experience level filter do?

Setting experienceLevel to entry_level, mid_level, or senior_level adds Indeed's built-in experience filter to the search URL, which filters results server-side before scraping. Not all listings have experience level tags, so some results in a filtered search may appear to span levels.