Middle East Jobs Scraper — 5 Boards, Deduplicated
Pricing
from $2.00 / 1,000 job records
Middle East Jobs Scraper — 5 Boards, Deduplicated
Job postings from Bayt, GulfTalent, NaukriGulf, Wuzzuf and Akhtaboot in one normalized schema: title, company, location, salary, seniority, function. Cross-board duplicates merged. Optional: only jobs posted since your last run.
Pricing
from $2.00 / 1,000 job records
Rating
0.0
(0)
Developer
Al Moutasem Nabil
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Middle East Jobs Scraper — Bayt, GulfTalent, NaukriGulf, Wuzzuf & Akhtaboot (Deduplicated)
Job postings from the top MENA job boards in one normalized schema: title, company, location, salary, seniority, function. Cross-board duplicates merged. Optional: only jobs posted since your last run.
وظائف الخليج والأردن ومصر من خمس منصات في مكان واحد — بيت.كوم، جلف تالنت، نوكري جلف، وظّفني وأخطبوط. نتائج موحّدة، بدون تكرار، مع تصنيف الراتب والمستوى الوظيفي. السعودية، الإمارات، قطر، الكويت، البحرين، عُمان، الأردن، مصر، لبنان.
Who it's for
- Gulf recruiters and agencies watching what competitors are hiring for, without opening five tabs.
- HR-tech products that need a clean, normalized job feed instead of five different schemas.
- Salary-report and market analysts who need comparable pay data across countries and currencies.
- Job aggregators that want one deduplicated feed rather than five overlapping ones.
What makes it different
Single-board scrapers already exist. The layer on top does not:
- Five boards, one schema. Every posting comes back with the same fields whichever board it came from.
- Cross-board deduplication. The same vacancy posted to Bayt, GulfTalent and NaukriGulf returns
once, with all three URLs under
boards. Matching is on normalized company + title + country- city, plus a Jaro-Winkler similarity check that catches "Senior iOS Developer", "Senior iOS Developer (m/f)" and "senior ios developer - urgent" as one job.
- Arabic-aware. Titles and companies are normalized across alef forms, taa marbuta, yaa and tashkeel, so Arabic postings deduplicate as reliably as English ones. Arabic-Indic digits are read in salaries.
- Normalized salary. All eight MENA currencies plus USD, monthly vs yearly detected from the
text or inferred from magnitude, with the original string always kept in
salary.raw. - New since last run. Change mode emits only
job_added,job_removedandjob_updated.
Output
One item per unique vacancy. Every field is documented in .actor/dataset_schema.json; the Console
shows Jobs and New jobs views. A merged cross-posting looks like this:
{"jobKey": "acme|senior-ios-developer|SA|riyadh","title": "Senior iOS Developer","titleNormalized": "senior ios developer","company": "Acme Trading LLC","companyNormalized": "acme","location": { "raw": "Riyadh - Saudi Arabia", "city": "riyadh", "country": "SA" },"remote": "onsite","function": "engineering","seniority": "senior","employmentType": "full_time","salary": {"min": 15000,"max": 20000,"currency": "SAR","period": "month","raw": "SAR 15,000 - 20,000 per month"},"postedAt": "2026-09-01T00:00:00.000Z","boards": [{"board": "bayt","url": "https://www.bayt.com/en/saudi-arabia/jobs/senior-ios-developer-5123456/","postedAt": "2026-09-02T00:00:00.000Z","boardJobId": "5123456"},{"board": "gulftalent","url": "https://www.gulftalent.com/saudi-arabia/jobs/senior-ios-developer-629150","postedAt": null,"boardJobId": "629150"},{"board": "naukrigulf","url": "https://www.naukrigulf.com/senior-ios-developer-jobs-...","postedAt": "2026-09-01T00:00:00.000Z","boardJobId": "150726500829"}],"language": "en","firstSeenAt": "2026-09-01T00:00:00.000Z","lastSeenAt": "2026-09-07T00:00:00.000Z","scrapedAt": "2026-09-07T00:00:00.000Z"}
Boards that could not be read appear as error items with board and error, and are never charged.
Pricing
Pay-per-event. You pay for boards actually read and jobs actually returned.
| Event | Price | When |
|---|---|---|
| Board checked | $0.005 | Per board fetched successfully. A blocked board is free. |
| Job record | $0.002 | Snapshot mode, per unique job — a role on three boards is one charge. |
| Change detected | $0.01 | Change mode, per change event. |
- Weekly pull of all iOS jobs in SA + AE, ~300 unique jobs across 5 boards: 5 × $0.005 + 300 × $0.002 = $0.625 per run.
- Daily new-jobs feed, 5 boards, quiet day: $0.025. With 12 new jobs: $0.145.
Apify's apify-actor-start fee and platform compute are billed separately. Default memory 512 MB.
Scheduling, integrations and API
- Fill in the input, Save as task, then add a Schedule — daily at 07:00 is typical.
- Turn on Emit changes only with a Tracking ID so each run returns only what is new.
- Under Integrations, push results to Slack, Google Sheets, a webhook, Make or Zapier on Run succeeded. In change mode an empty dataset means nothing changed.
- Standby mode answers synchronously, which is what an AI agent wants:
GET https://<your-actor>.apify.actor/?keywords=ios%20developer&countries=SA,AE&postedWithinDays=7
State lives in the named key-value store mena-jobs-state, one record per tracking ID; delete it to
reset a watch list.
Per-board notes and limitations
- NaukriGulf — uses the site's own JSON search API. The most reliable of the five, and the only one that reliably carries a posting date. Its search payload carries no salary.
- GulfTalent — server-rendered country listings. Keyword filtering happens locally, so a narrow keyword search fetches more rows than it returns.
- Akhtaboot — read from the per-country RSS feeds the site publishes. No salary or city, and no keyword parameter, so keywords are filtered locally.
- Bayt and Wuzzuf — both sit behind Cloudflare and refuse a share of datacenter traffic with
HTTP 403. The run still succeeds for the other boards and reports these as error items; switch
proxyConfigurationto residential proxies to get them. Wuzzuf is Egypt-only and is skipped unlessEGis among your countries. - Salary coverage is board-dependent. Most MENA postings publish no salary at all;
salaryis null rather than guessed. - Change detection is relative to your filters. Changing
keywords,countriesorboardsbetween runs will look like added and removed jobs.
Related
Watching specific employers rather than whole boards? ../hiring-signals-monitor tracks named companies' own career pages through their ATS and reports new roles, removed roles and hiring surges.
Legal note
The Actor reads publicly listed job postings — the same pages any visitor sees — and Akhtaboot's own published RSS feeds. It never logs in and sends no cookies. It collects business data only: company names, titles, locations and salaries. It never collects recruiter names, emails or phone numbers, and drops such fields where a board's payload includes them. Requests are paced and concurrency is capped per board. Use the data in line with each board's terms and the laws that apply to you. Bayt, GulfTalent, NaukriGulf, Wuzzuf and Akhtaboot are trademarks of their owners; this Actor is not affiliated with them.