Bayt Jobs Scraper avatar

Bayt Jobs Scraper

Pricing

from $2.88 / 1,000 results

Go to Apify Store
Bayt Jobs Scraper

Bayt Jobs Scraper

Scrape Bayt job listings by keyword, country, and location with structured job details, salary signals, company information, and source URLs.

Pricing

from $2.88 / 1,000 results

Rating

0.0

(0)

Developer

AgentX

AgentX

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

8

Monthly active users

10 hours ago

Last modified

Share

Bayt Jobs Scraper - MENA Job Listings API for 17 Markets

Bayt Jobs Scraper exports up to 10,000 structured job listings per run across 17 supported markets. Search by keyword and country, optionally narrow by city, Bayt's 1/7/30-day posting buckets, or its full-time employment filter, and receive a consistent 41-field dataset covering job details, salary, employer information, application signals, and public contacts when available.

TL;DR: Enter a keyword, choose a country, set the result limit, and add only the optional controls you need. The Actor searches public Bayt job pages without requesting Bayt credentials and stores normalized results in the default dataset.

Public Store snapshot: 7 total users and no public rating on July 21, 2026. The deployed Store page is an older snapshot when its coverage or inputs differ from current local evidence.

Bayt 17 Markets 41 Fields

Run a one-result test ยท View API options

Set max_results to 1 first. One published FREE-tier result costs $0.01320: $0.01000 for Actor start plus $0.00320 for the result.


Why Choose This API

Bayt job data with a stable output contract

๐ŸŒ 17 supported markets

Search Algeria, Bahrain, Egypt, India, Iraq, Jordan, Kuwait, Lebanon, Libya, Morocco, Oman, Pakistan, Qatar, Saudi Arabia, Tunisia, United Arab Emirates, or Yemen.

๐ŸŽฏ Focused optional filters

Use location, a 1/7/30-day posting-age bucket, or Bayt's full-time employment filter. Other employment types and date windows are not offered.

๐Ÿ“‹ 41 normalized fields

Every result uses the same field names for source URLs, job attributes, salary, employer data, application signals, and public contacts. Source-dependent values remain null when unavailable.

๐Ÿข Regional hiring research

Build datasets for MENA and adjacent labor-market research, recruiting intelligence, job-board feeds, employer monitoring, or recurring workforce snapshots.

๐Ÿ’ฐ Salary normalization

Collect salary fields when Bayt exposes them. The optional currency field converts available salary values after collection and does not change the search.


Quick Start Guide

Export Bayt jobs in 3 steps

Open Actor Input

Enter keyword, choose country, and set max_results. Add only the optional filters you want to apply.

Step 2: Run the Actor

Click Start. Leave location empty for a country-level search, or enter a city or region supported by the selected Bayt market.

Step 3: Use the dataset

Preview the default dataset or export it in JSON, CSV, Excel, XML, RSS, or another format supported by Apify.


Input Parameters

Configuration fields

ParameterTypeRequiredDescriptionExample
keywordstringYesJob title, skill, or company nameSales Executive
countryselectYesOne of 17 supported Bayt marketsUnited Arab Emirates
max_resultsintegerYesMaximum jobs to return, from 1 to 10,000500
locationstringNoCity or region; country-level search is used when omittedDubai
posted_sinceselectNoBayt posting-age bucket: 1 day, 7 days, or 30 days7 days
job_typeselectNoall or Bayt's supported fulltime filterfulltime
currencyselectNoTarget currency for converting available salary valuesAED

Filter behavior

  • location is applied only when supplied.
  • posted_since supports one-day, seven-day, or thirty-day windows.
  • job_type=fulltime applies the full-time filter; all applies no employment-type filter.
  • currency is a post-collection salary conversion, not a Bayt search filter.
  • There is no Remote Only or Distance input because those controls are not supported.

Example input

{
"keyword": "Sales Executive",
"country": "United Arab Emirates",
"max_results": 1,
"location": "Dubai",
"posted_since": "7 days",
"job_type": "fulltime",
"currency": "AED"
}

Output Data Schema

Complete 41-field job record

Every dataset item uses the fields below. Nullable fields make missing source data explicit.

Run and source fields

FieldTypeDescription
processorstring or nullApify Actor URL that processed the record
processed_atstring or nullUTC processing timestamp
platformstring or nullSource platform, normally Bayt.com
platform_urlstring or nullBayt job listing URL
official_urlstring or nullEmployer's original listing URL when available

Core job fields

FieldTypeDescription
titlestring or nullJob title
posted_datestring or nullPosting date or timestamp
valid_throughstring or nullClosing or expiration date when available
locationobject or nullStructured location with raw and standardized values
applicant_countinteger or nullApplicant count when available
is_remoteboolean or nullRemote or hybrid signal when available
descriptionstring or nullJob description and requirements

