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

Scrape GulfTalent jobs in the UAE, Saudi Arabia, Qatar and the Gulf: titles, companies, salaries, descriptions, requirements, nationality, gender and Arabic fluency. Filter by keyword, city, date, category and job type.

- **URL**: https://apify.com/parsebird/gulftalent-jobs-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.79 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

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

## How to integrate an Actor?

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### GulfTalent Jobs Scraper

**GulfTalent Jobs Scraper** extracts job listings from [GulfTalent](https://www.gulftalent.com/jobs), a job board for the UAE, Saudi Arabia, Qatar, and the wider Middle East. You get the job title, company, location, posting date, salary, full description, requirements, company profile, nationality, gender, and Arabic fluency requirements as clean JSON, CSV, or Excel.

<table><tr>
<td style="border-left:4px solid #1C1917;padding:12px 16px;font-weight:600">
Search GulfTalent by keyword, city or country, posting date, job category, industry, job type, and seniority, and get 30+ fields per job, including the full description, candidate requirements, public salary range, and the employer's own apply link.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Apify Actor: parsebird/gulftalent-jobs-scraper. Scrapes job listings from GulfTalent (gulftalent.com), a job board for the UAE, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, Jordan, Lebanon and Iraq. Call via ApifyClient: client.actor("parsebird/gulftalent-jobs-scraper").call(run_input={"keyword": "Software Engineer", "location": "Dubai", "posted_date": "7d", "maxJobs": 50}). Inputs: keyword (string, job title, skill or phrase; empty = all jobs), location (string, a GulfTalent city or country such as Dubai, Abu Dhabi, Sharjah, Riyadh, Jeddah, Doha, Kuwait City, Muscat, Manama, Cairo, UAE, Saudi Arabia, Qatar; comma-separate several cities), posted_date (string, anytime | 24h | 7d | 30d, default anytime), sortBy (string, relevance | date, default relevance), category (array of GulfTalent category ids, e.g. "1" Accounting & Audit, "42" IT - Software & Web Development), industry (array of industry ids), employmentType (array: "1" Full-time, "2" Part-time, "5" Contract, "6" Temporary, "3" Internship), seniority (array: "1" Student/Fresh graduate, "2" Junior, "4" Experienced, "5" Supervisor/Manager, "6" Top Management/Director), easyApplyOnly (boolean, default false), maxJobs (integer, default 20, 0 = no limit), maxPages (integer, result pages of 25 jobs, default 10, 0 = no limit), proxyConfiguration (object, optional). Output fields per job: job_id, title, company, location, city, country, date_posted, url, reference, description_html, description_text, requirements, company_about, industry, employmentType, is_remote, salaryCurrency, salaryMin, salaryMax, salary_text, easy_apply, external_apply_url, benefits, category, job_function, seniority, nationality, gender, arabic_fluency, keywords, company_url, company_logo, street_address. Pricing: pay per job saved. Full API spec: https://apify.com/parsebird/gulftalent-jobs-scraper/api. Get your token: https://console.apify.com/settings/integrations.
```

### What is GulfTalent Jobs Scraper?

[GulfTalent](https://www.gulftalent.com) is a recruitment site for professionals in the Gulf and the Middle East. When we checked on October 11, 2026, GulfTalent listed **36,963 jobs**, including **18,694 in the UAE**, **6,799 in Saudi Arabia**, **4,168 in Egypt**, and **2,972 in Qatar**. Dubai alone had **10,123 jobs**.

**GulfTalent Jobs Scraper** turns those listings into a structured dataset. Type a keyword and a city, click Start, and download the jobs. It works as a **GulfTalent API alternative**: no GulfTalent account, API key, or code needed.

### What can GulfTalent Jobs Scraper do?

- 🔎 **Keyword and location search.** Search by job title or skill in any GulfTalent city (Dubai, Abu Dhabi, Riyadh, Jeddah, Doha, Kuwait City, Muscat, Manama, Cairo, Amman, and more) or a whole country.
- 🗂️ **GulfTalent's own filters.** Narrow results by job category, company industry, job type, seniority, and Easy Apply jobs, the same filters you see on GulfTalent.
- 📅 **Fresh jobs only.** Keep jobs posted in the last 24 hours, 7 days, or 30 days. The Actor jumps straight past older jobs, so even "all new jobs today" runs stay fast.
- 📄 **Full job details.** Every job comes with its description (HTML and plain text), candidate requirements, company profile, benefits, and reference code.
- 🧾 **Gulf-specific requirements.** Nationality, gender, and Arabic fluency, as listed on each job.
- 💰 **Salaries when public.** Minimum, maximum, and currency when the employer shows the salary.
- 🛑 **No silent misses.** If GulfTalent doesn't know a location you type, the run stops and lists the valid cities and countries, so you never pay for unfiltered jobs.
- 📅 **Scheduling and monitoring.** Run daily with [Apify Schedules](https://docs.apify.com/platform/schedules) to catch new GulfTalent jobs.
- 🔌 **API and integrations.** Use the [Apify API](https://docs.apify.com/api/v2), or send jobs to Google Sheets, Zapier, Make, Slack, or webhooks with [Apify integrations](https://docs.apify.com/platform/integrations). Export as JSON, CSV, Excel, XML, or HTML.

### What data can you extract from GulfTalent?

| Field | Description |
|-------|-------------|
| `job_id` / `reference` | GulfTalent job ID and the employer's reference code |
| `title` / `company` | Job title and hiring company |
| `location` / `city` / `country` | Job location as shown on GulfTalent, plus city and country |
| `date_posted` | Posting date (ISO 8601) |
| `url` | GulfTalent job page |
| `description_html` / `description_text` | Full job description as HTML and as plain text |
| `requirements` | Candidate profile and requirements |
| `company_about` | About the hiring company |
| `industry` / `category` / `job_function` | Company industry, GulfTalent job category, and job function |
| `employmentType` / `seniority` / `is_remote` | Job type (`FULL_TIME`, `CONTRACT`, and others), career level, and remote flag |
| `salaryMin` / `salaryMax` / `salaryCurrency` / `salary_text` | Salary range when the employer makes it public |
| `easy_apply` / `external_apply_url` | Whether you apply on GulfTalent, or the employer's own apply link |
| `benefits` | Benefits, when listed |
| `nationality` / `gender` / `arabic_fluency` | Nationality, gender, and Arabic fluency requirements |
| `keywords` | Skills and keywords the employer attached to the job |
| `company_url` / `company_logo` / `street_address` | Company page on GulfTalent, logo, and office address when listed |

Some fields are empty when a job doesn't list them. In a sample of 415 accountant jobs on October 11, 2026, every job had a description, category, seniority, nationality, gender, and Arabic fluency value, about half had a company profile, 20% had a separate requirements section, and about 10% showed a public salary. Most jobs that send you to an employer's careers site put the requirements inside the description.

### How to scrape GulfTalent jobs

1. Open [GulfTalent Jobs Scraper](https://apify.com/parsebird/gulftalent-jobs-scraper) on Apify Store and click **Try for free**.
2. Enter a **Keyword**, like `Accountant` or `Software Engineer`, or leave it empty to get all jobs.
3. Enter a **Location**, like `Dubai`, `Riyadh`, or `Saudi Arabia`, or leave it empty for every location.
4. Optionally pick **Posted within**, **Sort by**, and any filters: job category, company industry, job type, seniority, or Easy Apply jobs only.
5. Set **Max jobs** and **Max result pages**.
6. Click **Start** and wait for the run to finish.
7. Download the jobs as JSON, CSV, Excel, XML, or HTML from the **Output** tab, or read them with the API.

### How much does it cost to scrape GulfTalent?

GulfTalent Jobs Scraper uses **pay-per-event** pricing. You pay for each job saved to the dataset. Compute and proxy costs are included in the event price.

| Event | Free | Bronze | Silver | Gold |
|-------|------|--------|--------|------|
| `job-scraped` (per job) | $0.00099 | $0.00089 | $0.00079 | $0.00079 |
| Per 1,000 jobs | **$0.99** | **$0.89** | **$0.79** | **$0.79** |

For example, 100 jobs cost about $0.10 on the Free plan, and 1,000 jobs cost $0.99. Jobs skipped by the posted-date filter are not charged. You can set a maximum cost per run in Apify Console, and the Actor stops when it's reached.

### Input

See the [Input tab](https://apify.com/parsebird/gulftalent-jobs-scraper/input-schema) for the full form.

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `keyword` | string | No | — | Job title, skill, or phrase. Empty = all jobs |
| `location` | string | No | — | GulfTalent city or country, like `Dubai`, `Abu Dhabi`, `Riyadh`, `UAE`. Comma-separate several cities |
| `posted_date` | string | No | `anytime` | `anytime`, `24h`, `7d`, or `30d` |
| `sortBy` | string | No | `relevance` | `relevance` or `date` (newest first) |
| `category` | array | No | — | GulfTalent job categories (pick in the form) |
| `industry` | array | No | — | Company industries (pick in the form) |
| `employmentType` | array | No | — | Full-time, Part-time, Contract, Temporary, Internship |
| `seniority` | array | No | — | Student/Fresh graduate, Junior, Experienced, Supervisor/Manager, Top Management/Director |
| `easyApplyOnly` | boolean | No | `false` | Only jobs you apply to on GulfTalent |
| `maxJobs` | integer | No | `20` | Jobs to save. `0` = no limit |
| `maxPages` | integer | No | `10` | Result pages to read (25 jobs each). `0` = no limit |
| `proxyConfiguration` | object | No | Residential Apify Proxy | Keep the default; see the FAQ |

**Software engineering jobs in Dubai**

```json
{
    "keyword": "Software Engineer",
    "location": "Dubai",
    "maxJobs": 50
}
```

**Marketing jobs posted in Abu Dhabi in the last 7 days**

```json
{
    "keyword": "Marketing",
    "location": "Abu Dhabi",
    "posted_date": "7d",
    "maxJobs": 100,
    "maxPages": 5
}
```

**All new accounting jobs in Saudi Arabia, newest first**

```json
{
    "location": "Saudi Arabia",
    "category": ["1"],
    "posted_date": "30d",
    "sortBy": "date",
    "maxJobs": 0,
    "maxPages": 0
}
```

### Output example

Each job is one row in the dataset. Long text is shortened here.

```json
{
    "job_id": "602905",
    "title": "Accountant",
    "company": "Moore JFC Consulting",
    "location": "Riyadh, Saudi Arabia",
    "city": "Riyadh",
    "country": "Saudi Arabia",
    "date_posted": "2026-06-30T00:00:00+00:00",
    "url": "https://www.gulftalent.com/saudi-arabia/jobs/accountant-602905",
    "reference": "SP171-47",
    "description_html": "<p>We are seeking a detail-oriented and experienced Accountant to join our dynamic audit and finance consultancy team in Riyadh, Saudi Arabia. The successful candidate will play a crucial role in mana...",
    "description_text": "We are seeking a detail-oriented and experienced Accountant to join our dynamic audit and finance consultancy team in Riyadh, Saudi Arabia. The successful candidate will play a crucial role in managin...",
    "requirements": "- Bachelor’s degree in Accounting, Finance, or a related field.\n- Proven experience as an Accountant, preferably within audit or finance consultancy.\n- Strong knowledge of accounting principles, tax l...",
    "company_about": "Moore JFC Group, headquartered in Dubai, has been providing the highest quality of Auditing, Consulting and Business Advisory Services for more than 45 years by working closely with clients from a wid...",
    "industry": "Audit & Accountancy",
    "employmentType": "FULL_TIME",
    "is_remote": false,
    "salaryCurrency": "SAR",
    "salaryMin": 2500,
    "salaryMax": 4000,
    "salary_text": "2500 - 4000 SAR",
    "easy_apply": true,
    "external_apply_url": null,
    "benefits": null,
    "category": "Accounting & Audit",
    "job_function": "Accounting & Audit",
    "seniority": "Experienced professional",
    "nationality": "Philippines",
    "gender": "Female",
    "arabic_fluency": "Not Specified",
    "keywords": null,
    "company_url": "https://www.gulftalent.com/companies/moore-jfc-consulting-careers",
    "company_logo": "https://www.gulftalent.com/images1/logos/SE171-10226_logo-img-moore-jfc-consulting-careers-jobs.jpg",
    "street_address": null
}
```

### Use the GulfTalent Jobs Scraper API

Call the Actor from your own code with the [Apify API client](https://docs.apify.com/api/client/python). Find your token in [Apify Console → Settings → Integrations](https://console.apify.com/settings/integrations).

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/gulftalent-jobs-scraper").call(run_input={
    "keyword": "Accountant",
    "location": "Riyadh",
    "posted_date": "7d",
    "maxJobs": 200,
})

for job in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(job["title"], job["company"], job["salaryMin"], job["salaryCurrency"])
```

**JavaScript**

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/gulftalent-jobs-scraper').call({
    keyword: 'Nurse',
    location: 'Abu Dhabi, Dubai',
    maxJobs: 100,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((job) => console.log(job.title, job.location, job.nationality));
```

You can also start runs over plain HTTP from the [API tab](https://apify.com/parsebird/gulftalent-jobs-scraper/api), or connect the Actor to AI agents through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp).

### Use cases

- **Gulf job alerts.** Collect new GulfTalent jobs every day and post them to your job site, newsletter, or Telegram or WhatsApp channel.
- **Recruitment research.** See which companies are hiring for a role in Dubai, Riyadh, or Doha, and what they ask for.
- **Salary benchmarking.** Collect public salary ranges by role, city, and currency (AED, SAR, QAR, and more).
- **Labour market analysis.** Track demand by job category, industry, seniority, and nationality requirements across the GCC.
- **Lead generation.** Find employers that are actively hiring in the Middle East, with their GulfTalent company pages.

### How it works

1. The Actor checks your location against GulfTalent's own list of cities and countries.
2. It reads GulfTalent's search results with your keyword and filters, 25 jobs per page.
3. It opens each job for the full details and saves it once per run. In our October 2026 test, 415 jobs took about 3 minutes.
4. With a posted-date filter, the Actor reads results newest first and jumps past older jobs instead of reading every page, so it finds every job in the window quickly. Older jobs are skipped and not charged.

### FAQ

**Do I need a GulfTalent account?**
No. The Actor only reads public job listings that anyone can open on GulfTalent.

**Which locations can I use?**
Any city or country GulfTalent lists in its location filter. On October 11, 2026, that was 30 cities, including Dubai, Abu Dhabi, Sharjah, Ajman, Ras Al Khaimah, Al Ain, Fujairah, Riyadh, Jeddah, Mecca, Khobar, Dammam, Jubail, Doha, Kuwait City, Muscat, Manama, Cairo, Amman, Beirut, Baghdad, and Erbil, plus countries like UAE, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, Jordan, Lebanon, and Iraq. Type several cities separated by commas, like `Dubai, Sharjah`. If GulfTalent doesn't know a location, the run stops and lists the valid ones.

**Why don't some jobs have a salary?**
Many employers on GulfTalent keep the salary private. The Actor only fills `salaryMin`, `salaryMax`, and `salaryCurrency` when the salary is shown publicly on GulfTalent.

**What does "Last 24 hours" mean?**
GulfTalent dates jobs by day, not by hour, so "Last 24 hours" keeps jobs posted today and yesterday.

**Should I sort by relevance or by date?**
GulfTalent matches a multi-word keyword loosely, for example on words in the description. Both orders return the same set of jobs. Relevance puts the closest matches first, which is best when you only want the top results for a keyword. Date puts the newest jobs first, which is best for daily monitoring. When **Posted within** is set, the Actor always reads newest first so it can find every job in the window.

**Do I need a proxy?**
The Actor uses residential [Apify Proxy](https://docs.apify.com/platform/proxy) by default, and you don't need to change anything. GulfTalent is protected by Cloudflare, which refuses most datacenter IPs and rate-limits each IP after a few dozen quick requests. The Actor spreads requests across many residential IPs and retries refused requests on a fresh IP. Proxy costs are included in the per-job price.

**Can I schedule runs or export to Google Sheets?**
Yes. Use [Apify Schedules](https://docs.apify.com/platform/schedules) for recurring runs and [integrations](https://docs.apify.com/platform/integrations) for Google Sheets, Zapier, Make, Slack, and webhooks.

**Something is missing or broken?**
Open an issue on the [Issues tab](https://apify.com/parsebird/gulftalent-jobs-scraper/issues). Feedback and feature requests are welcome there too.

### Is it legal to scrape GulfTalent?

The Actor collects only public job listings that GulfTalent shows to every visitor. It doesn't log in or access any candidate or employer account data. Job posts can include the names or contact details of recruiters, so follow data protection laws like the UAE's PDPL, Saudi Arabia's PDPL, and the GDPR when you store or contact them. Read more in Apify's blog post [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

### Other job scrapers

| Actor | What it does |
|-------|--------------|
| [Bayt Jobs Scraper](https://apify.com/parsebird/bayt-jobs-scraper) | Scrape Bayt.com jobs across the Middle East |
| [Naukri Jobs Scraper](https://apify.com/parsebird/naukri-jobs-scraper) | Scrape Naukri.com job listings in India |
| [LinkedIn Jobs Scraper](https://apify.com/parsebird/linkedin-jobs-scraper) | Scrape LinkedIn job postings |
| [Indeed Jobs Scraper](https://apify.com/parsebird/indeed-jobs-scraper) | Scrape Indeed job listings |
| [Drushim Israel Jobs Scraper](https://apify.com/parsebird/drushim-israel-jobs-scraper) | Scrape Drushim.co.il jobs in Israel |
| [MyJobMag Jobs Scraper](https://apify.com/parsebird/myjobmag-jobs-scraper) | Scrape MyJobMag jobs in Nigeria, Ghana, Kenya, South Africa, and the UK |

# Changelog

This Actor's version history is a separate document: https://apify.com/parsebird/gulftalent-jobs-scraper/changelog.md

# Actor input Schema

## `keyword` (type: `string`):

Job title, skill, or phrase, like "Software Engineer" or "Accountant". Leave empty to search all GulfTalent jobs.

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

City or country as GulfTalent lists it, like "Dubai", "Abu Dhabi", "Riyadh", "Doha", "UAE" or "Saudi Arabia". Separate several cities with commas. Leave empty to search every location. The run stops and lists valid values if GulfTalent doesn't have it.

## `posted_date` (type: `string`):

Only keep jobs posted within this window. GulfTalent dates postings by day, so "Last 24 hours" keeps today's and yesterday's postings.

## `sortBy` (type: `string`):

Relevance puts the closest keyword matches first. Date puts the newest postings first (GulfTalent lists Easy Apply jobs before jobs that apply on the employer's site).

## `category` (type: `array`):

Limit results to these GulfTalent job categories (job roles).

## `industry` (type: `array`):

Limit results to employers in these industries.

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

Limit results to these employment types.

## `seniority` (type: `array`):

Limit results to these career levels.

## `easyApplyOnly` (type: `boolean`):

Keep only jobs you apply to directly on GulfTalent (no redirect to the employer's careers site).

## `maxJobs` (type: `integer`):

Stop after saving this many jobs. Set 0 for no limit.

## `maxPages` (type: `integer`):

Stop after reading this many GulfTalent result pages (25 jobs each). Set 0 for no limit.

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

GulfTalent's Cloudflare blocks most datacenter IPs and rate-limits each IP, so residential Apify Proxy is recommended. The scraper rotates IPs automatically and moves to residential proxy if the chosen connection keeps getting refused.

## Actor input object example

```json
{
  "keyword": "Accountant",
  "location": "Dubai",
  "posted_date": "anytime",
  "sortBy": "relevance",
  "easyApplyOnly": false,
  "maxJobs": 20,
  "maxPages": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

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

// Prepare Actor input
const input = {
    "keyword": "Accountant",
    "location": "Dubai",
    "maxJobs": 20,
    "maxPages": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/gulftalent-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 = {
    "keyword": "Accountant",
    "location": "Dubai",
    "maxJobs": 20,
    "maxPages": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "keyword": "Accountant",
  "location": "Dubai",
  "maxJobs": 20,
  "maxPages": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call parsebird/gulftalent-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/gulftalent-jobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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