extracto.cloud

Indeed Jobs Scraper

Collect Indeed job listings by title and location, with employer information and listing metadata.

Current pricing: $0.000163 / 1 result Β· minimum 10 credits/run. Review the estimate before running.

indeed-jobs-scraper

Endpoint

Method
POST
URL
https://extracto.cloud/api/v1/parsers/indeed-jobs-scraper
Result delivery
Add webhook_url and optional webhook_secret to receive the saved result. Webhook setup and signatures β†’
Auth
X-API-KEY: ext_...

Response

{
  "success": true,
  "tool": "indeed-jobs-scraper",
  "parser": "indeed-jobs-scraper",
  "count": 0,
  "data": []
}

Documentation

# πŸ’‘ Indeed Jobs Scraper (`valig/indeed-jobs-scraper`) parser

$0.1/1K jobs | Scrape job listings, salaries, and company details from Indeed with customizable search filters and structured output.

- **URL**: https://extracto.cloud/docs/api/parsers/indeed-jobs-scraper
- **Developed by:** [Vali G](https://Extracto.com/valig) (community)
- **Categories:** Jobs, Automation
- **Stats:** 32,657 total users, 3,993 monthly users, 100.0% runs succeeded, 137 bookmarks
- **User rating**: 4.73 out of 5 stars

## Pricing

from $0.07 / 1,000 results

This parser is paid per event. You are not charged for the Extracto platform usage, but only a fixed price for specific events.
Since this parser supports Extracto Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.Extracto.com/parsers/running/parsers-in-store.md#pay-per-event

## What's an Extracto parser?

An parser is a serverless cloud program that runs on the Extracto platform. It has two run modes.
In Batch mode, an parser accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an parser provides a web server which can be used as a website, API, or an MCP server.

Extracto vocabulary and the platform model are defined once, in the agent quickstart at https://Extracto.com/agents.md.

## How to integrate an parser?

If asked about integration, you help developers integrate parsers into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://Extracto.com/agents.md: the Extracto MCP server, Agent Skills with the Extracto CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this parser's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.Extracto.com/api/client/js/docs.md) (`npm install Extracto-client`) and [Python](https://docs.Extracto.com/api/client/python/docs.md) (`pip install Extracto-client`).

# README

![](https://pub-f6a65c213d4f49948940882ac7589d61.r2.dev/Extracto/indeed-jobs-scraper/banner.jpg)

Unlock the power of real-time job market data with **Indeed Jobs Scraper**, an Extracto parser designed for recruiters, HR analysts, developers, and job board operators. Automatically extract **comprehensive job and company data** in a structured JSON format ready for analytics, dashboards, or integrations.

## πŸ” Key Features

- πŸ“Œ **Job Details** – titles, references, posting dates, languages, seniority
- 🏒 **Employer Info** – company name, profile page, CEO, logo, ratings, revenue, industry
- πŸ“ **Location** – city, state, country, geocoordinates
- πŸ’° **Compensation** – base salary ranges, unit, currency
- πŸ“ **Attributes & Skills** – required experience, education, programming languages, analytics skills
- 🎁 **Benefits** – health, dental, vision, 401(k), paid time off, hybrid work
- 🧩 **Occupations & Job Types** – full-time, senior level, finance, tech, management
- ⚑ **Reliable & Fast** – handles pagination, dynamic content, and proxies

## πŸ› οΈ Input Options

- πŸ”‘ **Job title / keywords** (e.g., "Python developer")
- πŸ“ **Location filters** (city, state, country, or "remote")
- ⏰ **Date posted** (last 24h, 3 days, 7 days, 14 days)
- πŸ“„ **Maximum results** (up to 1000)

## πŸ“¦ Output Example

```json
{
  "key": "5e5dafc2a80c214d",
  "url": "https://www.indeed.com/viewjob?jk=5e5dafc2a80c214d",
  "title": "Quantitative Analyst - FX Algo Quant team",
  "jobUrl": "https://jobs.citi.com/job/new-york/quantitative-analyst-fx-algo-quant-team/287/82148284400",
  "refNum": "82148284400",
  "datePublished": "2025-06-04T05:00:00.000Z",
  "dateOnIndeed": "2025-06-05T02:53:46.418Z",
  "expired": false,
  "expirationDate": null,
  "isRepost": null,
  "isLatestPost": null,
  "isPlacement": null,
  "isUrgentHire": false,
  "isHighVolumeHiring": false,
  "language": "en",
  "location": {
    "countryName": "United States",
    "countryCode": "US",
    "admin1Code": "NY",
    "admin2Code": "061",
    "admin3Code": null,
    "admin4Code": null,
    "city": "New York",
    "postalCode": null,
    "streetAddress": null,
    "latitude": 40.758293,
    "longitude": -73.96987
  },
  "employer": {
    "name": "Citi",
    "companyPageUrl": "https://www.indeed.com/cmp/Citi",
    "briefDescription": "Citi is more than a global financial services company. It’s an engine for progress. Apply today to to get involved.",
    "address": "New York, NY",
    "industry": "",
    "employeesCount": "10,000+",
    "revenue": "more than $10B (USD)",
    "ceoName": "Jane Fraser ",
    "ceoPhotoUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_ceophoto/512x512/00da38b558ea5d5f18f5c57ee79bd5f1",
    "corporateWebsite": "http://www.citigroup.com",
    "logoUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/3a65f2fd9d93f6c880484c373f0b34da",
    "headerImageUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_headerimage/1960x400/adc59e3911b232c20ea62808e0c0f41a",
    "ratingsCount": 20279,
    "ratingsValue": 3.9
  },
  "parentEmployer": {
    "name": "",
    "companyPageUrl": ""
  },
  "attributes": {
    "696DK": "6 years",
    "9Q2SK": "Calculus",
    "AWHEP": "Paid holidays",
    "CF3CP": "Full-time",
    "CFRGS": "Disability insurance",
    "EVPJU": "Java",
    "EXSNN": "Master's degree",
    "EY33Q": "Health insurance",
    "FGY89": "SQL",
    "FQJ2X": "Dental insurance",
    "FVKX2": "401(k)",
    "HFDVW": "Bachelor's degree",
    "HW4J4": "Paid time off",
    "PAXZC": "Hybrid work",
    "RZAT2": "Vision insurance",
    "UB7SC": "Senior level",
    "WSBNK": "Communication skills",
    "X62BT": "Python",
    "ZK3HH": "Analytics"
  },
  "employerAttributes": {
    "CF3CP": "Full-time",
    "PAXZC": "Hybrid work"
  },
  "jobTypes": {
    "CF3CP": "Full-time"
  },
  "benefits": {
    "AWHEP": "Paid holidays",
    "CFRGS": "Disability insurance",
    "EY33Q": "Health insurance",
    "FQJ2X": "Dental insurance",
    "FVKX2": "401(k)",
    "HW4J4": "Paid time off",
    "RZAT2": "Vision insurance"
  },
  "socialInsurance": {
    "EY33Q": "Health insurance"
  },
  "occupations": {
    "66WJ8": "Investment Management & Research Occupations",
    "6YCJB": "Finance & Accounting Occupations",
    "GVG4B": "Quantitative Financial Analysis Occupations",
    "PZ7NG": "Investment Management & Financial Advisory Occupations"
  },
  "baseSalary": {
    "min": 175000,
    "max": 250000,
    "unitOfWork": "YEAR",
    "currencyCode": "USD"
  },
  "description": {
    "text": "The Quantitative Analyst will...",
    "html": "<div><div><p>The Quantitative Analyst will..."
  }
}
```

JSON output includes **all key job, employer, salary, benefit, and skills metadata**, structured for immediate use in analytics, dashboards, or recruitment workflows.

## πŸ’‘ Who Should Use This parser?

- πŸ§‘β€πŸ’Ό **Recruiters & Staffing Agencies** – find top talent faster
- πŸ“Š **HR & Market Analysts** – monitor trends, salaries, hiring demand
- πŸ–₯️ **Developers & Job Boards** – feed platforms with accurate listings
- πŸ§ͺ **Academics & Researchers** – study labor markets, skills demand, and job trends

Ready to automate job market insights? Run **Indeed Jobs Scraper** to extract thousands of up-to-date job listings, complete with company, salary, location, benefits, and skills data β€” instantly and reliably!⚑

# parser input Schema

## `country` (type: `string`):

Country code (ISO 3166-1 alpha-2)

## `title` (type: `string`):

Job title, keywords, or company

## `location` (type: `string`):

City, state, zip code, or "remote"

## `limit` (type: `integer`):

Maximum results count

## `datePosted` (type: `string`):

Time frame for job postings

## parser input object example

```json
{
  "country": "us",
  "title": "Web developer",
  "location": "New York",
  "limit": 100,
  "datePosted": "7"
}
```

# parser output Schema

## `results` (type: `string`):

No description

# API

You can run this parser programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'Extracto-client';

// Initialize the ApifyClient with your Extracto API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare parser input
const input = {};

// Run the parser and wait for it to finish
const run = await client.parser("valig/indeed-jobs-scraper").call(input);

// Fetch and print parser results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`πŸ’Ύ Check your data here: https://console.Extracto.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// πŸ“š Want to learn more πŸ“–? Go to β†’ https://docs.Extracto.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Extracto API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the parser input
run_input = {}

# Run the parser and wait for it to finish
run = client.parser("valig/indeed-jobs-scraper").call(run_input=run_input)

# Fetch and print parser results from the run's dataset (if there are any)
print(f"πŸ’Ύ Check your data here: https://console.Extracto.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# πŸ“š Want to learn more πŸ“–? Go to β†’ https://docs.Extracto.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
Extracto call valig/indeed-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "Extracto": {
            "type": "http",
            "url": "https://mcp.Extracto.com/?tools=fetch-parser-details,valig/indeed-jobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Extracto Console (https://console.Extracto.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.Extracto.com/v2/parsers/TrtlecxAsNRbKl1na/builds/VcukphHZvAMP66XFL/openapi.json

Request Body

{
  "input": {
    "country": "us",
    "title": "Web developer",
    "location": "New York",
    "limit": 100,
    "datePosted": "7"
}
}

cURL

curl -X POST https://extracto.cloud/api/v1/parsers/indeed-jobs-scraper \
  -H "X-API-KEY: ext_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"input":{"country":"us","title":"Web developer","location":"New York","limit":100,"datePosted":"7"}}'