# 🚀 Indeed jobs scraper \[PPR] (`borderline/indeed-scraper`) Actor

Pay per result - Fast and reliable Indeed Job Scraper! 🚀 Extract job listings with company details effortlessly with advanced filters, avoid blocking, and enjoy lightning-speed execution. Build your analytics, automate searches, or benchmark salaries—all with seamless outputs. Try it now for free

- **URL**: https://apify.com/borderline/indeed-scraper.md
- **Developed by:** [borderline](https://apify.com/borderline) (community)
- **Categories:** Jobs, Automation
- **Stats:** 14,601 total users, 2,104 monthly users, 92.7% runs succeeded, 235 bookmarks
- **User rating**: 4.91 out of 5 stars

## Pricing

$5.00 / 1,000 jobs

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 Job Scraper** | (PPR) Pay per results version

Feel free to open issues to suggest new features or report bugs!

Welcome to the **Indeed Job Scraper**! 🚀 Extract detailed job listing data from Indeed seamlessly and build your own job market analytics, databases, or even automate your job searches. Designed for ease-of-use and power, this tool will supercharge your data needs! 🔍

### 📦 **What Can You Extract?**

Jump directly to the fields you need:

1. [🚀 Job Essentials](#job-essentials)  
2. [🏢 Company Info](#company-info)  
3. [📍 Location & Geodata](#location-and-geodata)  
4. [💰 Compensation & Benefits](#compensation-and-benefits)  
5. [📃 Description & Requirements](#description-and-requirements)  
6. [📝 Application & Hiring Details](#application-and-hiring-details)  
7. [🌐 Language & Locale](#language-and-locale)  
8. [🔎 Scraping Metadata](#scraping-metadata)



### 💻 **How to Use**

#### 1️⃣ **Input Requirements:**
You can now use two different approaches:

**Option A**: URL-based scraping

| **Parameter**     | **Description**                           | **Example**                                             | **Required?** |
|-------------------|-------------------------------------------|---------------------------------------------------------|---------------|
| `urls`            | Array of search / company URLs            | `["https://indeed.com/jobs?q=developer", "https://indeed.com/cmp/Google"]`               | Yes           |
| `maxRowsPerUrl`   | Maximum number of results to scrape per URL | `50`                                                    | No            |

- All parameters of **Option B** will be omitted if you chose this option.


**Option B**: Traditional search using parameters & filters (`query` and `country` are required unless you provide URLs):

The scraper accepts the following inputs and their respective enum options, indicating if they are required:

| **Parameter** | **Description**                                       | **Example**           | **Enum Options**                                                                                                                                                                                                                                                                                                                          | **Required?** |
| ------------- | ----------------------------------------------------- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `query`       | Job title or search keyword.                          | `"data analyst"`      | -                                                                                                                                                                                                                                                                                                                                         | Yes           |
| `country`     | Country code.                                         | `"us"`                | `"ar", "au", "at", "bh", "be", "br", "ca", "cl", "cn", "co", "cz", "dk", "fi", "fr", "de", "gr", "hk", "hu", "in", "id", "ie", "il", "it", "jp", "kw", "lu", "my", "mx", "ma", "nl", "nz", "no", "om", "pe", "ph", "pl", "pt", "qa", "ro", "sa", "sg", "za", "kr", "es", "se", "ch", "tw", "tr", "ua", "ae", "uk", "us", "ve", "vn", "cr", "ec", "eg", "ng", "pk", "pa", "th", "uy"` | Yes            
| `location`    | Search location.                                      | `"San Francisco, CA"` | -                                                                                                                                                                                                                                                                                                                                         | No            |
| `radius`      | Search radius in miles.                               | `"10"`                | `"0"`, `"5"`, `"10"`, `"15"`, `"25"`, `"35"`, `"50"`, `"100"`                                                                                                                                                                                                                                                                                            | No            |
| `jobType`     | Type of job (e.g., fulltime, parttime).               | `"fulltime"`          | `"fulltime"`, `"parttime"`, `"contract"`, `"internship"`, `"temporary"`, `"permanent"`, `"seasonal"`, `"freelance"`                                                                                                                                                                                                                                                   | No            |
| `level`       | Experience level (e.g., entry_level, senior_level).   | `"entry_level"`       | `"entry_level"`, `"mid_level"`, `"senior_level"` (US only)                                                                                                                                                                                                                                                                                          | No            |
| `sort`        | Sort results by relevance or date.                    | `"date"`              | `"relevance"`, `"date"`                                                                                                                                                                                                                                                                                                                   | No            |
| `fromDays`    | Limit to jobs posted within a certain number of days. | `"7"`                 | `"1"`, `"3"`, `"7"`, `"14"`                                                                                                                                                                                                                                                                                                               | No            |
| `remote`      | Filter for remote or hybrid jobs.                     | `"remote"`            | `"remote"`, `"hybrid"`                                                                                                                                                                                                                                                                                                                    | No            |
| `maxRows`     | Maximum number of jobs to scrape.                     | `100`                 | -   | No           |
| `enableUniqueJobs` | Save only unique jobs (skip duplicates).          | `false`               | `true`, `false`                                                                                                                                                                                                                                                                                                                            | No            |
| `includeSimilarJobs` | Include "View similar jobs" results.           | `true`                | `true`, `false`                                                                                                                                                                                                                                                                                                                            | No            |

##### **Input Example (URL-based):**

```json
{
    "urls": [
        "https://indeed.com/jobs?q=developer",
        "https://indeed.com/cmp/Google/jobs"
    ],
    "maxRowsPerUrl": 50
}
````

##### **Input Example (Traditional parameters & filters):**

```json
{
    "country": "us",
    "query": "data analyst",
    "location": "New York, NY",
    "maxRows": 50,
    "radius": "25",
    "jobType": "fulltime",
    "sort": "relevance",
    "fromDays": "7",
    "remote": "remote"
}
```

#### 2️⃣ **Run the Scraper:**

1. **Sign up** on [Apify](https://console.apify.com/actors/MXLpngmVpE8WTESQr?addFromActorId=MXLpngmVpE8WTESQr).
2. Add the scraper to your Apify account.
3. Configure your input JSON.
4. Click "Start" to begin scraping.

***

#### 3️⃣ **Output :**

Jump directly to the fields you need:

1. [🚀 Job Essentials](#job-essentials)
2. [🏢 Company Info](#company-info)
3. [📍 Location & Geodata](#location-and-geodata)
4. [💰 Compensation & Benefits](#compensation-and-benefits)
5. [📃 Description & Requirements](#description-and-requirements)
6. [📝 Application & Hiring Details](#application-and-hiring-details)
7. [🌐 Language & Locale](#language-and-locale)
8. [🔎 Scraping Metadata](#scraping-metadata)

#### 🛠 **Sample Output Data:**

```json
{
    "title": "Remote Customer Support Representative, Professional Services",
    "isRemote": true,
    "jobType": ["Full-time", "Remote"],
    "companyName": "American Heart Association",
    "companyUrl": "https://www.indeed.com/cmp/American-Heart-Association",
    "companyLogoUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/256x256/2b22f028a31bec649682434b83dd2804",
    "campanyHeaderUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_headerimage/1960x400/1cf333dc972583d2e1c9df18c4f23d5e",
    "rating": {
        "rating": 3.9,
        "count": 885,
    },
    "emails": ["hr@heart.jobs"],
    "companyAddresses": ["Dallas, TX"],
    "companyNumEmployees": "1,001 to 5,000",
    "companyRevenue": "$500M to $1B (USD)",
    "companyIndustry": "ASSOCIATION",
    "companyDescription": "The American Heart Association is a relentless force for a world of longer, healthier lives. Through collaboration ...",
    "companyFounded": {
        "year": 1924
    },
    "companyBriefDescription": "The American Heart Association is the nation’s oldest, largest voluntary organization devoted to ...",
    "companyLinks": {
        "facebook": "https://www.facebook.com/theahalife",
        "instagram": "https://www.instagram.com/theahalife",
        "twitter": "",
        "customLinks": [
            {
                "name": "AHA Careers Site",
                "url": "https://heart.jobs/"
            }
        ],
        "corporateWebsite": "http://www.heart.org"
    },
    "companyCeo": {
        "name": "Nancy A. Brown",
        "photoUrl": "https://d2q79iu7y748jz.cloudfront.net/s/_ceophoto/512x512/c79ae9f355378e5e78738e1ac5e7fee7",
        "startDate": null
    },
    "location": {
        "countryCode": "US",
        "country": "United States",
        "city": "Dallas",
        "formattedAddressShort": "Dallas, TX",
        "formattedAddressLong": " Dallas, Texas 75231-4596, US",
        "postalCode": "75231",
        "latitude": 32.814034,
        "longitude": -96.815,
        "streetAddress": "7272 Greenville Ave.",
        "fullAddress": "7272 Greenville Ave. Dallas, Texas 75231-4596, US"
    },
    "benefits": ["Health insurance", "Paid time off", "Retirement plan"],
    "occupation": [
        "Customer Support & Client Services Occupations",
        "Sales, Retail & Customer Support Occupations"
    ],
    "socialInsurance": ["Health insurance"],
    "attributes": [
        "Bilingual",
        "Microsoft Word",
        "Spanish",
        "Wellness program",
        "Microsoft Outlook",
        "Hourly pay"
    ],
    "requirements": [
        {
            "label": "Engineering",
            "requirementSeverity": "REQUIRED"
        },
        {
            "label": "Ability to lift 50 pounds",
            "requirementSeverity": "PREFERRED"
        },
        {
            "label": "Associate's degree",
            "requirementSeverity": "PREFERRED"
        }
    ],
    "shiftAndSchedule": ["Monday to Friday"],
    "workingSystem": ["Flextime"],
    "descriptionText": "Provide tier I technical support for inbound calls and emails...",
    "descriptionHtml": "<p>Provide tier I technical support for inbound calls and emails</p>",
    "salary": {
        "salaryText": "$20 - $22 an hour",
        "salaryType": "hourly",
        "salaryMax": 350,
        "salaryMin": 250,
        "salarySource": "EXTRACTION",
        "salaryCurrency": "USD"
    },
    "age": "Just posted",
    "postedToday": true,
    "datePublished": "2025-02-24",
    "hiringDemand": {
        "isUrgentHire": true,
        "isHighVolumeHiring": false
    },
    "organicApplyStarts": 11,
    "numOfCandidates": 3,
    "expired": false,
    "scrapingInfo": {
        "page": 12, // Page number where the job has been scraped
        "index": 3 // Job index in page
    },
    "source": "American Heart Association",
    "jobUrl": "https://www.indeed.com/viewjob?jk=6ae7e4ae7ac60636",
    "applyUrl": "https://rr.jobsyn.org/9ECBB26665F341FCA3EAB747075CAA9B1554",
    "jobKey": "1e6e49448374145b",
    "language": "en",
    "locale": "en_US"
}
```

***

#### 🚀 Job Essentials

- **title**\
  Example: `"Remote Customer Support Representative, Professional Services"`

- **isRemote**\
  Boolean: `true` / `false`

- **jobType**\
  Example: `["Full-time", "Remote"]`

- **age**\
  Example: `"Just posted"`, `"1 day ago"`, etc.

- **postedToday**\
  Boolean: `true` / `false`

- **datePublished**\
  Example: `"2025-02-24"`

***

#### 🏢 Company Info

- **companyName**\
  Example: `"American Heart Association"`

- **companyUrl**\
  Example: `"https://www.indeed.com/cmp/American-Heart-Association"`

- **companyLogoUrl**\
  Direct link to the company's logo

- **companyHeaderUrl**\
  Image or banner link shown on the company profile

- **rating**\
  Object containing rating info, e.g.:
  ```json
  {
    "rating": 3.9,
    "count": 885
  }
  ```

- **emails**\
  Array of any emails found (e.g., `["hr@heart.jobs"]`)

- **companyAddresses**\
  E.g., `["Dallas, TX"]`

- **companyNumEmployees**\
  Example: `"1,001 to 5,000"`

- **companyRevenue**\
  Example: `"$500M to $1B (USD)"`

- **companyIndustry**\
  Example: `"ASSOCIATION"`

- **companyDescription**\
  Full text describing the company

- **companyFounded**\
  Object with founding year:
  ```json
  {
    "year": 1924
  }
  ```

- **companyBriefDescription**\
  Shorter summary of the company

- **companyLinks**\
  Social media links, official site, custom links, e.g.:
  ```json
  {
    "facebook": "https://facebook.com/... ",
    "instagram": "https://instagram.com/... ",
    "twitter": "",
    "customLinks": [
      {
        "name": "AHA Careers Site",
        "url": "https://heart.jobs/"
      }
    ],
    "corporateWebsite": "http://www.heart.org"
  }
  ```

- **companyCeo**\
  Object describing CEO (name, photo, etc.):
  ```json
  {
    "name": "Nancy A. Brown",
    "photoUrl": "https://...",
    "startDate": null
  }
  ```

***

#### 📍 Location & Geodata

Most of these fields will be under a `location` object, for instance:

- **countryCode** (e.g., `"US"`)
- **country** (e.g., `"United States"`)
- **city** (e.g., `"Dallas"`)
- **postalCode** (e.g., `"75231"`)
- **latitude** (e.g., `32.814034`)
- **longitude** (e.g., `-96.815`)
- **streetAddress** (e.g., `"7272 Greenville Ave."`)
- **formattedAddressShort** (e.g., `"Dallas, TX"`)
- **formattedAddressLong** (e.g., `"Dallas, Texas 75231-4596, US"`)
- **fullAddress** (combined street, city, state, postal code, etc.)

***

#### 💰 Compensation & Benefits

- **salary**\
  An object containing detailed pay data:
  ```json
  {
    "salaryText": "$20 - $22 an hour",
    "salaryType": "hourly",
    "salaryMax": 350,
    "salaryMin": 250,
    "salarySource": "EXTRACTION",
    "salaryCurrency": "USD"
  }
  ```
- **benefits**\
  Example: `["Health insurance", "Paid time off", "Retirement plan"]`
- **socialInsurance**\
  Example: `["Health insurance"]`

***

#### 📃 Description & Requirements

- **descriptionText**\
  Plain-text version of the job description
- **descriptionHtml**\
  HTML-rich version of the job description
- **occupation**\
  Example: `["Customer Support & Client Services Occupations"]`
- **attributes**\
  E.g., `["Bilingual", "Microsoft Word", "Wellness program"]`
- **requirements**\
  Array with `label` + `requirementSeverity`:
  ```json
  [
    { "label": "Engineering", "requirementSeverity": "REQUIRED" },
    { "label": "Ability to lift 50 pounds", "requirementSeverity": "PREFERRED" }
  ]
  ```
- **shiftAndSchedule**\
  Example: `["Monday to Friday"]`
- **workingSystem**\
  Example: `["Remote", "On-site", "Hybrid"]`

***

#### 📝 Application & Hiring Details

- **jobUrl**\
  Indeed listing link (e.g., `"https://www.indeed.com/viewjob?jk=... "`)

- **applyUrl**\
  Direct link for applying to the job (when available)

- **hiringDemand**\
  Indicates urgency or volume:
  ```json
  {
    "isUrgentHire": true,
    "isHighVolumeHiring": false
  }
  ```

- **organicApplyStarts**\
  Number of users who initiated an application

- **numOfCandidates**\
  Approximate number of applicants

- **expired**\
  Boolean indicating if the job is no longer active

***

#### 🌐 Language & Locale

- **language** (e.g., `"en"`)
- **locale** (e.g., `"en_US"`)

***

#### 🔎 Scraping Metadata

- **jobKey**\
  Unique identifier for the job post (e.g., `"1e6e49448374145b"`)
- **source**\
  Where the listing originated (e.g., `"American Heart Association"`)
- **scrapingInfo**\
  Object containing:
  ```json
  {
    "page": 12,  // Page number of the scraped listing
    "index": 3   // Position of the job in that page
  }
  ```

***

### 🤔 **Why Use This Scraper?**

- 🕵️ **Market Research**: Analyze job trends, salaries, and skills in demand.
- 📊 **Analytics**: Build custom dashboards for hiring trends.
- 📚 **Database Creation**: Organize and store job listings for internal use.
- 💸 **Salary Benchmarking**: Compare wages across regions and industries.
- 📩 **Job Search Automation**: Streamline your job hunting process with tailored searches.
- 🔎 **Competitive Insights**: Track competitor hiring practices.

***

#### 📊 **Output Options:**

Once scraping is complete, you can download results in multiple formats:

- JSON
- CSV
- Excel
- XML
- HTML

***

### 🌟 **Key Features**

- **💨 Fast Performance**: Handles large datasets efficiently.
- **📋 Flexible Outputs**: Multiple formats for seamless integration.
- **🔄 Up-to-Date Results**: Ensures the freshest job listings.
- **⚙️ API Integration**: Programmatically manage scrapes with the Apify API.
- **🛠 Customizable Filters**: Tailor searches to your exact needs.

***

### 📚 **Integration Options**

- **Zapier & Make**: Automate workflows with tools like Google Sheets or Slack.
- **Webhooks**: Get notified when a scrape is complete.
- **Apify API**: Manage scrapes, fetch results, and monitor performance with RESTful API endpoints.

***

### 💰 **Cost and Limitations**

- **Pricing**: Costs depend on the size of your scrape. Start with small batches to estimate.
- **Limits**: The scraper can typically return over 1,000 results per run but may vary depending on input complexity and Indeed’s restrictions.

***

### 🚀 **Start Scraping Today!**

Unleash the power of job data! 🎯 Click [here](https://console.apify.com/actors/MXLpngmVpE8WTESQr?addFromActorId=MXLpngmVpE8WTESQr) to begin.

For detailed documentation and tutorials, visit our [Apify Docs](https://docs.apify.com/).

# Actor input Schema

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

Select country (default is US based)
Enhance accuracy by selecting the associated country (e.g., 'fr' for French jobs on fr.indeed.com). Data is drawn directly from country-specific indeed.com platforms, ensuring relevant outcomes for your location.

## `query` (type: `string`):

Enter your query

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

Specify city, state, zip, or 'remote' positions. (For better accuracy, pair location with the relevant country. E.g., Paris, set country to 'France' for precise results.)

## `maxRows` (type: `integer`):

Enter max rows (listings) to get)

## `radius` (type: `string`):

Enter radius (km or miles depending on country)

## `remote` (type: `string`):

Select if you want to get remote or hybrid work

## `level` (type: `string`):

Select job level. ⚠️ This parameter only works on the US domain (country: 'us'). For other countries or more custom filters, use URLs instead.

## `sort` (type: `string`):

Select sort

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

Select job type

## `fromDays` (type: `string`):

Number of days since a job was published

## `urls` (type: `array`):

List of URLs to start with

## `maxRowsPerUrl` (type: `integer`):

Maximum number of rows to extract per URL

## `enableUniqueJobs` (type: `boolean`):

- Set this to **true** to keep only unique jobs (duplicates will be skipped).
- Set this to **false** to save all jobs until the maximum number of rows is reached or the last page is scraped.

## `includeSimilarJobs` (type: `boolean`):

- Set this to **true** (default) to include "View similar jobs".
- Set this to **false** to exclude similar jobs.

## Actor input object example

```json
{
  "country": "us",
  "query": "Analyst",
  "location": "New York",
  "maxRows": 10000,
  "remote": "remote",
  "level": "entry_level",
  "sort": "relevance",
  "jobType": "fulltime",
  "fromDays": "14",
  "urls": [
    "https://indeed.com/cmp/google",
    "https://www.indeed.com/jobs?q=engineer&l=San+Francisco&sc=0kf%3Afcckey%28b1f359487c26ba41%29%3B"
  ],
  "maxRowsPerUrl": 100,
  "includeSimilarJobs": true
}
```

# 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 = {
    "country": "us",
    "query": "Analyst",
    "maxRows": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("borderline/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 = {
    "country": "us",
    "query": "Analyst",
    "maxRows": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("borderline/indeed-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 '{
  "country": "us",
  "query": "Analyst",
  "maxRows": 100
}' |
apify call borderline/indeed-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🚀 Indeed jobs scraper [PPR]",
        "description": "Pay per result - Fast and reliable Indeed Job Scraper! 🚀 Extract job listings with company details effortlessly with advanced filters, avoid blocking, and enjoy lightning-speed execution. Build your analytics, automate searches, or benchmark salaries—all with seamless outputs. Try it now for free",
        "version": "0.0",
        "x-build-id": "kdKYKaNNLDO8l0gNg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/borderline~indeed-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-borderline-indeed-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/borderline~indeed-scraper/runs": {
            "post": {
                "operationId": "runs-sync-borderline-indeed-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/borderline~indeed-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-borderline-indeed-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",
                "properties": {
                    "country": {
                        "title": "🗺️ Country",
                        "enum": [
                            "ar",
                            "au",
                            "at",
                            "bh",
                            "be",
                            "br",
                            "ca",
                            "cl",
                            "cn",
                            "co",
                            "cz",
                            "dk",
                            "fi",
                            "fr",
                            "de",
                            "gr",
                            "hk",
                            "hu",
                            "in",
                            "id",
                            "ie",
                            "il",
                            "it",
                            "jp",
                            "kw",
                            "lu",
                            "my",
                            "mx",
                            "ma",
                            "nl",
                            "nz",
                            "no",
                            "om",
                            "pe",
                            "ph",
                            "pl",
                            "pt",
                            "qa",
                            "ro",
                            "sa",
                            "sg",
                            "za",
                            "kr",
                            "es",
                            "se",
                            "ch",
                            "tw",
                            "tr",
                            "ua",
                            "ae",
                            "uk",
                            "us",
                            "ve",
                            "vn",
                            "cr",
                            "ec",
                            "eg",
                            "ng",
                            "pk",
                            "pa",
                            "th",
                            "uy"
                        ],
                        "type": "string",
                        "description": "Select country (default is US based) \n Enhance accuracy by selecting the associated country (e.g., 'fr' for French jobs on fr.indeed.com). Data is drawn directly from country-specific indeed.com platforms, ensuring relevant outcomes for your location."
                    },
                    "query": {
                        "title": "🔎 Query",
                        "type": "string",
                        "description": "Enter your query"
                    },
                    "location": {
                        "title": "🌎 Location (city , state , zip code or 'remote')",
                        "type": "string",
                        "description": "Specify city, state, zip, or 'remote' positions. (For better accuracy, pair location with the relevant country. E.g., Paris, set country to 'France' for precise results.)"
                    },
                    "maxRows": {
                        "title": "🔢 Max rows (listings)",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Enter max rows (listings) to get)"
                    },
                    "radius": {
                        "title": "📏 Radius",
                        "enum": [
                            "0",
                            "5",
                            "10",
                            "15",
                            "25",
                            "35",
                            "50",
                            "100"
                        ],
                        "type": "string",
                        "description": "Enter radius (km or miles depending on country)"
                    },
                    "remote": {
                        "title": "🏠 Remote",
                        "enum": [
                            "remote",
                            "hybrid"
                        ],
                        "type": "string",
                        "description": "Select if you want to get remote or hybrid work"
                    },
                    "level": {
                        "title": "🧑‍🎓 Job level",
                        "enum": [
                            "entry_level",
                            "mid_level",
                            "senior_level"
                        ],
                        "type": "string",
                        "description": "Select job level. ⚠️ This parameter only works on the US domain (country: 'us'). For other countries or more custom filters, use URLs instead."
                    },
                    "sort": {
                        "title": "📑 Sort",
                        "enum": [
                            "relevance",
                            "date"
                        ],
                        "type": "string",
                        "description": "Select sort"
                    },
                    "jobType": {
                        "title": "📝 Job type",
                        "enum": [
                            "fulltime",
                            "parttime",
                            "contract",
                            "internship",
                            "temporary",
                            "permanent",
                            "seasonal",
                            "freelance"
                        ],
                        "type": "string",
                        "description": "Select job type"
                    },
                    "fromDays": {
                        "title": "📅 From days",
                        "enum": [
                            "1",
                            "3",
                            "7",
                            "14"
                        ],
                        "type": "string",
                        "description": "Number of days since a job was published"
                    },
                    "urls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "List of URLs to start with",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxRowsPerUrl": {
                        "title": "Max rows per URL",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of rows to extract per URL"
                    },
                    "enableUniqueJobs": {
                        "title": "🧹 Save only unique jobs",
                        "type": "boolean",
                        "description": "- Set this to **true** to keep only unique jobs (duplicates will be skipped). \n- Set this to **false** to save all jobs until the maximum number of rows is reached or the last page is scraped."
                    },
                    "includeSimilarJobs": {
                        "title": "🔗 Include \"View similar jobs\"",
                        "type": "boolean",
                        "description": "- Set this to **true** (default) to include \"View similar jobs\". \n- Set this to **false** to exclude similar jobs."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