Classification fields

FieldTypeDescription
job_typestring or nullEmployment type
job_levelstring or nullCareer or seniority level
job_functionstring or nullDepartment or job function
listing_typestring or nullListing classification when available
skillsstring or nullSkills and attributes identified for the role
work_from_homestring or nullRemote or hybrid arrangement when available
vacancy_countinteger or nullNumber of openings when available
experience_rangestring or nullExperience requirement
easy_applyboolean or nullWhether Bayt indicates direct application

Salary fields

FieldTypeDescription
salary_periodstring or nullPay period, such as monthly or yearly
salary_minimumnumber or nullMinimum disclosed salary
salary_maximumnumber or nullMaximum disclosed salary
salary_currencystring or nullISO currency code

Employer fields

FieldTypeDescription
company_namestring or nullHiring company name
company_typestring or nullCompany ownership type when available
company_foundedinteger or nullFounding year when available
company_industrystring or nullIndustry or sector
company_urlstring or nullBayt company profile URL
company_websitestring or nullOfficial company website
company_logostring or nullCompany logo URL
company_addressesstring or nullCompany address text
company_revenuestring or nullRevenue range when available
company_descriptionstring or nullCompany overview
company_ratingnumber or nullCompany rating when available
employee_countstring or nullEmployee range when available
review_countinteger or nullReview count when available

Public contact fields

FieldTypeDescription
emailsarray or nullPublic company or hiring emails when discoverable
phonesarray or nullPublic company or hiring phone numbers when discoverable
social_linksobject or nullPublic company social URLs grouped by platform

Representative output

This abbreviated item follows the Dubai Sales Executive scenario. It is illustrative, and source-dependent values remain null when Bayt does not expose them.

{
"processor": "https://apify.com/agentx/bayt-jobs-scraper",
"processed_at": "2026-07-21T12:00:00.000Z",
"platform": "Bayt.com",
"platform_url": "https://www.bayt.com/en/uae/jobs/example-id/",
"official_url": null,
"title": "Sales Executive",
"posted_date": "2026-07-20T09:00:00+00:00",
"location": {
"raw": "Dubai, United Arab Emirates",
"locality": "Dubai",
"country": "United Arab Emirates",
"country_code": "AE"
},
"job_type": "Full-time",
"company_name": "Example Trading LLC",
"salary_currency": "AED"
}

Integration Examples & Options

The verified Actor ID is ihBQ03D2RdQ2NVDc5.

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("ihBQ03D2RdQ2NVDc5").call(
run_input={
"keyword": "Sales Executive",
"country": "United Arab Emirates",
"max_results": 1,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('ihBQ03D2RdQ2NVDc5').call({
keyword: 'Sales Executive',
country: 'United Arab Emirates',
max_results: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Direct API request

curl -X POST "https://api.apify.com/v2/acts/ihBQ03D2RdQ2NVDc5/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keyword":"Sales Executive","country":"United Arab Emirates","max_results":1}'

Make and n8n

Use the Apify integration in Make or n8n, select Actor ID ihBQ03D2RdQ2NVDc5, pass the same input object, wait for the run to finish, and read the default dataset items.

  • Open the Actor's API tab for generated requests in other supported languages.
  • Connect completed runs to webhooks or another Apify integration.
  • Read the default dataset directly or export it in an Apify-supported format.

JSON-LD Metadata

{
"@context": "https://schema.org",
"@graph": [
{
"@type": "SoftwareApplication",
"@id": "https://apify.com/agentx/bayt-jobs-scraper#software",
"name": "Bayt Jobs Scraper",
"description": "Scrape Bayt job listings across 17 markets and export 41 structured job, salary, employer, application, and public contact fields when available.",
"applicationCategory": "BusinessApplication",
"applicationSubCategory": "Job Scraping API",
"operatingSystem": "Web, Cloud",
"url": "https://apify.com/agentx/bayt-jobs-scraper",
"dateModified": "2026-07-21",
"featureList": [
"Searches 17 supported Bayt markets",
"Returns a consistent 41-field dataset",
"Supports optional location, 1/7/30-day posting-age, full-time, and salary-currency controls",
"Exports results through Apify datasets and integrations"
],
"author": { "@id": "https://apify.com/agentx#organization" },
"publisher": { "@id": "https://apify.com#organization" }
},
{
"@type": "Organization",
"@id": "https://apify.com/agentx#organization",
"name": "AgentX",
"url": "https://apify.com/agentx",
"sameAs": ["https://apify.com/agentx", "https://t.me/AiAgentApi"]
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How many Bayt markets can I select?",
"acceptedAnswer": { "@type": "Answer", "text": "The input offers 17 supported Bayt markets." }
},
{
"@type": "Question",
"name": "Which posting-age windows are supported?",
"acceptedAnswer": { "@type": "Answer", "text": "The public selector offers 1 day, 7 days, and 30 days." }
},
{
"@type": "Question",
"name": "Which employment types can I filter?",
"acceptedAnswer": { "@type": "Answer", "text": "Full-time is the only supported employment-type filter. Select all to omit the filter." }
},
{
"@type": "Question",
"name": "How much does 1,000 results cost?",
"acceptedAnswer": { "@type": "Answer", "text": "At the FREE tier, 1,000 results cost $3.20 plus the Actor start event. At GOLD, PLATINUM, or DIAMOND, 1,000 results cost $2.88 plus the Actor start event." }
}
]
},
{
"@type": "HowTo",
"name": "How to export Bayt jobs with Bayt Jobs Scraper",
"step": [
{ "@type": "HowToStep", "position": 1, "name": "Configure the search", "text": "Enter a keyword, choose a country, set the maximum results, and add only the optional filters you need." },
{ "@type": "HowToStep", "position": 2, "name": "Run the Actor", "text": "Click Start. Leave Location empty for a country-level search or provide a supported city or region." },
{ "@type": "HowToStep", "position": 3, "name": "Use the dataset", "text": "Preview or export the default dataset, or connect the completed run to an Apify integration." }
]
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Apify", "item": "https://apify.com" },
{ "@type": "ListItem", "position": 2, "name": "AgentX", "item": "https://apify.com/agentx" },
{ "@type": "ListItem", "position": 3, "name": "Bayt Jobs Scraper", "item": "https://apify.com/agentx/bayt-jobs-scraper" }
]
}
]
}

