GulfTalent Job Listings Across 16 Middle East Markets
Pricing
from $0.49 / 1,000 results
GulfTalent Job Listings Across 16 Middle East Markets
Search GulfTalent by keyword, category, industry, job type or nationality preference, or browse one employer's careers page, and get salary, description and preference details.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
vexaloom-labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
GulfTalent Jobs & Salary Benchmarks
GulfTalent is one of the largest job boards for the Gulf and wider Middle East. This actor turns its public job search, employer careers pages and salary-benchmark pages into clean, structured records — 38 markets, 32 job categories, 39 industries and ten salary currencies, with no account, cookie or API key required.
What it does
- Searches jobs by keyword across one or many queries and pages through the complete result set, de-duplicating repeated postings.
- Filters by country, city, category, industry, career level, employment type, nationality preference, remote, Easy Apply, exclusive and posting age.
- Pulls every open job from one employer's GulfTalent careers page, including large employers whose page embeds thousands of roles.
- Accepts pasted job, search and company URLs and routes each one to the right collector.
- Exports salary benchmarks — 10th/25th/50th/75th/90th percentiles, sample sizes, allowance percentages and related titles.
- Omits empty fields at every depth: a posting that doesn't disclose a salary simply has no salary fields.
Services
| Mode | What it returns |
|---|---|
search | Job records for one or more keywords and any combination of filters |
byCompany | Every open job listed on one company's GulfTalent careers page |
byUrls | Records from a mixed list of job, search/listing and company URLs |
salary | Salary-benchmark records for one or more titles in one GCC country |
How it works
The actor reads GulfTalent's public search results and job/company/salary pages directly. Search results are paged by true row offset, so a request for thousands of records keeps going until the source is exhausted or maxItems is reached. Detail pages add the full description, salary, address and preference fields when fetchFullDetails is on. Salary records come from GulfTalent's own benchmark pages, which publish percentile bands per title and country.
All job URLs are normalised to canonical https://www.gulftalent.com/... links, and timestamps are returned in ISO 8601 UTC.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search, byCompany, byUrls or salary |
searchQueries | array | ["accountant"] | One or more keywords (mode=search). Empty = browse all jobs matching the filters |
country | string | uae | One of 38 GulfTalent markets, or empty for any country |
city | string | – | One of 30 cities; also selects the city's country |
category | string | – | One of 32 job categories |
industry | string | – | One of 39 hiring-company industries |
careerLevel | string | – | Fresh graduate, junior, experienced, manager or director |
employmentTypes | array | [] | Any of full-time, part-time, contract, temporary, internship |
nationality | string | – | One of six Gulf nationality preferences |
remoteOnly | boolean | false | Keep only remote-flagged postings |
easyApplyOnly | boolean | false | Keep only jobs with Easy Apply |
exclusiveOnly | boolean | false | Keep only GulfTalent-exclusive postings |
postedWithinDays | integer | 0 | 0–90; 0 means any age |
includeKeywords | array | [] | Keep jobs whose title/description/function contains any term |
excludeKeywords | array | [] | Drop jobs whose title/description/function contains any term |
minSalary / maxSalary | integer | – | Salary bounds in the job's own currency; undisclosed salaries are kept |
fetchFullDetails | boolean | true | Visit each job page for description, salary, address and preferences |
maxItems | integer | 25 | Hard record cap (1–10000) |
companyUrl | string | – | Company page URL or slug (mode=byCompany) |
startUrls | array | [] | Job, search or company URLs (mode=byUrls) |
salaryTitles | array | ["accountant"] | Titles to benchmark (mode=salary) |
salaryCountry | string | uae | UAE, Saudi Arabia, Qatar, Kuwait, Bahrain or Oman (mode=salary) |
salaryCurrency | string | – | Primary currency; empty uses the country's currency (mode=salary) |
Output per job
jobId,title,referenceNumbercompanyName,companyUrl,companyLogoUrl,companyId,companyConfidentialcountry,countrySlug,city,location,area,streetAddress,addressRegion,postalCodesalaryMin,salaryMax,salaryCurrency,salaryPeriod,salaryLabel,salaryTextemploymentType,jobFunction,categoryId,careerLevel,careerLevelIdcompanyIndustry,industryId,nationalityPreference,genderPreference,arabicFluencyisRemote,isExclusive,easyApply,applyUrldescription,descriptionHtml,companyDescription,similarJobUrlspostedAt,validThrough,sourceUrl,searchQuerycompanyJobCount— total open jobs on that employer's page (byCompany)recordType: "job",scrapedAt
Output per salary record
title,titleSlug,jobTitleId,country,countrySlugcurrency,currencyName,salaryPeriod(month)percentile10,percentile25,median,percentile75,percentile90sampleSize,companyCount,industryCount,batchDatesalaryByCurrency— all ten currencies with the same percentile bandsallowanceHousingPct,allowanceTransportPct,allowanceOtherPctrelatedTitles[]—title,slug,median,currencysourceUrl,recordType: "salary",scrapedAt
Example: multi-keyword search with filters
{"mode": "search","searchQueries": ["accountant", "financial analyst"],"country": "uae","city": "dubai","careerLevel": "experienced","postedWithinDays": 30,"fetchFullDetails": true,"maxItems": 100}
Example: all open jobs at a large employer
{"mode": "byCompany","companyUrl": "https://www.gulftalent.com/companies/marriott-international-careers","fetchFullDetails": false,"maxItems": 1000}
Example: mixed URLs
{"mode": "byUrls","startUrls": ["https://www.gulftalent.com/uae/jobs/finance-manager-651612","https://www.gulftalent.com/saudi-arabia/jobs/category/accounting","https://www.gulftalent.com/companies/hays-careers"]}
Example: salary benchmarks in USD
{"mode": "salary","salaryTitles": ["accountant", "project manager", "civil engineer"],"salaryCountry": "uae","salaryCurrency": "USD","maxItems": 3}
Usage cost
You pay only for Apify platform usage — there is no per-record fee from this actor. Listing-only runs (fetchFullDetails: false) are the cheapest because they read one search response per page of results. Turning detail fetching on adds one job-page visit per record. Company runs read one employer page; salary runs read one benchmark page per title. To keep large runs inexpensive, request more records with detail fetching off.
FAQ
Do I need a GulfTalent account or API key? No. The actor reads public GulfTalent pages; no login, cookies or key are required.
Why do some jobs have no salary fields?
Employers choose whether to disclose pay. When it isn't disclosed, salaryMin/salaryMax are omitted rather than guessed. salaryText carries a free-text note when one exists.
What is the difference between a job record and a salary record?
A job record describes one live posting. A salary record describes GulfTalent's pay benchmark for a title and country, with percentiles and sample size. Use recordType to tell them apart.
Which countries have salary benchmarks? GulfTalent publishes salary pages for six GCC countries: UAE, Saudi Arabia, Qatar, Kuwait, Bahrain and Oman. Other markets return no salary records and the run reports the coverage limit.
How does maxItems interact with pagination?
The actor pages through the source in true row offsets and stops when maxItems is reached or the source is exhausted. It never stops early just because one page had no new postings.
Can I search several keywords at once?
Yes — add them to searchQueries. Results from every keyword are de-duplicated by job ID, and searchQuery shows which keyword found each row.
Does remoteOnly use a server-side filter?
GulfTalent doesn't expose a reliable remote filter in its search API, so the flag is applied to every posting's own remote marker. The same applies to the posting-age window.
What does byCompany return for a large employer?
Every open job GulfTalent lists on that employer's careers page — the full page is read in one pass, so there is no 200-job ceiling. companyJobCount records the total.
Is this affiliated with GulfTalent? No. This is an independent third-party actor using public pages and is not affiliated with, endorsed by or sponsored by GulfTalent.
Notes
- Empty values are omitted; there are no
nullfields to defend against. postedAtandvalidThroughare ISO 8601 UTC. Detail pages sometimes publish date-only values, in which case the time is midnight UTC.applyUrlis the canonical GulfTalent posting URL. External application links are not exposed by the source.salaryByCurrencyincludes all ten benchmark currencies; the top-level percentile fields usesalaryCurrencyor the local currency.- Search totals change as employers add and remove postings, so two runs on different days can legitimately differ.
Limitations
- Salary benchmarks exist only for GCC countries; the actor reports unsupported countries instead of inventing data.
- Arabic-script keywords have no matching GulfTalent search index. The actor falls back to a broad browse plus local text matching, which can be slower than a Latin keyword search.
- GulfTalent does not publish recruiter emails or phone numbers. Those fields are deliberately not fabricated.
- Remote, posting-age, include/exclude and salary checks are applied after the listing or detail page is read; they can make a filtered run read more pages than an unfiltered one.
- Some postings are country-wide ads with no city;
cityis therefore omitted for those records.