Bayt Job Listings Extractor
Pricing
from $2.99 / 1,000 results
Bayt Job Listings Extractor
Bayt job listings scraper that pulls job titles, companies, salaries, and locations from any Bayt.com search URL, pages through results automatically, so you get MENA job market data as clean JSON without manual browsing.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Pulls job listings from Bayt.com, a major job portal for the Middle East and North Africa. Give it one or more Bayt.com search URLs and it scrapes job titles, company names, city and country locations, salary ranges, career levels, experience requirements, job summaries, and posting dates. The output is structured JSON. Pagination is handled automatically.
Bayt.com covers job markets across the UAE, Saudi Arabia, Qatar, Kuwait, Egypt, Lebanon, Jordan, and other MENA countries. This actor works on any Bayt.com search results URL, including country pages, keyword searches, city-filtered results, and searches with any filters applied.
What it collects
Every job listing card on Bayt.com exposes the following data. Fields marked optional appear on some listings and are null when not present.
| Field | Always present | Description |
|---|---|---|
| jobId | Yes | Unique numeric ID for the listing on Bayt.com |
| jobTitle | Yes | Job title as shown on the card |
| jobUrl | Yes | Full URL of the job listing page |
| companyName | Yes | Name of the hiring company |
| companyUrl | Yes | URL of the company profile on Bayt.com |
| companyLogoUrl | Yes | URL of the company logo image |
| city | Yes | City where the role is based |
| country | Yes | Country where the role is based |
| jobSummary | Yes | AI-generated summary shown on the search card |
| careerLevel | Yes | Seniority label (Entry level, Mid career, Senior executive, etc.) |
| yearsOfExperience | Optional | Experience range parsed from the career label (e.g. 5-7 Years of Experience) |
| salary | Optional | Salary range if the employer chose to display it |
| workType | Optional | Hybrid or Remote if specified |
| citizenshipReq | Optional | Nationality restriction if specified (e.g. Saudi nationals) |
| postedTimestamp | Yes | Unix timestamp (seconds) of the posting date |
| postedDate | Yes | ISO 8601 UTC datetime string of the posting date |
| postedDateText | Yes | Relative date as shown on the page (e.g. 4 days ago) |
| isEasyApply | Yes | true if the listing has a one-click apply button |
| isExternal | Yes | true if the listing links to an external site |
| scrapedAt | Yes | ISO 8601 UTC timestamp of when this record was extracted |
Input
| Field | Type | Default | Description |
|---|---|---|---|
| startUrls | Array | โ | One or more Bayt.com job search URLs to scrape |
| maxItems | Integer | 25 | Max job listings to extract per URL |
| requestTimeoutSecs | Integer | 30 | Per-request timeout in seconds |
Example: single search
{"startUrls": ["https://www.bayt.com/en/uae/jobs/data-analyst-jobs/"],"maxItems": 75}
Example: multiple countries, same role
{"startUrls": ["https://www.bayt.com/en/uae/jobs/software-engineer-jobs/","https://www.bayt.com/en/saudi-arabia/jobs/software-engineer-jobs/","https://www.bayt.com/en/qatar/jobs/software-engineer-jobs/"],"maxItems": 50}
Example: broad country-level collection
{"startUrls": ["https://www.bayt.com/en/uae/jobs/","https://www.bayt.com/en/saudi-arabia/jobs/","https://www.bayt.com/en/egypt/jobs/"],"maxItems": 100}
Output
Each job is saved as one JSON record in the Apify dataset. Results are available as JSON, CSV, or Excel from the Storage tab after the run finishes.
Example record
{"jobId": "5461128","jobTitle": "Unreal Engine Gameplay Programmer","jobUrl": "https://www.bayt.com/en/qatar/jobs/unreal-engine-gameplay-programmer-5461128/","companyName": "Dunetech Studios","companyUrl": "https://www.bayt.com/en/company/dunetech-studios-2304796/","companyLogoUrl": "https://secure.b8cdn.com/58x58/images/logo/96/2304796_logo_n.png","city": "Doha","country": "Qatar","jobSummary": "A unique opportunity for an Unreal Engine Gameplay Programmer at a small independent studio focused on creating exceptional interactive experiences.","careerLevel": "Entry level","yearsOfExperience": null,"salary": null,"workType": null,"citizenshipReq": null,"postedTimestamp": 1781095408,"postedDate": "2025-04-07T10:43:28+00:00","postedDateText": "21 hours ago","isEasyApply": true,"isExternal": true,"scrapedAt": "2025-04-08T08:12:34.123456+00:00"}
Common uses
- Salary research: collect salary ranges for a specific role across different MENA countries and compare compensation by location
- Hiring trend tracking: run the actor weekly on industry-specific search URLs to see which companies are growing and how fast
- Competitor monitoring: watch job postings from specific companies to understand their expansion and skill priorities
- Job dataset creation: build training or benchmark datasets for HR analytics, NLP models, or job recommendation systems
- Recruitment pipeline: feed fresh listings into a downstream workflow to automatically match candidates
How to run
- Open the Input tab
- Paste one or more Bayt.com job search URLs into the Start URLs field
- Set Max Items per URL to control how much data to collect
- Click Start
- Download results from the Storage tab when the run finishes
URL formats that work
The actor accepts any standard Bayt.com search results URL:
- Country page:
https://www.bayt.com/en/uae/jobs/ - Keyword search:
https://www.bayt.com/en/international/jobs/software-engineer-jobs/ - City search:
https://www.bayt.com/en/uae/jobs/software-engineer-jobs-in-dubai/ - Any search URL with filters copied directly from the Bayt.com results page
Pagination
Each URL is scraped page by page. The actor reads the next link in the page to find the next results page and continues until the per-URL item limit is reached or there are no more pages.
Optional fields
salary, workType, citizenshipReq, and yearsOfExperience appear on some listings and not others. Bayt.com employers choose whether to display salary. Work type and citizenship requirements are only listed when the employer fills them in. When not present, these fields are null in the output.
Rate and volume
Bayt.com shows roughly 20 to 30 job cards per page. At the default setting of 25 items per URL, the actor usually finishes in one or two pages. Increase maxItems to collect more per URL. Large runs over many URLs work well on the Apify platform.