# GulfTalent Jobs Scraper (`solidcode/gulftalent-scraper`) Actor

\[💰 $0.98 / 1K] Extract job postings from GulfTalent across the Gulf and Middle East — UAE, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, and more. Get titles, companies, salaries, requirements, employment type, and apply links by keyword, country, city, and date.

- **URL**: https://apify.com/solidcode/gulftalent-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (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 $0.98 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

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

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

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

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

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

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

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

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

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

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


# README

## GulfTalent Jobs Scraper

Extract job listings from GulfTalent — the leading career platform across the Gulf and wider Middle East — with full descriptions, salary bands, employer requirements, and direct apply links for every posting. Built for GCC-focused recruiters, talent-mapping teams, and compensation analysts who need a clean, current view of the Middle East labor market without writing pagination code or maintaining a scraper.

### Why This Scraper?

- **Coverage of 10 Gulf and MENA countries** — United Arab Emirates, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, Lebanon, Jordan, and Iraq, each switchable from a single dropdown.
- **Five employment-type filters** — Full-time, Part-time, Contract, Internship, and Temporary, mixable in a single run.
- **28 structured fields per job** — title, company, location, salary range, nationality preference, gender preference, Arabic-fluency requirement, industry, category, posted date, employment type, full description (text + HTML), requirements, benefits, apply URL, and more.
- **Full job descriptions and requirements** — not just the teaser snippet that shows on the search page. Detail-page enrichment is on by default and toggleable for fast list-view scans.
- **Multi-keyword batch search with cross-query deduplication** — run "accountant", "auditor", and "financial controller" in one invocation; every job appears exactly once, tagged with the keyword that surfaced it.
- **Direct URL mode** — paste any GulfTalent search URL or a single job-detail URL and the actor handles both shapes automatically.
- **Native nationality, gender, and Arabic-fluency fields** — surfaced as first-class columns so you can model the region-specific hiring filters that other generic job scrapers throw away.
- **Overshoot-safe pagination** — set `maxResults: 50` and you get every job from the page that crossed the threshold, not a hard cut at 50. Nothing useful is left on the table.
- **Local search-query attribution** — every row carries the `searchQuery` that found it, so multi-keyword runs stay traceable when you load the dataset into a CRM.

### Use Cases

**Recruitment & Talent Mapping**
- Track which GCC companies are actively hiring for a role you place candidates into
- Build a live map of competitor hiring across the UAE and Saudi Arabia
- Surface new postings for niche skills (Arabic-fluent SAP consultants, FinTech compliance, oil & gas engineering)
- Pipe fresh roles into your ATS for proactive candidate matching

**Salary Benchmarking & Compensation Research**
- Pull salary ranges across thousands of postings to benchmark a role by country and industry
- Compare base pay for the same job title between Dubai, Riyadh, and Doha
- Track how nationality and gender preferences correlate with advertised salary bands

**Market Research & Labor Analytics**
- Quantify hiring volume by country, industry, and category month-over-month
- Detect emerging sectors from a burst of postings in a specific category
- Build GCC labor-market reports for institutional clients

**Lead Generation for HR-Tech and Staffing Vendors**
- Identify which companies in your target territory are actively scaling
- Build prospect lists of hiring managers and brands posting in your vertical
- Target firms by industry, location, and posting volume

**Academic & Policy Research**
- Quantify Arabic-fluency requirements across sectors for labor-economics studies
- Study the gender- and nationality-preference language used in Gulf job ads
- Track recruitment patterns across MENA countries over time

### Getting Started

#### Simple Search

The easiest possible run — one keyword, one country, defaults everywhere:

