Bayt Scraper - Middle East Jobs, Salaries & Companies
Pricing
from $0.85 / 1,000 job delivereds
Bayt Scraper - Middle East Jobs, Salaries & Companies
Scrape bayt.com jobs in the UAE, Saudi Arabia, Qatar, Kuwait, Egypt and 11 more countries by keyword, city, date, career level and contract: title, company, size, industry, salary, experience, education, skills, full description. Schedule it with onlyNew for alerts. Error rows are free.
Pricing
from $0.85 / 1,000 job delivereds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Bayt Scraper: Middle East jobs with salaries, companies and full descriptions
Bayt Scraper collects job listings from bayt.com, the largest job board of the Middle East and North Africa, without an account, cookies or a browser. Search by keyword in the UAE, Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, Jordan and eight more countries, narrow it down by city, date, career level, contract and employer type, or paste any bayt.com search link. Each job comes back as one clean row: title, company with size and industry, city and country, contract, experience, education, salary range when the employer publishes it, skills, preferred candidate profile, posted and closing dates, and the full description in text and HTML.
It is used for salary and hiring research in the Gulf, for job aggregators and alert services, for recruitment agencies watching which companies are hiring, and for labor market dashboards across the GCC and North Africa.
At a glance
| What | Price |
|---|---|
| Job delivered | US$ 1.00 per 1,000 jobs (US$ 0.001 each) |
| Run start | US$ 0.005 per run |
- 500 accountant jobs in the UAE with full details = US$ 0.505.
- Error rows, duplicates and jobs skipped by
onlyNeware never charged.maxItemsis a hard cap, and a spending limit set on the run stops it cleanly with everything delivered so far. - Runs on the Apify datacenter proxy, which bayt.com accepts. No residential proxy cost in the normal case.
Quick start
{"searchQueries": ["accountant"],"country": "uae","maxItems": 50}
Sales jobs in two Saudi cities, full time, posted in the last 30 days:
{"searchQueries": ["sales"],"country": "saudi-arabia","cities": ["Riyadh", "Jeddah"],"postedWithin": "30d","employmentTypes": ["Full time"],"maxItems": 200}
A search link copied from the site, used as it is (every filter in the link is kept):
{"startUrls": ["https://www.bayt.com/en/qatar/jobs/civil-engineer-jobs/"],"maxItems": 100}
Single job pages work too: paste links like https://www.bayt.com/en/uae/jobs/<job-title>-<id>/.
Input
| Field | What it does |
|---|---|
searchQueries | Job titles or keywords, one per line. Each keyword is one search. Empty with no links = every job of the country (or city). |
country | UAE by default. Also Saudi Arabia, Qatar, Kuwait, Oman, Bahrain, Egypt, Jordan, Lebanon, Iraq, Morocco, Algeria, Tunisia, Libya, Pakistan, India, or international for all countries at once. |
cities | Optional cities inside the country, such as Dubai, Abu Dhabi, Riyadh, Jeddah, Doha or Cairo. Each city is searched for every keyword. |
postedWithin | any, 24h, 7d or 30d, the site's own "Date posted" filter. |
careerLevels | Student/Internship, Fresh graduate, Entry level, Mid career, Management, Director/Head, Senior executive. |
employmentTypes | Full time, Part time, Contractor, Freelance, Internship, Temporary. |
companyTypes | Employer (private sector), Employer (public sector), Recruitment agency, Non-profit organization. |
remoteOnly | Only jobs marked as work from home. |
easyApplyOnly | Only jobs that take applications directly on bayt.com. |
startUrls | bayt.com search links (with any filter set on the site) or single job links. |
includeDetails | On by default: opens each job page for description, skills, salary, education, preferred candidate, company size and industry. Off: faster, search card fields only. |
maxItems | Cap for the whole run, across all searches (default 50; 0 = no cap). |
onlyNew | Remembers what earlier runs of the same search delivered and returns only new jobs. Built for schedules. |
proxyConfiguration | Apify datacenter proxy by default. |
Several values inside one filter add up (OR), and different filters narrow each other (AND), exactly like on the site.
Output
One row per job. Fields that bayt.com does not give for a job are null; nothing is invented.
| Field | Description |
|---|---|
jobId | bayt.com job id |
title | Job title as published |
companyName, companyId, companyUrl, companyLogo | Employer name, bayt.com company id, company page and logo |
companySize, companyIndustry | Employee range (for example 50-99) and industry, when the employer has a profile |
location, city, region, country, countryCode | Location as shown on the card, plus the structured address (ISO country code) |
employmentType | FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN... |
employmentSummary, experience | Contract, career level and experience line as the site shows it |
minExperienceYears | Minimum experience in years, when the job sets one |
salaryMin, salaryMax, salaryCurrency, salaryPeriod | Salary range when published (about 4 in 10 jobs in our tests) |
education | Required degree category, when set |
openings | Number of open positions, when set |
nationalityRestriction | For example "Saudi nationals" or "UAE nationals" when the job is limited to citizens |
preferredCandidate | The site's "Preferred candidate" block: years of experience, degree, career level, residence, nationality... |
isRemote | true for work from home jobs (set when the search uses the remote filter or the job says so) |
summary | The short summary bayt.com shows on the search card |
skills | The "Skills" section of the job page |
description, descriptionHtml | Full description, as plain text and as the original HTML |
postedAt, postedAgo, datePosted, validThrough | Exact posting time, the "x days ago" label, posting date and closing date |
easyApply, directApply | Whether the job takes applications on bayt.com |
isAggregated | true for jobs bayt.com collected from other sources |
url | Job page on bayt.com |
sourceQuery | The keyword, city or link that found the job |
scrapedAt, errorCode, error | Collection time; error fields are null on job rows |
Example (real row, shortened texts)
{"type": "job","jobId": "5495705","title": "Sales Consultant","companyId": "2322959","companyLogo": "https://secure.b8cdn.com/70x70/images/logo/59/2322959_logo_1792140474_n.png","companySize": "50-99","companyIndustry": "Perfume & Cosmetics","city": "As Sulaymaniyah","region": "Riyadh","country": "Saudi Arabia","countryCode": "SA","employmentType": "FULL_TIME","employmentSummary": "Full time · Mid career · 1 - 10 Years of Experience","minExperienceYears": 1.0,"salaryMin": 1500,"salaryMax": 2000,"salaryCurrency": "USD","salaryPeriod": "month","education": "high school","openings": 10,"preferredCandidate": {"Years of experience": "1 - 10 years","Degree": "High school or equivalent","Career level": "Mid career"},"summary": "Elevate your career in sales consulting with a focus on luxury products...","skills": "- Previous experience in luxury product sales or beauty products.\n- Good knowledge of luxury products and global brands...","description": "Responsibilities and Duties\n- Welcome clients and provide a refined and professional shopping experience...","postedAt": "2026-10-16T18:56:26Z","postedAgo": "5 hours ago","datePosted": "2026-10-16","validThrough": "2026-11-15T00:00:00Z","easyApply": true,"directApply": true,"isAggregated": false,"sourceQuery": "sales in Riyadh (saudi-arabia)","errorCode": null,"error": null}
Company names keep the language the employer used (Arabic names stay in Arabic). Job texts come in English when bayt.com offers the English version.
Errors you may see
Error rows have type: "error", an errorCode and a plain message. They are never charged.
| errorCode | Meaning | What to do |
|---|---|---|
INVALID_INPUT | A filter value is not one of the allowed options | Use the options listed in the input form |
INVALID_URL | The link is not a bayt.com search or job link | Copy the link from the address bar on bayt.com |
NO_RESULTS | bayt.com has no job for that search and filters | Use fewer filters, another country or a broader keyword |
NOT_FOUND | A job link is no longer online | Jobs close; search again for current ones |
BLOCKED | bayt.com refused every attempt for a search | Run again in a few minutes |
UNEXPECTED | Anything else; the run still ends cleanly | Run again; if it repeats, open an issue with the run link |
Integrations, scheduling and AI agents
- Schedule a daily run with
onlyNewon in Apify schedules to get only the jobs posted since the last run, for alerts or a hiring tracker. - Export as JSON, CSV, Excel or XML, or read the dataset from the Apify API.
- Connect it to Make, n8n, Zapier or Google Sheets through Apify integrations, for example to post new Dubai jobs to Slack.
- AI agents: call it as a tool through the Apify MCP server in Claude, ChatGPT, Cursor or any MCP client, for example "list 100 data analyst jobs in Riyadh posted this week and summarize the salary ranges".
FAQ
Do I need a bayt.com account? No. The Actor reads the same public pages any visitor sees.
How many jobs can I get? As many as bayt.com lists for the search. A broad search such as all jobs in the UAE has
thousands; the site shows 30 per page and the Actor walks the pages until the end or until maxItems.
How fast is it? About 50 jobs with full details in 10 to 15 seconds in our tests. With includeDetails off it is
several times faster, since one page brings 30 jobs.
Why is the salary empty on some jobs? Many employers in the region do not publish a salary. When bayt.com shows a
range, it is in salaryMin, salaryMax, salaryCurrency and salaryPeriod.
Can I search in Arabic? Yes, Arabic keywords work. Results come from the English version of the site.
Is personal data included? No. The Actor returns job and company data only. No recruiter names, and e-mail
addresses or phone numbers written inside job texts are replaced with [contact removed].
What does onlyNew remember? Job ids per search (keyword, country, city and filters), stored in a key-value
store in your own Apify account. Change any filter and it counts as a new search.
Limitations
- The site shows up to about 10,000 jobs for one search; split very broad searches by city or filter.
companySize,companyIndustry,education,openingsand salary only exist when the employer fills them in.- Jobs that bayt.com collects from other sources (
isAggregated: true) have no company page and fewer details. citiesmust be spelled as on bayt.com in English (Dubai, Abu Dhabi, Riyadh, Al Khobar...).
Changelog
- 16 Oct 2026: first version. Keyword, country, city, date, career level, contract, employer type, remote and Easy
Apply filters; search and job links; full details with salary, skills and preferred candidate;
onlyNewfor schedules; free error rows.