# 💼 Indeed Jobs Scraper \[From 💰$0.50/1K] (`misterkhan/indeed-scraper`) Actor

\[From $0.50/1K] Extract job postings, salary ranges, company ratings, remote status, job descriptions, and direct apply links from Indeed search URLs.

- **URL**: https://apify.com/misterkhan/indeed-scraper.md
- **Developed by:** [Khan](https://apify.com/misterkhan) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 results

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

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor 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 Actor provides a web server which can be used as a website, API, or an MCP server.

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

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors 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://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify 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 Actor'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.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 💼 Indeed Jobs Scraper \[From 💰$0.50/1K]

**\[From $0.50/1K] Extract job postings, salary ranges, company ratings, remote status, job descriptions, and direct apply links from Indeed search URLs.**

Paste one or more Indeed.com URLs and get back every job listing in clean, structured data. Export your results to **Excel, CSV, JSON**, or connect directly to Google Sheets, Airtable, and your favorite workflow tools.

***

### ✨ What Makes This Different

| Feature | Why It Matters |
|---|---|
| **Direct Indeed Search URL Support** | Paste any filtered Indeed search URL (by job title, city, state, remote filter, or salary band) and collect structured job listings. |
| **Complete Compensation & Company Context** | Includes published salary ranges, company star ratings, work-from-home tags, job types, and posting dates. |
| **Ready for Recruiting & Sales Workflows** | Clean columns built for direct import into Google Sheets, Excel, Airtable, HubSpot, or ATS platforms. |

***

### 📥 How to Use

1. Click **Try for free**
2. Paste one or more URLs into **Start URLs** (for example: `https://www.indeed.com/jobs?q=product+manager&l=Remote`)
3. Set **Max Results** to choose how many job listings you want to collect
4. Click **Start**
5. Download your data from the **Dataset** tab in **Excel, CSV, or JSON**

***

### 📤 What You Get

Each record includes:

- 💼 **Job Title & Summary** — role title and key responsibilities snippet
- 🏢 **Company Name & Rating** — hiring organization and employee star rating on Indeed
- 💵 **Salary Estimate** — listed pay range (hourly or annual) when available
- 📍 **Location & Remote Status** — city, state, or remote work eligibility
- 🕒 **Date Posted & Job Type** — full-time, contract, part-time, and posting age
- 🔗 **Direct Job URL** — link to the full Indeed job posting and application page

**Example output:**

```json
{
  "id": "jk_9a82f4c10e8b21",
  "title": "Senior Product Manager",
  "company": "Acme Cloud Inc.",
  "company_rating": 4.4,
  "location": "Remote, US",
  "salary": "$155,000 - $185,000 a year",
  "job_type": "Full-time",
  "date_posted": "Posted 2 days ago",
  "snippet": "Lead product strategy, customer discovery, and cross-functional roadmap execution...",
  "url": "https://www.indeed.com/viewjob?jk=9a82f4c10e8b21",
  "source": "indeed"
}
```

***

### 🎯 Popular Use Cases

- **B2B Hiring Intent Signals** — Spot companies actively expanding specific teams to time your sales outreach
- **Salary & Compensation Benchmarking** — Compare pay ranges across regions, roles, and competitors
- **Recruitment & Talent Sourcing** — Aggregate open requisitions across industries into a central spreadsheet
- **Labor Market Research** — Track hiring velocity and remote work trends over time

***

### ⚙️ Input Options

| Field | Description |
|---|---|
| **Start URLs** | One or more Indeed.com URLs to collect data from |
| **Max Results** | Maximum number of job listings to collect per run (default: `30`) |

***

### 💰 Cost & Free Tier

This Actor uses simple **Pay-Per-Result** pricing with a **`$0.00` start fee** — you only pay for the job listings successfully delivered to your dataset.

- **Try for Free:** With Apify's **free $5 monthly credit**, you can test the scraper at no cost (Free plan runs collect up to `30` job listings per run).
- **Volume Discounts on Paid Plans:** Upgrading to an Apify paid plan unlocks unlimited results per run and automatic volume discounts up to **90% off**:

| Apify Plan | Price per 1,000 Results | Price per Result | Per-Run Limit |
| :--- | :---: | :---: | :--- |
| **Free Plan** | **`$5.00 / 1K`** | `$0.0050` | Up to `30` results / run |
| **Starter (Bronze)** | **`$1.20 / 1K`** | `$0.0012` | Unlimited |
| **Scale (Silver)** | **`$0.85 / 1K`** | `$0.0008` | Unlimited |
| **Business+ (Gold / Platinum / Diamond)** | **`$0.50 / 1K`** | `$0.0005` | Unlimited |

***

### ❓ FAQ

**Do I need to configure proxies or accounts?**
No. Everything works out of the box with zero proxy setup and no login required.

**Can I pass multiple URLs in one run?**
Yes! Add as many URLs as you need to **Start URLs** and the scraper will collect job listings across all of them up to your **Max Results** limit.

**Can I download the results as an Excel or CSV spreadsheet?**
Yes. Once the run finishes, open the **Dataset** tab and click **Export** to download your data in Excel (`.xlsx`), CSV, JSON, or HTML table format.

***

### 🔗 Related Actors from Our Store

Combine this Actor with our other **`128 MB` Pay-Per-Event (PPE)** tools in the same workflow (`$0.00` start fee):

| Related Actor | Best For | Starting Price |
| :--- | :--- | :--- |
| **[🏢 Glassdoor Jobs Scraper](https://apify.com/misterkhan/glassdoor-scraper)** | Employer job listings, salary estimates, company star ratings & direct apply links | **From 💰`$0.50 / 1K`** |

👉 **[See all Actors by `misterkhan` on Apify Store →](https://apify.com/misterkhan)**

***

### ⚠️ Disclaimer

This Actor collects publicly available data and is not affiliated with, endorsed by, or connected to Indeed, Inc.. It is intended for market research and business analysis purposes only.

# Actor input Schema

## `startUrls` (type: `array`):

Paste one or more Indeed.com URLs to collect job listings from (e.g., `https://www.indeed.com/jobs?q=product+manager&l=Remote`).

## `maxItems` (type: `integer`):

Maximum number of job listings to collect (Free plan runs collect up to 30 results per run; paid plans support unlimited results).

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.indeed.com/jobs?q=product+manager&l=Remote"
    }
  ],
  "maxItems": 30
}
```

# Actor output Schema

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

All extracted job listings.

## `usage_summary` (type: `string`):

Execution telemetry and extraction summary stored in the default key-value store.

# API

You can run this Actor 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 'apify-client';

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

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.indeed.com/jobs?q=product+manager&l=Remote"
        }
    ],
    "maxItems": 30
};

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

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.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.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.indeed.com/jobs?q=product+manager&l=Remote" }],
    "maxItems": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("misterkhan/indeed-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.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.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.indeed.com/jobs?q=product+manager&l=Remote"
    }
  ],
  "maxItems": 30
}' |
apify call misterkhan/indeed-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,misterkhan/indeed-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 Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/krN92ZwEB84QhH5AK/builds/MTyfHxyhuRhOAPx5C/openapi.json