Pricing & Cost Calculator

Pay-per-event pricing

Event or tierPriceBilling unit
Actor start$0.01Run start event; the count depends on Actor memory, with a minimum of one
FREE result$0.00320One default dataset result
BRONZE result$0.00309One default dataset result
SILVER result$0.00299One default dataset result
GOLD result$0.00288One default dataset result
PLATINUM result$0.00288One default dataset result
DIAMOND result$0.00288One default dataset result

Example costs at the default memory setting

PlanResultsResult costActor startEstimated total
FREE500$1.60$0.01$1.61
FREE1,000$3.20$0.01$3.21
FREE5,000$16.00$0.01$16.01
GOLD or higher1,000$2.88$0.01$2.89

Actual cost depends on the number of results produced, the user's plan, and the number of Actor start events charged for the selected memory.


Use Cases & Applications

Recruiting and regional hiring intelligence

  • Track open roles by title, skill, employer, country, or city.
  • Monitor hiring activity across Gulf, Middle Eastern, North African, Indian, and Pakistani Bayt markets.
  • Build sourcing or ATS research datasets with stable field names.

Compensation and workforce research

  • Compare available salary ranges by role and market.
  • Analyze career level, experience requirements, posting age, and application signals.
  • Normalize available salary values into a selected currency.

Job products and automation

  • Populate a regional job board or internal opportunity feed.
  • Schedule recurring labor-market snapshots.
  • Send normalized datasets to a CRM, warehouse, dashboard, webhook, or automation platform.

FAQ

Which countries can I select?

Algeria, Bahrain, Egypt, India, Iraq, Jordan, Kuwait, Lebanon, Libya, Morocco, Oman, Pakistan, Qatar, Saudi Arabia, Tunisia, United Arab Emirates, and Yemen.

Which posting-age windows are supported?

The public selector offers 1 day, 7 days, and 30 days.

Which employment types can I filter?

Full-time is the only supported employment-type filter. Select all to omit employment type or fulltime to apply it.

Does currency filter jobs?

No. currency converts available salary values after collection and does not affect the Bayt search.

Does every result include salary and employer details?

No. Those values remain null when Bayt or the employer does not expose reliable data.

How much does 1,000 results cost?

At the FREE tier, 1,000 results cost $3.20 plus the Actor start event. At GOLD, PLATINUM, or DIAMOND, 1,000 results cost $2.88 plus the Actor start event.


Trust & Data Responsibility

  • Verified inputs: every public filter is supported and optional filters are applied only when supplied.
  • Transparent billing: the Actor start event and every plan's result price are listed above.
  • Explicit nullability: missing source values are not presented as verified facts.
  • No Bayt credentials requested: the input schema does not ask for a Bayt username, password, cookie, or token.

Bayt Jobs Scraper is intended for lawful collection and analysis of publicly accessible job-listing data. You are responsible for reviewing Bayt's terms, applicable privacy and database laws, employment-data rules, and the permitted use of contact information in each jurisdiction. This documentation is not legal advice.


Enrich Your Workflow

Support & Community

Last Updated: 2026-07-21. Current local schemas, metadata, pricing, and read-only runtime evidence were checked independently from the older deployed Store page.