```json
{
    "searchQueries": ["accountant"],
    "country": "uae"
}
````

#### Filtered Search

Narrow to specific employment types and cap results:

```json
{
    "searchQueries": ["software engineer"],
    "country": "saudi-arabia",
    "employmentType": ["full-time", "contract"],
    "maxResults": 200
}
```

#### Multi-Keyword + City Filter

Run several searches in one go, narrowed to a single city, with cross-query deduplication:

```json
{
    "searchQueries": ["marketing manager", "brand manager", "growth manager"],
    "country": "uae",
    "location": "Dubai",
    "maxResults": 300
}
```

#### Direct URLs

Paste a GulfTalent search URL you've already dialled in, or a single job-detail page:

```json
{
    "startUrls": [
        "https://www.gulftalent.com/uae/jobs/accountant-2",
        "https://www.gulftalent.com/uae/jobs/accountant-576865"
    ],
    "includeJobDetails": true
}
```

#### Fast Light Scan

Skip detail-page enrichment for ~3× faster runs when you only need list-view data:

```json
{
    "searchQueries": ["sales executive"],
    "country": "qatar",
    "maxResults": 500,
    "includeJobDetails": false
}
```

### Input Reference

#### Search

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchQueries` | string\[] | `["accountant"]` | Job titles or keywords to search for (e.g. "accountant", "marketing manager", "software engineer"). Each keyword runs a separate search; results are deduplicated across keywords by job ID. Leave empty if you only want to use direct URLs. |
| `country` | select | `United Arab Emirates` | Country to limit the search to. Choose from United Arab Emirates, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, Lebanon, Jordan, or Iraq. Applied to every keyword search. |
| `location` | string | `""` | Optional city or area within the chosen country (e.g. "Dubai", "Abu Dhabi", "Riyadh", "Doha"). Leave blank to search the whole country. |
| `startUrls` | string\[] | `[]` | Optional. Paste full GulfTalent search URLs or job-detail URLs to scrape them as-is. Useful when you have already dialled in a search in the GulfTalent UI. |

#### Filters & Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Maximum job listings to collect per keyword or URL (1–1,000). The scraper stops requesting new pages once this number is reached but keeps every job from the final page (so the actual count may slightly overshoot). |
| `employmentType` | select\[] | `[]` | Only return jobs of these employment types: Full-time, Part-time, Contract, Internship, or Temporary. Leave empty for all types. |

