# SmartRecruiters Public Jobs Scraper (`coregent/smartrecruiters-public-jobs-scraper`) Actor

Scrape public SmartRecruiters job postings from one or many company career pages into clean, flat, CSV-friendly hiring-intelligence rows - no login, cookies, or API key required.

- **URL**: https://apify.com/coregent/smartrecruiters-public-jobs-scraper.md
- **Developed by:** [Delowar Munna](https://apify.com/coregent) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 job-results

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

Learn more: https://docs.apify.com/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

## SmartRecruiters Public Jobs Scraper

![SmartRecruiters Public Jobs Scraper](https://raw.githubusercontent.com/coregentdevspace/smartrecruiters-public-jobs-scraper-assets/main/thumbnail-smartrecruiters-public-jobs-scraper.png)

Extract **public job postings** from SmartRecruiters-powered career pages and turn them into clean, flat, **CSV-friendly** rows enriched with lightweight, non-AI **hiring-signal** fields.

It uses SmartRecruiters' **public Posting API** over HTTP (no browser) — **no login, cookies, candidate account, or API key**. Give it one or many SmartRecruiters company slugs (or career/job URLs) and it returns active postings with titles, locations, departments, employment type, descriptions, apply URLs, posted dates, and a transparent hiring-signal score.

---

### ✨ What you get

- **HTTP/API-first** collection from SmartRecruiters public posting endpoints — fast, no browser.
- **Flat, CSV-ready** rows (one per job) with identity, company, location, classification, descriptions, and hiring-signal fields.
- **Multi-company batching** by slug or URL.
- **Server-side + local filters**: keyword, country/region/city, location type, posted-after date, title include/exclude, department keywords.
- **Deduplication** by SmartRecruiters UUID / ID / URL.
- **Pay-per-result pricing** — you are charged only for unique jobs successfully saved.

---

### 🖼️ Output preview

Jobs & hiring signals — table view:

![Jobs & hiring signals table view](https://raw.githubusercontent.com/coregentdevspace/smartrecruiters-public-jobs-scraper-assets/main/smartrecruiters-public-jobs-scraper-output-jobs-n-hiring-signals-table-view.png)

---

### 🧾 Input

Provide **either** `companySlugs` **or** `startUrls` — you don't need both.

| Field | Type | Default | Description |
|---|---|---|---|
| `companySlugs` | array | `["SmartRecruiters"]` | SmartRecruiters company identifiers (e.g. `BoschGroup`, `Visa`). |
| `startUrls` | array | `[]` | SmartRecruiters career/job URLs; the slug is extracted automatically. |
| `query` | string | `""` | Keyword for title/location (API `q` + local fallback). |
| `maxResults` | integer | `1000` | Max saved unique jobs across the run (1–50000). |
| `countryCode` | string | `""` | Country filter, ISO-style (e.g. `us`, `gb`). |
| `region` | string | `""` | Region/state filter. |
| `city` | string | `""` | City filter. |
| `locationTypes` | array | `["ANY"]` | `ANY`, `REMOTE`, `HYBRID`, `ONSITE` (`ANY` can't be combined). |
| `language` | string | `""` | Localized content hint (e.g. `en`, `en-GB`, `fr-CA`). |
| `postedAfter` | string | `""` | ISO date; collect jobs released on/after it. |
| `titleIncludeKeywords` | array | `[]` | Keep titles containing one of these terms. |
| `titleExcludeKeywords` | array | `[]` | Drop titles containing one of these terms. |
| `departmentKeywords` | array | `[]` | Keep jobs whose department/function matches. |
| `includeDescriptions` | boolean | `true` | Fetch plain-text description fields. |
| `includeHtmlDescriptions` | boolean | `true` | Also output raw HTML description blocks (turn off for lighter CSV). |
| `deduplicate` | boolean | `true` | Remove duplicate jobs across companies/URLs. |
| `proxyConfiguration` | object | `{ "useApifyProxy": true }` | Datacenter / no-proxy / custom URLs. **Apify Residential not supported.** |

> Descriptions and canonical public URLs come from SmartRecruiters' per-posting detail endpoint, so a detail fetch happens per kept posting when either description option is enabled (both default on).

#### Sample input 1 — by company slugs

```json
{
  "companySlugs": ["Visa", "BoschGroup"],
  "query": "engineer",
  "countryCode": "us",
  "maxResults": 200,
  "titleExcludeKeywords": ["intern"],
  "includeDescriptions": true,
  "deduplicate": true
}
````

#### Sample input 2 — by start URL

```json
{
  "startUrls": ["https://jobs.smartrecruiters.com/SmartRecruiters"],
  "maxResults": 50,
  "locationTypes": ["REMOTE", "HYBRID"],
  "includeHtmlDescriptions": false
}
```

***

### 📤 Output

One flat row per posting (CSV-friendly). Field groups:

- **Identity**: `job_id`, `job_uuid`, `ref_number`, `job_title`, `company_name`, `company_identifier`, `company_cid`
- **URLs / dates**: `job_url`, `apply_url`, `posted_at`, `status`, `job_age_days`
- **Location**: `city`, `region`, `region_code`, `country`, `country_code`, `latitude`, `longitude`, `location_text`, `location_type`, `is_remote`, `is_hybrid`
- **Classification**: `department(_id)`, `function(_id)`, `industry(_id)`, `experience_level(_id)`, `employment_type(_id)`
- **Compensation**: `compensation_min`, `compensation_max`, `compensation_currency`, `has_compensation`
- **Descriptions**: `company_description_text`, `job_description_text`, `qualifications_text`, `additional_information_text`, `full_description_text` (+ optional `*_html`)
- **Signal**: `hiring_signal_score` (0–100), `hiring_signal_label` (`high`/`medium`/`low`), `reason_tags` (pipe-separated)
- **Provenance**: `source_platform`, `source_input`, `source_company_slug`, `scraped_at`

A run summary is stored in the default key-value store under key **`RUN_SUMMARY`**.

> Note: SmartRecruiters' **public** API does not expose `company_cid`, `region_code`, or structured compensation (`compensation_*`), so those are `null`; `country` is derived from the country code, and `latitude`/`longitude` are present only for companies that publish coordinates.

#### Sample output record (all fields; long text/HTML truncated here for readability)

```json
{
  "job_id": "744000122509268",
  "job_uuid": "ded6c65f-7598-4801-981d-13a51716e73b",
  "ref_number": "REF97308A",
  "job_title": "Sr. SW Engineer",
  "company_name": "Visa",
  "company_identifier": "Visa",
  "company_cid": null,
  "job_url": "https://jobs.smartrecruiters.com/Visa/744000122509268-sr-sw-engineer",
  "apply_url": "https://jobs.smartrecruiters.com/Visa/744000122509268-sr-sw-engineer?oga=true",
  "posted_at": "2026-04-23T16:54:54.835Z",
  "status": "ACTIVE",
  "city": "Austin",
  "region": "TX",
  "region_code": null,
  "country": "United States",
  "country_code": "us",
  "latitude": 30.267153,
  "longitude": -97.7430608,
  "location_text": "Austin, TX, United States",
  "location_type": "HYBRID",
  "department_id": "868537",
  "department": "Technology and Operations",
  "function_id": "information_technology",
  "function": "Information Technology",
  "industry_id": "it_and_services",
  "industry": "Information Technology And Services",
  "experience_level_id": "mid_senior_level",
  "experience_level": "Mid-Senior Level",
  "employment_type_id": "permanent",
  "employment_type": "Full-time",
  "compensation_min": null,
  "compensation_max": null,
  "compensation_currency": null,
  "company_description_text": "Visa is a world leader in payments and technology, with over 259 billion payments transactions flowing safely between consumers, merchant...",
  "job_description_text": "Visa Technology & Operations LLC, a Visa Inc. company, needs a Sr. SW Engineer (multiple openings) in Austin, Texas to: Design, develop, ...",
  "qualifications_text": "Basic Qualifications: Employer will accept a Bachelor's degree in Computer Science or related field and 4 years of experience in the job ...",
  "additional_information_text": "Worksite: Austin, Texas. This is a hybrid position. Hybrid employees can alternate time between both remote and office...",
  "full_description_text": "Visa is a world leader in payments and technology, with over 259 billion payments transactions flowing safely between consumers, merchant...",
  "company_description_html": "<p>Visa is a world leader in payments and technology, with over 259 billion p...",
  "job_description_html": "<p>Visa Technology &amp; Operations LLC, a Visa Inc. company, needs a Sr. SW ...",
  "qualifications_html": "<p>Basic Qualifications:</p><p>Employer will accept a Bachelor's degree in Co...",
  "additional_information_html": "<p><strong><u>Worksite:</u></strong> Austin, Texas...",
  "is_remote": true,
  "is_hybrid": true,
  "has_compensation": false,
  "job_age_days": 42,
  "hiring_signal_score": 80,
  "hiring_signal_label": "high",
  "reason_tags": "remote_or_hybrid|department_present|detailed_description|senior_role|enterprise_ats",
  "source_platform": "smartrecruiters",
  "source_input": "visa",
  "source_company_slug": "visa",
  "scraped_at": "2026-06-05T06:33:49.033Z"
}
```

***

### 💳 Pricing

Pay-per-event: one **`job-result`** event per valid unique job row saved to the dataset. Duplicates, filtered-out rows, invalid rows, and failed requests are never charged. The per-run spending limit you set on Apify is respected.

***

#### 🚦 Proxy policy

Use **Apify Datacenter** proxy or **no proxy** for normal runs — both work reliably against the SmartRecruiters public API at this actor's conservative concurrency.

**Apify Residential proxy is not supported.** The actor will fail at startup if `apifyProxyGroups` includes `RESIDENTIAL`. Reason: in pay-per-event actors, residential bandwidth (billed per GB) is charged to the developer, not the run user, so a single bandwidth-heavy run could exceed the per-result event revenue.

If you genuinely need residential routing, supply your own residential provider via the proxy editor's **Custom proxy URLs** field — that traffic goes through your provider, not Apify, and is unaffected:

```
http://user:pass@proxy.iproyal.com:12321
http://user:pass@proxy.brightdata.com:22225
http://user:pass@proxy.oxylabs.io:7777
```

***

### 🔒 Notes & limits

- **Public data only** — no login, cookies, session, candidate data, or authenticated Customer API.
- Postings come from SmartRecruiters' public Posting API; if a company's public endpoint is unavailable, that input is recorded as failed and the run continues.
- No AI scoring, no email/contact enrichment, no media downloads.
- Per-company pagination uses `limit`/`offset`; `maxResults` caps saved unique rows globally.

# Actor input Schema

## `companySlugs` (type: `array`):

SmartRecruiters company identifiers, for example "BoschGroup", "Visa", "SmartRecruiters". Find the slug in a career page URL such as https://jobs.smartrecruiters.com/SmartRecruiters. Neither field is required on its own — provide EITHER Company slugs OR Start URLs (you don't need both).

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

Alternative to Company slugs: paste SmartRecruiters career or job URLs (jobs.smartrecruiters.com / careers.smartrecruiters.com / www.smartrecruiters.com/{company}); the company slug is extracted automatically. Leave empty if you used Company slugs.

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

Keyword to search job titles/locations where supported (sent as the API q parameter and used as a local fallback filter). Leave empty to collect all postings.

## `maxResults` (type: `integer`):

Maximum number of saved unique jobs across the whole run (not per company). Range 1-50000.

## `countryCode` (type: `string`):

Filter jobs by country, ISO-style code where available (for example "us", "gb", "au"). Leave empty for all countries.

## `region` (type: `string`):

Filter jobs by region or state text. Leave empty for all regions.

## `city` (type: `string`):

Filter jobs by city text. Leave empty for all cities.

## `locationTypes` (type: `array`):

Filter by work arrangement. "Any" cannot be combined with the others.

## `language` (type: `string`):

Request localized posting content where supported (for example "en", "en-GB", "fr-CA", "pt-BR"). Sent as the API language / Accept-Language hint.

## `postedAfter` (type: `string`):

Collect only jobs released/posted on or after this ISO date (for example "2026-01-01"). Leave empty for all dates.

## `titleIncludeKeywords` (type: `array`):

Keep only jobs whose title contains one of these terms (case-insensitive). Leave empty to keep all.

## `titleExcludeKeywords` (type: `array`):

Exclude jobs whose title contains one of these terms (case-insensitive), for example "intern".

## `departmentKeywords` (type: `array`):

Keep only jobs whose department or function contains one of these terms (case-insensitive), for example "engineering", "sales".

## `includeDescriptions` (type: `boolean`):

Fetch each posting's detail to extract plain-text description fields (company description, job description, qualifications, additional information). Required for full descriptions and the most accurate public URLs.

## `includeHtmlDescriptions` (type: `boolean`):

Also output the raw HTML description blocks (company description, job description, qualifications, additional information). Enabled by default; turn off to keep CSV output lighter.

## `deduplicate` (type: `boolean`):

Remove duplicate jobs across companies/URLs by UUID, ID, or canonical URL so you are not charged for duplicates.

## `proxyConfiguration` (type: `object`):

Apify Proxy configuration. Defaults to Apify Proxy enabled. Apify Residential is NOT supported and will fail the run at startup; if you need residential routing, supply your own provider via Custom proxy URLs (proxyUrls).

## Actor input object example

```json
{
  "companySlugs": [
    "SmartRecruiters"
  ],
  "startUrls": [],
  "query": "engineer",
  "maxResults": 1000,
  "countryCode": "us",
  "region": "",
  "city": "",
  "locationTypes": [
    "ANY"
  ],
  "language": "",
  "postedAfter": "",
  "titleIncludeKeywords": [],
  "titleExcludeKeywords": [],
  "departmentKeywords": [],
  "includeDescriptions": true,
  "includeHtmlDescriptions": true,
  "deduplicate": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

Flat, CSV-friendly table view of every job row pushed to the dataset, including job identity, company, location, classification, descriptions, and derived hiring-signal fields.

# 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 = {
    "companySlugs": [
        "SmartRecruiters"
    ],
    "query": "engineer",
    "countryCode": "us",
    "includeHtmlDescriptions": true,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("coregent/smartrecruiters-public-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 = {
    "companySlugs": ["SmartRecruiters"],
    "query": "engineer",
    "countryCode": "us",
    "includeHtmlDescriptions": True,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("coregent/smartrecruiters-public-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 '{
  "companySlugs": [
    "SmartRecruiters"
  ],
  "query": "engineer",
  "countryCode": "us",
  "includeHtmlDescriptions": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call coregent/smartrecruiters-public-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "SmartRecruiters Public Jobs Scraper",
        "description": "Scrape public SmartRecruiters job postings from one or many company career pages into clean, flat, CSV-friendly hiring-intelligence rows - no login, cookies, or API key required.",
        "version": "1.0",
        "x-build-id": "wKh8oYZMZH4PodxYi"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/coregent~smartrecruiters-public-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-coregent-smartrecruiters-public-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/coregent~smartrecruiters-public-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-coregent-smartrecruiters-public-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/coregent~smartrecruiters-public-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-coregent-smartrecruiters-public-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",
                "properties": {
                    "companySlugs": {
                        "title": "Company slugs",
                        "type": "array",
                        "description": "SmartRecruiters company identifiers, for example \"BoschGroup\", \"Visa\", \"SmartRecruiters\". Find the slug in a career page URL such as https://jobs.smartrecruiters.com/SmartRecruiters. Neither field is required on its own — provide EITHER Company slugs OR Start URLs (you don't need both).",
                        "default": [
                            "SmartRecruiters"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Alternative to Company slugs: paste SmartRecruiters career or job URLs (jobs.smartrecruiters.com / careers.smartrecruiters.com / www.smartrecruiters.com/{company}); the company slug is extracted automatically. Leave empty if you used Company slugs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "query": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "Keyword to search job titles/locations where supported (sent as the API q parameter and used as a local fallback filter). Leave empty to collect all postings.",
                        "default": ""
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of saved unique jobs across the whole run (not per company). Range 1-50000.",
                        "default": 1000
                    },
                    "countryCode": {
                        "title": "Country code",
                        "type": "string",
                        "description": "Filter jobs by country, ISO-style code where available (for example \"us\", \"gb\", \"au\"). Leave empty for all countries.",
                        "default": ""
                    },
                    "region": {
                        "title": "Region / state",
                        "type": "string",
                        "description": "Filter jobs by region or state text. Leave empty for all regions.",
                        "default": ""
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "Filter jobs by city text. Leave empty for all cities.",
                        "default": ""
                    },
                    "locationTypes": {
                        "title": "Location types",
                        "type": "array",
                        "description": "Filter by work arrangement. \"Any\" cannot be combined with the others.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ANY",
                                "REMOTE",
                                "HYBRID",
                                "ONSITE"
                            ],
                            "enumTitles": [
                                "Any",
                                "Remote",
                                "Hybrid",
                                "On-site"
                            ]
                        },
                        "default": [
                            "ANY"
                        ]
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Request localized posting content where supported (for example \"en\", \"en-GB\", \"fr-CA\", \"pt-BR\"). Sent as the API language / Accept-Language hint.",
                        "default": ""
                    },
                    "postedAfter": {
                        "title": "Posted after",
                        "type": "string",
                        "description": "Collect only jobs released/posted on or after this ISO date (for example \"2026-01-01\"). Leave empty for all dates.",
                        "default": ""
                    },
                    "titleIncludeKeywords": {
                        "title": "Title include keywords",
                        "type": "array",
                        "description": "Keep only jobs whose title contains one of these terms (case-insensitive). Leave empty to keep all.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "titleExcludeKeywords": {
                        "title": "Title exclude keywords",
                        "type": "array",
                        "description": "Exclude jobs whose title contains one of these terms (case-insensitive), for example \"intern\".",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "departmentKeywords": {
                        "title": "Department keywords",
                        "type": "array",
                        "description": "Keep only jobs whose department or function contains one of these terms (case-insensitive), for example \"engineering\", \"sales\".",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeDescriptions": {
                        "title": "Include job descriptions",
                        "type": "boolean",
                        "description": "Fetch each posting's detail to extract plain-text description fields (company description, job description, qualifications, additional information). Required for full descriptions and the most accurate public URLs.",
                        "default": true
                    },
                    "includeHtmlDescriptions": {
                        "title": "Include raw HTML descriptions",
                        "type": "boolean",
                        "description": "Also output the raw HTML description blocks (company description, job description, qualifications, additional information). Enabled by default; turn off to keep CSV output lighter.",
                        "default": true
                    },
                    "deduplicate": {
                        "title": "Deduplicate jobs",
                        "type": "boolean",
                        "description": "Remove duplicate jobs across companies/URLs by UUID, ID, or canonical URL so you are not charged for duplicates.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Proxy configuration. Defaults to Apify Proxy enabled. Apify Residential is NOT supported and will fail the run at startup; if you need residential routing, supply your own provider via Custom proxy URLs (proxyUrls).",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
