# Indeed Jobs Scraper Tool & API (`cockroachapi/indeed-jobs-scraper`) Actor

Extract Indeed job listings from 62 countries for just $0.1 per 1K jobs. Get salaries, company profiles, contact emails, job descriptions, and direct apply links. Filter by location, remote jobs, Easy Apply, and job type.

- **URL**: https://apify.com/cockroachapi/indeed-jobs-scraper.md
- **Developed by:** [Cockroach API](https://apify.com/cockroachapi) (community)
- **Categories:** Jobs, Social media, Lead generation
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$0.10 / 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.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Indeed Jobs Scraper — Extract Job Data from Indeed in 60+ Countries

<!-- SEO badges -->

![Output format](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-blue?style=for-the-badge)
![Countries](https://img.shields.io/badge/Countries-62-green?style=for-the-badge)
![Jobs per run](https://img.shields.io/badge/Jobs%20per%20run-Up%20to%201%2C000-orange?style=for-the-badge)
![Data fields](https://img.shields.io/badge/Data%20fields-20%2B-purple?style=for-the-badge)

> **Scrape job listings from [Indeed](https://www.indeed.com) — the world's largest job search engine.** Get structured JSON data with company profiles, salary info, job descriptions, and direct apply links from 62 countries, all delivered to your Apify dataset.

---

### What does this Indeed scraper do?

This Actor searches and extracts job postings from Indeed across **62 countries**. Provide a job title or keyword, optionally add location and filters, and receive structured data for every matching listing — automatically paginated, de-duplicated, and ready to export as **JSON, CSV, Excel, HTML, or XML**.

#### Key features

| Capability                     | Description                                                                         |
| ------------------------------ | ----------------------------------------------------------------------------------- |
| 🔍**Keyword search**     | Search by job title, skill, company name, or any keyword                            |
| 🌍**62 countries**       | Search Indeed sites worldwide — US, UK, Germany, India, Japan, Brazil, and 56 more |
| 📍**Location & radius**  | City, state, postal code, or remote — with configurable search radius (0–500 mi)  |
| 🏷️**Job type filter**  | Full-time, part-time, contract, or internship                                       |
| 🏠**Remote filter**      | Only work-from-home and remote positions                                            |
| ⚡**Easy Apply filter**  | Only jobs with Indeed Easy Apply enabled                                            |
| 📅**Posted within**      | Filter by recency — last 24 hours, 48 hours, or up to 30 days                      |
| 📄**Auto-pagination**    | Collects up to 1,000 results per run with automatic pagination                      |
| 🏢**Rich company data**  | Name, industry, revenue, employee count, CEO, logo, corporate website               |
| 💰**Salary data**        | Compensation range, pay interval, and currency when available                       |
| 📧**Contact extraction** | Email addresses scraped from job descriptions                                       |
| 🔀**Proxy rotation**     | Built-in residential proxy support for reliable, uninterrupted scraping             |

#### Who uses this scraper?

| Use case                            | What you get                                                                 |
| ----------------------------------- | ---------------------------------------------------------------------------- |
| 📊**Salary benchmarking**     | Track compensation trends across roles, locations, and industries            |
| 🔍**Recruiting intelligence** | Monitor competitor hiring patterns and open positions                        |
| 🗃️**Job board builders**    | Power career portals, aggregators, or recommendation engines with fresh data |
| 📈**Labor market analytics**  | Analyze hiring demand by role, geography, and company size                   |
| 🎯**Job seekers**             | Bulk-download and compare listings across multiple countries at once         |

---

### How to use this Indeed data scraper

#### Step 1 — Enter your search keyword

Provide a **search term**: a job title, skill, or company name.

> **Examples:** `software engineer`, `data scientist`, `Python developer`, `marketing manager`

#### Step 2 — Configure location & filters (optional)

| Option                    | Description                                                              |
| ------------------------- | ------------------------------------------------------------------------ |
| **Location**        | City, state, postal code, or `remote` — e.g., `San Francisco, CA`   |
| **Country**         | Select from 62 Indeed country sites (default: United States)             |
| **Search radius**   | Distance in miles from the location (0 = exact location only, up to 500) |
| **Job type**        | Full-time, part-time, contract, or internship                            |
| **Remote only**     | Exclusively remote / work-from-home positions                            |
| **Easy Apply only** | Only jobs with Indeed Easy Apply enabled                                 |
| **Posted within**   | Limit to jobs posted in the last N hours (1–720)                        |

#### Step 3 — Set result volume

Specify the number of job listings to collect — up to **1,000** per run (minimum 5).

#### Step 4 — Run and download

Click **Run**. When complete, your data is available in the **Dataset** tab. Download in **JSON, CSV, Excel, HTML, or XML**, or connect via webhooks, Zapier, or Make to pipe data directly into Google Sheets, Airtable, Slack, or your database.

---

### Input parameters

| Field             | Type        | Required | Default   | Description                                                        |
| ----------------- | ----------- | -------- | --------- | ------------------------------------------------------------------ |
| `searchTerm`    | `string`  | ✅ Yes   | —        | Job title, keyword, or company name                                |
| `location`      | `string`  | No       | —        | City, state, postal code, or `remote`                            |
| `country`       | `string`  | No       | `us`    | Indeed country code — see[supported countries](#supported-countries) |
| `searchRadius`  | `integer` | No       | —        | Search radius in miles (0–500)                                    |
| `resultsWanted` | `integer` | No       | `1000`  | Max jobs to collect (5–1,000)                                     |
| `jobType`       | `string`  | No       | —        | `FULL_TIME`, `PART_TIME`, `CONTRACT`, or `INTERNSHIP`      |
| `isRemote`      | `boolean` | No       | `false` | Only remote positions                                              |
| `easyApply`     | `boolean` | No       | `false` | Only Easy Apply jobs                                               |
| `postedWithin`  | `integer` | No       | —        | Only jobs posted within this many hours (1–720)                   |

---

### Output fields

Each job listing produces a flat JSON record with **45+ data fields**:

#### Job identifiers & links

| Field            | Type       | Description                                         |
| ---------------- | ---------- | --------------------------------------------------- |
| `id`           | `string` | Unique job identifier                               |
| `sourceName`   | `string` | Original source name (e.g., LinkedIn, company site) |
| `title`        | `string` | Job title                                           |
| `jobUrl`       | `string` | Indeed job detail page                              |
| `jobUrlDirect` | `string` | Direct application URL (when available)             |

#### Company information

| Field                     | Type       | Description                     |
| ------------------------- | ---------- | ------------------------------- |
| `companyName`           | `string` | Employer name                   |
| `companyUrl`            | `string` | Indeed company profile page     |
| `companyUrlDirect`      | `string` | Employer's corporate website    |
| `companyIndustry`       | `string` | Industry classification         |
| `companyNumEmployees`   | `string` | Employee count range            |
| `companyRevenue`        | `string` | Revenue range                   |
| `companyDescription`    | `string` | Brief company overview          |
| `companyLogo`           | `string` | Company logo image URL          |
| `companyHeaderImageUrl` | `string` | Company header/banner image URL |
| `companyAddressPrimary` | `string` | Primary office address          |
| `companyAddresses`      | `array`  | All office addresses            |
| `companyCeoName`        | `string` | CEO name                        |
| `companyCeoPhotoUrl`    | `string` | CEO photo URL                   |

#### Location

| Field                      | Type       | Description                     |
| -------------------------- | ---------- | ------------------------------- |
| `location_city`          | `string` | City                            |
| `location_state`         | `string` | State or province code          |
| `location_country`       | `string` | Country code                    |
| `location_countryName`   | `string` | Country name                    |
| `location_postalCode`    | `string` | Postal / ZIP code               |
| `location_streetAddress` | `string` | Street address                  |
| `locationFormattedShort` | `string` | Short formatted location string |
| `locationFormattedLong`  | `string` | Long formatted location string  |

#### Dates

| Field            | Type       | Description                       |
| ---------------- | ---------- | --------------------------------- |
| `datePosted`   | `string` | Posting date (`YYYY-MM-DD`)     |
| `dateOnIndeed` | `string` | Date indexed by Indeed (ISO 8601) |

#### Job metadata

| Field               | Type        | Description                                        |
| ------------------- | ----------- | -------------------------------------------------- |
| `isRemote`        | `boolean` | Remote position indicator                          |
| `jobType`         | `array`   | Employment type(s) — e.g.,`["FULL_TIME"]`       |
| `attributeLabels` | `array`   | Raw attribute labels (e.g., "Full-time", "Remote") |
| `attributeKeys`   | `array`   | Raw attribute keys                                 |

#### Compensation

| Field                      | Type       | Description                                                                |
| -------------------------- | ---------- | -------------------------------------------------------------------------- |
| `compensation_interval`  | `string` | Pay interval:`YEARLY`, `MONTHLY`, `WEEKLY`, `HOURLY`, or `DAILY` |
| `compensation_minAmount` | `number` | Minimum salary                                                             |
| `compensation_maxAmount` | `number` | Maximum salary                                                             |
| `compensation_currency`  | `string` | Currency code (e.g.,`USD`, `EUR`)                                      |
| `recruitDetailedSalary`  | `object` | Detailed salary breakdown (when available)                                 |
| `recruitWorkSchedule`    | `string` | Work schedule info (when available)                                        |

#### Description & contacts

| Field               | Type       | Description                                              |
| ------------------- | ---------- | -------------------------------------------------------- |
| `description`     | `string` | Full job description (HTML)                              |
| `descriptionText` | `string` | Plain-text job description                               |
| `emails`          | `array`  | Contact email addresses extracted from description       |
| `rawJob`          | `object` | Complete raw job payload from Indeed for deep inspection |

#### Example output

```json
{
  "id": "in-abc123def",
  "sourceName": "Acme Corp",
  "title": "Software Engineer",
  "companyName": "Acme Corp",
  "companyIndustry": "Technology Information Internet",
  "companyNumEmployees": "1001 to 5000 employees",
  "companyRevenue": "$1B to $10B revenue",
  "companyUrl": "https://us.indeed.com/cmp/Acme-Corp",
  "companyUrlDirect": "https://acme.example.com",
  "companyLogo": "https://example.com/logo.png",
  "location_city": "San Francisco",
  "location_state": "CA",
  "location_country": "US",
  "location_countryName": "United States",
  "datePosted": "2026-06-05",
  "dateOnIndeed": "2026-06-06T14:30:00Z",
  "jobUrl": "https://us.indeed.com/viewjob?jk=abc123def",
  "jobUrlDirect": "https://acme.example.com/apply",
  "isRemote": false,
  "jobType": ["FULL_TIME"],
  "attributeLabels": ["Full-time", "Benefits available"],
  "compensation_interval": "YEARLY",
  "compensation_minAmount": 120000,
  "compensation_maxAmount": 180000,
  "compensation_currency": "USD",
  "companyDescription": "Acme Corp is a leading technology company...",
  "description": "<div>... job description HTML ...</div>",
  "descriptionText": "About Us: Acme Corp is a leading...",
  "emails": ["careers@acme.example.com"]
}
````

***

### Supported countries

This Actor supports **62 countries** — every country where Indeed operates:

| Code   | Country                   | Code   | Country          | Code   | Country            |
| ------ | ------------------------- | ------ | ---------------- | ------ | ------------------ |
| `ae` | 🇦🇪 United Arab Emirates | `il` | 🇮🇱 Israel      | `om` | 🇴🇲 Oman          |
| `ar` | 🇦🇷 Argentina            | `in` | 🇮🇳 India       | `pa` | 🇵🇦 Panama        |
| `at` | 🇦🇹 Austria              | `it` | 🇮🇹 Italy       | `pe` | 🇵🇪 Peru          |
| `au` | 🇦🇺 Australia            | `jp` | 🇯🇵 Japan       | `ph` | 🇵🇭 Philippines   |
| `be` | 🇧🇪 Belgium              | `kr` | 🇰🇷 South Korea | `pk` | 🇵🇰 Pakistan      |
| `bh` | 🇧🇭 Bahrain              | `kw` | 🇰🇼 Kuwait      | `pl` | 🇵🇱 Poland        |
| `br` | 🇧🇷 Brazil               | `lu` | 🇱🇺 Luxembourg  | `pt` | 🇵🇹 Portugal      |
| `ca` | 🇨🇦 Canada               | `ma` | 🇲🇦 Morocco     | `qa` | 🇶🇦 Qatar         |
| `ch` | 🇨🇭 Switzerland          | `mx` | 🇲🇽 Mexico      | `ro` | 🇷🇴 Romania       |
| `cl` | 🇨🇱 Chile                | `my` | 🇲🇾 Malaysia    | `sa` | 🇸🇦 Saudi Arabia  |
| `cn` | 🇨🇳 China                | `ng` | 🇳🇬 Nigeria     | `se` | 🇸🇪 Sweden        |
| `co` | 🇨🇴 Colombia             | `nl` | 🇳🇱 Netherlands | `sg` | 🇸🇬 Singapore     |
| `cr` | 🇨🇷 Costa Rica           | `no` | 🇳🇴 Norway      | `th` | 🇹🇭 Thailand      |
| `cz` | 🇨🇿 Czech Republic       | `nz` | 🇳🇿 New Zealand | `tr` | 🇹🇷 Turkey        |
| `de` | 🇩🇪 Germany              |        |                  | `tw` | 🇹🇼 Taiwan        |
| `dk` | 🇩🇰 Denmark              |        |                  | `ua` | 🇺🇦 Ukraine       |
| `ec` | 🇪🇨 Ecuador              |        |                  | `us` | 🇺🇸 United States |
| `eg` | 🇪🇬 Egypt                |        |                  | `uy` | 🇺🇾 Uruguay       |
| `es` | 🇪🇸 Spain                |        |                  | `ve` | 🇻🇪 Venezuela     |
| `fi` | 🇫🇮 Finland              |        |                  | `vn` | 🇻🇳 Vietnam       |
| `fr` | 🇫🇷 France               |        |                  | `za` | 🇿🇦 South Africa  |
| `gb` | 🇬🇧 United Kingdom       |        |                  |        |                    |
| `gr` | 🇬🇷 Greece               |        |                  |        |                    |
| `hk` | 🇭🇰 Hong Kong            |        |                  |        |                    |
| `hu` | 🇭🇺 Hungary              |        |                  |        |                    |
| `id` | 🇮🇩 Indonesia            |        |                  |        |                    |
| `ie` | 🇮🇪 Ireland              |        |                  |        |                    |

***

### Tips & best practices

- 🎯 **Be specific** — Precise job titles and skills return more relevant results than generic terms
- ⏱️ **Use `postedWithin`** for fresh listings — set to `24` for jobs from the last day
- 🔀 **Combine filters** — `jobType`, `isRemote`, and `easyApply` work together. Note: `postedWithin` cannot be combined with these filters (Indeed treats date filtering as a separate search dimension)
- 📅 **Schedule runs** — Use the Apify scheduler for daily or weekly market monitoring
- 🔗 **Integrate** — Connect via webhooks, Zapier, or Make to pipe data into Google Sheets, Airtable, Slack, or databases
- 📦 **Start small** — Test with `resultsWanted: 10` to validate your search criteria, then scale up
- 🌍 **Multi-country** — Run the same search across multiple countries by scheduling separate runs with different `country` values
- 💡 **Use `remote` location** — Set location to `remote` with `isRemote: true` for fully remote positions

***

### Frequently asked questions

#### How many jobs can I scrape per run?

Up to **1,000 jobs** per run. For larger volumes, schedule multiple runs with different search terms or locations.

#### Which countries are supported?

All **62 countries** where Indeed operates — including the US, UK, Germany, India, Japan, Brazil, Canada, Australia, and many more. See the [full country list](#supported-countries).

#### Can I search for remote jobs?

Yes. Set the location to `remote` and enable the **Remote Only** filter. You can also combine `isRemote` with job type filters.

#### Why are some output fields empty?

Data availability depends on what the employer provided. Not all listings include compensation data, company descriptions, or direct apply URLs. The scraper returns whatever is available.

#### Can I combine multiple filters?

Yes — `jobType`, `isRemote`, and `easyApply` can be used together. However, `postedWithin` cannot be combined with these filters because Indeed treats date filtering as a separate search dimension.

#### What format is the output?

Each job is a flat JSON object with 45+ fields. You can download the dataset in **JSON, CSV, Excel, HTML, or XML** from the Apify Console, or access it via the Apify API.

#### Is this scraper compliant with Indeed's Terms of Service?

This tool retrieves publicly available job listing data. Users are responsible for reviewing and complying with Indeed's Terms of Service, robots.txt, and applicable local laws before using the data commercially.

#### Can I run this on a schedule?

Yes. Use the Apify **Scheduler** to run this Actor daily, weekly, or at any interval — ideal for monitoring job market trends or tracking new postings.

***

### Legal disclaimer

This Actor is provided for **educational and research purposes**. Users must comply with Indeed's [Terms of Service](https://www.indeed.com/legal), applicable laws, and website policies. The authors assume no liability for misuse of this tool or the data it produces.

**Support**: For questions, bug reports, or feature requests, please open an issue. Need a custom solution or enterprise support? Contact the team directly.

# Actor input Schema

## `searchTerm` (type: `string`):

Job title, keywords, or company name to search for. E.g., 'software engineer', 'data scientist', 'Python developer'

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

Select the country's Indeed site to search on

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

City, state, postal code, or 'remote' to search. Examples: 'San Francisco, CA', 'New York', 'remote'

## `resultsWanted` (type: `integer`):

Maximum number of job listings to scrape

## `searchRadius` (type: `integer`):

Search radius in miles from the specified location (0 = exact location only, max 500)

## `jobType` (type: `string`):

Filter by employment type

## `isRemote` (type: `boolean`):

Only show remote / work-from-home positions

## `easyApply` (type: `boolean`):

Only show jobs with Indeed Easy Apply (desktop-applicable)

## `postedWithin` (type: `integer`):

Only show jobs posted within this many hours (e.g., 24 = last 24 hours)

## Actor input object example

```json
{
  "searchTerm": "software engineer",
  "country": "us",
  "location": "San Francisco, CA",
  "resultsWanted": 1000,
  "isRemote": false,
  "easyApply": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "searchTerm": "software engineer",
    "location": "San Francisco, CA",
    "resultsWanted": 1000
};

// Run the Actor and wait for it to finish
const run = await client.actor("cockroachapi/indeed-jobs-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 = {
    "searchTerm": "software engineer",
    "location": "San Francisco, CA",
    "resultsWanted": 1000,
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchTerm": "software engineer",
  "location": "San Francisco, CA",
  "resultsWanted": 1000
}' |
apify call cockroachapi/indeed-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=cockroachapi/indeed-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Indeed Jobs Scraper Tool & API",
        "description": "Extract Indeed job listings from 62 countries for just $0.1 per 1K jobs. Get salaries, company profiles, contact emails, job descriptions, and direct apply links. Filter by location, remote jobs, Easy Apply, and job type.",
        "version": "0.0",
        "x-build-id": "xpgAA4pnZjkEj5hjf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/cockroachapi~indeed-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-cockroachapi-indeed-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/cockroachapi~indeed-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-cockroachapi-indeed-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/cockroachapi~indeed-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-cockroachapi-indeed-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchTerm"
                ],
                "properties": {
                    "searchTerm": {
                        "title": "Search Keyword / Job Title",
                        "minLength": 1,
                        "type": "string",
                        "description": "Job title, keywords, or company name to search for. E.g., 'software engineer', 'data scientist', 'Python developer'"
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "ae",
                            "ar",
                            "at",
                            "au",
                            "be",
                            "bh",
                            "br",
                            "ca",
                            "ch",
                            "cl",
                            "cn",
                            "co",
                            "cr",
                            "cz",
                            "de",
                            "dk",
                            "ec",
                            "eg",
                            "es",
                            "fi",
                            "fr",
                            "gb",
                            "gr",
                            "hk",
                            "hu",
                            "id",
                            "ie",
                            "il",
                            "in",
                            "it",
                            "jp",
                            "kr",
                            "kw",
                            "lu",
                            "ma",
                            "mx",
                            "my",
                            "ng",
                            "nl",
                            "no",
                            "nz",
                            "om",
                            "pa",
                            "pe",
                            "ph",
                            "pk",
                            "pl",
                            "pt",
                            "qa",
                            "ro",
                            "sa",
                            "se",
                            "sg",
                            "th",
                            "tr",
                            "tw",
                            "ua",
                            "us",
                            "uy",
                            "ve",
                            "vn",
                            "za"
                        ],
                        "type": "string",
                        "description": "Select the country's Indeed site to search on",
                        "default": "us"
                    },
                    "location": {
                        "title": "Location (City, State, Postal Code, or 'remote')",
                        "type": "string",
                        "description": "City, state, postal code, or 'remote' to search. Examples: 'San Francisco, CA', 'New York', 'remote'"
                    },
                    "resultsWanted": {
                        "title": "Max Results",
                        "minimum": 5,
                        "type": "integer",
                        "description": "Maximum number of job listings to scrape",
                        "default": 1000
                    },
                    "searchRadius": {
                        "title": "Search Radius (miles)",
                        "minimum": 0,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Search radius in miles from the specified location (0 = exact location only, max 500)"
                    },
                    "jobType": {
                        "title": "Job Type",
                        "enum": [
                            "",
                            "FULL_TIME",
                            "PART_TIME",
                            "CONTRACT",
                            "INTERNSHIP"
                        ],
                        "type": "string",
                        "description": "Filter by employment type"
                    },
                    "isRemote": {
                        "title": "Remote Only",
                        "type": "boolean",
                        "description": "Only show remote / work-from-home positions",
                        "default": false
                    },
                    "easyApply": {
                        "title": "Easy Apply Only",
                        "type": "boolean",
                        "description": "Only show jobs with Indeed Easy Apply (desktop-applicable)",
                        "default": false
                    },
                    "postedWithin": {
                        "title": "Posted Within (hours)",
                        "minimum": 1,
                        "maximum": 720,
                        "type": "integer",
                        "description": "Only show jobs posted within this many hours (e.g., 24 = last 24 hours)"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