#### Advanced

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeJobDetails` | boolean | `true` | Fetch the full job description, requirements, salary, and apply link from each listing's detail page. Slightly slower but produces much richer data. Disable for faster light scans that return only the list-view fields. |

### Output

Every row is one job posting. Here is a representative result with full details enabled:

```json
{
    "jobId": "576865",
    "url": "https://www.gulftalent.com/uae/jobs/accountant-576865",
    "title": "Accountant",
    "company": "Sino Facade",
    "companyAbout": null,
    "location": "Dubai, UAE",
    "country": "United Arab Emirates",
    "city": "Dubai",
    "postedDate": "2026-04-22T00:00:00+00:00",
    "postedRelative": "3 weeks ago",
    "employmentType": "Full-time",
    "experience": null,
    "industry": "Construction",
    "category": "Accounting & Audit",
    "salaryCurrency": null,
    "salaryMin": null,
    "salaryMax": null,
    "salaryRaw": null,
    "nationality": null,
    "gender": null,
    "arabicFluency": null,
    "description": "We are seeking a detail-oriented and experienced Accountant to join our dynamic team in the construction and trading industry...",
    "descriptionHtml": "<p>We are seeking a detail-oriented and experienced Accountant...</p>",
    "requirements": "- Bachelor's degree in Accounting, Finance or related field.\n- Proven experience as an accountant...",
    "benefits": null,
    "applyUrl": "https://www.gulftalent.com/uae/jobs/accountant-576865",
    "searchQuery": "accountant",
    "scrapedAt": "2026-05-15T23:31:20.134711+00:00"
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `jobId` | string | GulfTalent's internal job ID (used for deduplication across keywords). |
| `url` | string | Canonical GulfTalent job-detail URL. |
| `title` | string | Job title. |
| `company` | string | Hiring company name. |
| `companyAbout` | string | null | Company description text when available on the detail page. |
| `searchQuery` | string | null | The keyword that surfaced this job (echoed for traceability when running multiple queries). |
| `scrapedAt` | string | ISO 8601 UTC timestamp the row was extracted. |

#### Location

| Field | Type | Description |
|-------|------|-------------|
| `location` | string | Combined location text (e.g. "Dubai, UAE"). |
| `country` | string | Country name (United Arab Emirates, Saudi Arabia, Qatar, etc.). |
| `city` | string | null | City portion of the location. |

#### Timing & Employment

| Field | Type | Description |
|-------|------|-------------|
| `postedDate` | string | null | ISO 8601 date the job was posted. |
| `postedRelative` | string | null | Site's relative-time label (e.g. "3 weeks ago"). |
| `employmentType` | string | null | Full-time, Part-time, Contract, Internship, or Temporary. |
| `experience` | string | null | Required experience text when stated by the employer. |
| `industry` | string | null | Industry classification (e.g. "Construction"). |
| `category` | string | null | Job category or function (e.g. "Accounting & Audit"). |

#### Compensation

| Field | Type | Description |
|-------|------|-------------|
| `salaryCurrency` | string | null | Currency code or label when a salary is stated. |
| `salaryMin` | number | null | Lower bound of the advertised salary range. |
| `salaryMax` | number | null | Upper bound of the advertised salary range. |
| `salaryRaw` | string | null | Original salary string when min/max can't be parsed. |

#### Region-Specific Preferences

| Field | Type | Description |
|-------|------|-------------|
| `nationality` | string | null | Nationality preference stated by the employer (when applicable). |
| `gender` | string | null | Gender preference stated by the employer (when applicable). |
| `arabicFluency` | string | null | Arabic-language requirement (e.g. "Required", "Preferred"). |

#### Description & Application

Populated when `includeJobDetails` is on.

| Field | Type | Description |
|-------|------|-------------|
| `description` | string | null | Plain-text job description from the detail page. |
| `descriptionHtml` | string | null | HTML version of the job description with formatting preserved. |
| `requirements` | string | null | Job requirements section (text). |
| `benefits` | string | null | Benefits section when listed separately. |
| `applyUrl` | string | null | Direct apply URL (GulfTalent canonical URL for native apply; external ATS jobs return null in this version). |

### Tips for Best Results

- **GCC job titles vary by country.** Try both "accountant" and "auditor", or "sales executive" and "business development", to widen coverage in a single multi-keyword run rather than launching several separate runs.
- **Use country plus a `location` filter for tight regional queries.** "Saudi Arabia" + `location: "Jeddah"` is more reliable than a free-text city search alone, because the country dropdown maps to GulfTalent's authoritative country segment.
- **GulfTalent has no date-filter on the wire.** Schedule the scraper to run daily and dedupe on `jobId` downstream — this gives you reliable "new postings today" tracking without paying for stale results.
- **Turn off `includeJobDetails` for fast prospecting scans.** When you only need title, company, location, and posted date, disable the toggle for roughly 3× faster runs at the same per-result price.
- **Start small.** Set `maxResults` to 25–50 on your first run to verify the keyword and country settings match your intent, then scale up.
- **Combine `searchQueries` and `startUrls` in one invocation.** Pay for one start and pull both your standing keyword searches and any pre-built GulfTalent URLs you've bookmarked.
- **Sparse markets are normal.** Smaller countries like Kuwait, Bahrain, and Lebanon often return only a handful of jobs for niche keywords. The actor exits cleanly with a "No matching jobs" status message and zero rows in that case — broaden the keyword or switch country to recover.

### Pricing

**$0.98 per 1,000 jobs.** No compute charges — you only pay per result returned.

| Results | Cost |
|---------|------|
| 100 | $0.10 |
| 1,000 | $0.98 |
| 10,000 | $9.80 |
| 100,000 | $98.00 |

A "result" is any job row in the output dataset. There are no compute or per-minute add-ons billed by this actor — what you see is what you pay.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate recruitment research, salary benchmarking, labor-market analysis, and lead generation. Users are responsible for complying with applicable laws and GulfTalent's terms of service, and for using extracted data in line with local employment, advertising, and data-protection regulations across the Gulf and Middle East. Do not use extracted data for spam, harassment, or any illegal purpose.

# Actor input Schema

## `searchQueries` (type: `array`):

Job titles or keywords to search for (e.g. 'accountant', 'marketing manager', 'software engineer'). Each keyword runs a separate search; results are deduplicated across keywords by job ID. Leave empty if you only want to use direct URLs.

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

Country to limit the search to. Applied to every keyword search above.

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

Optional city or area within the chosen country (e.g. 'Dubai', 'Abu Dhabi', 'Riyadh', 'Doha'). Leave blank to search the whole country.

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

Optional. Paste full GulfTalent search URLs (e.g. https://www.gulftalent.com/uae/jobs/accountant-2 or a filtered search page) to scrape them as-is. Useful when you have already dialed in a search in the GulfTalent UI.

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

Maximum job listings to collect per keyword or URL. The scraper stops requesting new pages once this number is reached but keeps every job from the final page (so the actual count may slightly overshoot).

## `employmentType` (type: `array`):

Only return jobs of these employment types. Leave empty for all types.

## `includeJobDetails` (type: `boolean`):

Fetch the full job description, requirements, salary, and apply link from each listing's detail page. Slightly slower but produces much richer data. Disable for faster light scans that return only the list-view fields.

## Actor input object example

```json
{
  "searchQueries": [
    "accountant"
  ],
  "country": "uae",
  "startUrls": [],
  "maxResults": 100,
  "employmentType": [],
  "includeJobDetails": true
}
```

# Actor output Schema

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

Compact table of jobs with key fields like title, company, location, salary, and posted date.

## `details` (type: `string`):

Full per-job rows including description, requirements, salary range, employment type, and apply URL.

# 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 = {
    "searchQueries": [
        "accountant"
    ],
    "country": "uae",
    "location": "",
    "startUrls": [],
    "maxResults": 100,
    "employmentType": [],
    "includeJobDetails": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/gulftalent-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 = {
    "searchQueries": ["accountant"],
    "country": "uae",
    "location": "",
    "startUrls": [],
    "maxResults": 100,
    "employmentType": [],
    "includeJobDetails": True,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/gulftalent-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 '{
  "searchQueries": [
    "accountant"
  ],
  "country": "uae",
  "location": "",
  "startUrls": [],
  "maxResults": 100,
  "employmentType": [],
  "includeJobDetails": true
}' |
apify call solidcode/gulftalent-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "GulfTalent Jobs Scraper",
        "description": "[💰 $0.98 / 1K] Extract job postings from GulfTalent across the Gulf and Middle East — UAE, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, and more. Get titles, companies, salaries, requirements, employment type, and apply links by keyword, country, city, and date.",
        "version": "1.0",
        "x-build-id": "rRZOrOpO3EQDlPE3o"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~gulftalent-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-gulftalent-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/solidcode~gulftalent-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-gulftalent-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/solidcode~gulftalent-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-gulftalent-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": {
                    "searchQueries": {
                        "title": "Search Keywords",
                        "type": "array",
                        "description": "Job titles or keywords to search for (e.g. 'accountant', 'marketing manager', 'software engineer'). Each keyword runs a separate search; results are deduplicated across keywords by job ID. Leave empty if you only want to use direct URLs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "uae",
                            "saudi-arabia",
                            "qatar",
                            "kuwait",
                            "oman",
                            "bahrain",
                            "egypt",
                            "lebanon",
                            "jordan",
                            "iraq"
                        ],
                        "type": "string",
                        "description": "Country to limit the search to. Applied to every keyword search above.",
                        "default": "uae"
                    },
                    "location": {
                        "title": "City / Location",
                        "type": "string",
                        "description": "Optional city or area within the chosen country (e.g. 'Dubai', 'Abu Dhabi', 'Riyadh', 'Doha'). Leave blank to search the whole country."
                    },
                    "startUrls": {
                        "title": "Direct GulfTalent Search URLs",
                        "type": "array",
                        "description": "Optional. Paste full GulfTalent search URLs (e.g. https://www.gulftalent.com/uae/jobs/accountant-2 or a filtered search page) to scrape them as-is. Useful when you have already dialed in a search in the GulfTalent UI.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max Results per Search",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum job listings to collect per keyword or URL. The scraper stops requesting new pages once this number is reached but keeps every job from the final page (so the actual count may slightly overshoot).",
                        "default": 100
                    },
                    "employmentType": {
                        "title": "Employment Type",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only return jobs of these employment types. Leave empty for all types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "full-time",
                                "part-time",
                                "contract",
                                "internship",
                                "temporary"
                            ],
                            "enumTitles": [
                                "Full-time",
                                "Part-time",
                                "Contract",
                                "Internship",
                                "Temporary"
                            ]
                        },
                        "default": []
                    },
                    "includeJobDetails": {
                        "title": "Include Full Job Details",
                        "type": "boolean",
                        "description": "Fetch the full job description, requirements, salary, and apply link from each listing's detail page. Slightly slower but produces much richer data. Disable for faster light scans that return only the list-view fields.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
