OrbTop

Indeed Scraper

JOBSAUTOMATION

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

Indeed Scraper

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: description carries the full job description as plain text (one batched request per ~15 records). Set includeDescription: false for a faster, cards-only run.

How it works

Indeed is bot-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 maxItems at 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