Indeed Jobs Scraper avatar

Indeed Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Indeed Jobs Scraper

Indeed Jobs Scraper

Powerful, high-speed scraper extracting detailed job listings from Indeed.com. Quickly get structured data like job title, company, salary, location, posting date, descriptions, and direct job links. Perfect for recruiters, market analysis, and job seekers.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Caprolok

Caprolok

Maintained by Community

Actor stats

4

Bookmarked

191

Total users

1

Monthly active users

6 days ago

Last modified

Share

Indeed Jobs Scraper

Indeed Jobs Scraper

Apify Actor Try on Apify MCP-ready Pricing: Pay-Per-Event

Extract Indeed job listings by keyword and country. Get clean, structured rows (title, company, location, salary, posted date, description, job link, thumbnail) ready for recruiting workflows, market research, job monitors, and AI agents.


What it does

Enter a search keyword (and optional country / recency window). The actor returns structured Indeed job listings.

No Indeed login, cookies, or browser setup required.

When to use it

  • Recruiters sourcing roles by keyword and country
  • Job seekers building tailored lists
  • Analysts tracking salary and hiring trends
  • Developers powering job monitors or dashboards
  • AI agents that need a typed dataset of open roles

Highlights

  • Fast: typical runs return results in seconds to about a minute
  • Multi-country: ISO-2 country filter routes to the matching Indeed locale host
  • Advanced filters: optional job title, company, city, remote, and exclude words
  • Advanced queries: quotes, (A or B), -exclude, and Indeed-style title: / company: in the keyword
  • Recency filters: last 24 hours, 3 days, 7 days, or 14 days
  • Rich fields: title, company, location, salary (when available), posted date, description, link, thumbnail
  • Clean output: schema-validated records for CRMs, spreadsheets, and agents

How to use it

  1. Open the actor on Apify.
  2. Enter a keyword (and optionally a country and posted-within window).
  3. Optionally set Advanced filters (job title, company, city, remote, exclude words).
  4. Set how many jobs you need.
  5. Click Start. Download results as JSON, CSV, or Excel from the Storage tab.

Query tips

PatternExample
Exact phrase"software engineer"
Any of terms(Python or Java)
Exclude in keyword-junior -internship
Title (in keyword)title:"Senior Developer"
Company (in keyword)company:"Acme"

Or use the Advanced input fields for title, company, city, remote, and exclude words.

Inputs

FieldTypeRequiredDefaultDescription
keywordstringyesSearch keyword / advanced query.
locationstring (ISO-2)noUSPrefer jobs in this country.
max_resultsintegeryes20Maximum jobs to return.
job_posted_instringno24 hours, 3 days, 7 days, or 14 days. Leave blank for a wider window.
titlestringnoPrefer this job title.
companystringnoPrefer this employer name.
citystringnoPrefer this city or area.
remotebooleannofalsePrefer remote roles.
excludestring[]noWords to exclude from results.

Sample input

{
"keyword": "software engineer",
"location": "US",
"job_posted_in": "7 days",
"title": "Software Engineer",
"company": "Google",
"city": "Austin, TX",
"remote": false,
"exclude": ["junior", "internship"],
"max_results": 50
}

Outputs

FieldTypeDescription
positionstringJob title.
companystringCompany name when available.
locationstringJob location text.
salarystringSalary / pay text when available.
posted_datestringParsed date (YYYY-MM-DD) when available.
descriptionstringShort snippet.
linkstring (URL)Indeed viewjob URL.
thumbnailstring (URL)Listing image URL when available.

Sample output

[
{
"position": "Softwareentwickler (m/w/d)",
"company": "ALPHA-ENGINEERING KG",
"location": "47051 Duisburg",
"salary": "",
"posted_date": "2026-07-14",
"description": "Softwareentwickler (m/w/d) ...",
"link": "https://de.indeed.com/viewjob?jk=5984099296f648cf",
"thumbnail": "https://socialmediaimages.indeed.com/job/g3/..."
}
]

Pricing & limits

Pay-per-event. Mark api_call as the primary event in Console > Publication > Monetization (required for Store quality / monetization readiness).

EventWhen
api_call (primary)Per real job written to your dataset. Free-plan sample / upgrade-hint rows are not billed.
platform-usageSmall top-up that tracks the run's actual Apify platform cost ($0.001 per event, 1.2x markup).

You can cap spend per run with Apify's actorMaxPaidDatasetItems setting.

  • Free Apify plan: a short sample of real results; further rows show an upgrade hint. Free users only use monthly free credit.
  • Paid plans: full results up to max_results.

Programmatic usage

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('caprolok/indeed-jobs-scraper').call({
keyword: 'software engineer',
location: 'US',
job_posted_in: '7 days',
max_results: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("caprolok/indeed-jobs-scraper").call(run_input={
"keyword": "software engineer",
"location": "GB",
"job_posted_in": "7 days",
"max_results": 50,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items

cURL:

curl -X POST "https://api.apify.com/v2/acts/caprolok~indeed-jobs-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keyword":"software engineer","location":"US","max_results":20}'

MCP (Model Context Protocol)

Use this actor from AI agents via the Apify MCP server (stdio or https://mcp.apify.com with your Apify token). Input and output schemas are published with the actor so agents can call it with typed arguments.

Integrations

Works with Make, Zapier, Airbyte, Slack, Google Sheets, GitHub, cloud storage, webhooks, and anything that can call the Apify API.

Troubleshooting

SymptomWhat to try
Zero resultsBroaden the keyword, clear job_posted_in, or try another country.
Thin salary fieldsMany listings omit pay text; try a broader keyword or another country.
Unexpected country mixSet location to the ISO-2 country you want.
Locale language titlesUse local keywords (e.g. Softwareentwickler for DE).
Too broadSet Advanced filters: title, company, city, remote, or exclude words.

Questions or bugs: use the actor Issues tab.

LinkedIn Employees ScraperPeople at a company or school.
LinkedIn Company URL RetrieverBuild lists of company URLs.
LinkedIn People URL RetrieverResolve names to profile URLs.