Wuzzuf Jobs Scraper avatar

Wuzzuf Jobs Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Wuzzuf Jobs Scraper

Wuzzuf Jobs Scraper

[๐Ÿ’ฐ $0.9 / 1K] Extract job postings from Wuzzuf, the leading job board for Egypt and the MENA region. Search by keyword and location, filter by career level, job type, workplace, and posting date โ€” each result includes title, company, location, salary, skills, full description, and apply link.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Pull live job postings from Wuzzuf โ€” Egypt and the wider MENA region's leading job board โ€” with the full job description, required skills, salary, company name and logo, and an ISO-8601 posting timestamp on every row. Search by keyword and location, narrow with five career-level and six job-type filters, or paste Wuzzuf search URLs to clone a filtered search you already built. Built for recruiters, talent-sourcing teams, and job-market analysts who need a clean, structured Wuzzuf dataset without copy-pasting postings one page at a time.

Why This Scraper?

  • Full job description on every row โ€” no second pass โ€” each posting arrives with both descriptionHtml and a clean descriptionText, plus the employer's required skills and categories, all from the single results page. No per-job follow-up fetch, no half-empty rows.
  • Five career-level filters โ€” Student/Internship, Entry Level, Experienced, Manager/Supervisor, and Senior Management, selectable in any combination.
  • Six employment-type filters โ€” Full Time, Part Time, Freelance/Project, Internship, Shift Based, and Volunteering.
  • Three workplace arrangements with a derived isRemote flag โ€” On-site, Remote, and Hybrid, plus a true/false isRemote boolean computed per job so you can split remote roles instantly.
  • Posting-window targeting for scheduled runs โ€” limit to the last 24 hours, last week, or last month โ€” ideal for a daily or weekly run that picks up only the newest openings.
  • ISO-8601 timestamps, converted to UTC โ€” postedAt is normalized from Wuzzuf's local Cairo time to clean UTC, alongside a human-friendly postedAtText ("3 days ago").
  • Stable jobId on every posting โ€” Wuzzuf's own job identifier, so you can deduplicate, upsert, and track the same role across repeated runs.
  • Company name and logo captured โ€” companyName plus a companyLogo image URL for building branded candidate-facing lists or employer dashboards.
  • Paste-and-go Wuzzuf URLs โ€” build any filtered search on wuzzuf.net, paste the URL into startUrls, and the actor reproduces it exactly, pagination included.

Use Cases

Recruitment & Talent Sourcing

  • Build candidate-facing job feeds filtered to specific roles, cities, and seniority
  • Track which companies are actively hiring for a given skill set
  • Surface remote and hybrid openings across Egypt and MENA in one list
  • Monitor newly posted roles daily and reach out before competitors do

Job Market Research

  • Map hiring demand by category, city, and career level
  • Track full-time vs. freelance vs. internship mix over time
  • Measure how quickly listings appear and refresh using postedAt
  • Compare on-site, remote, and hybrid adoption across industries

Salary & Skills Benchmarking

  • Collect disclosed salary ranges where employers publish them
  • Extract the required skills list to map in-demand competencies per role
  • Compare skill requirements across career levels for the same job title
  • Build category-level reports on what employers ask for

Lead Generation for Recruiters & Vendors

  • Build lists of companies hiring in a target sector or city
  • Identify employers posting high volumes of openings
  • Pair companyName and companyLogo for outreach collateral
  • Target firms hiring for roles your service or product supports

Job-Seeker Aggregation

  • Power a niche job board with structured, deduplicated Wuzzuf listings
  • Send keyword-based alerts on fresh postings within the last 24 hours
  • Feed openings into a personal tracking sheet with direct apply links

Getting Started

Search by Keyword

The simplest run โ€” one keyword, default result cap:

{
"searchKeyword": "software engineer"
}

Keyword + Location + Filters

Narrow to entry-level, full-time roles in Cairo posted in the last week:

{
"searchKeyword": "accountant",
"location": "Cairo",
"careerLevel": ["entry_level"],
"jobTypes": ["full_time"],
"postedWithinDays": "within_1_week",
"maxResults": 200
}

Remote Roles, Advanced

Remote and hybrid developer roles for experienced and manager levels:

{
"searchKeyword": "developer",
"workplaceTypes": ["remote", "hybrid"],
"careerLevel": ["experienced", "manager"],
"jobTypes": ["full_time", "freelance"],
"postedWithinDays": "within_1_month",
"maxResults": 500
}

Clone a Search You Built on Wuzzuf

Apply filters on wuzzuf.net, copy the URL, and paste it:

{
"startUrls": ["https://wuzzuf.net/search/jobs/?q=data%20analyst&filters[city][0]=Giza"],
"maxResults": 300
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchKeywordstring"software engineer"Word or phrase matched across job title and description. Leave blank to collect all jobs matching the filters.
startUrlsarray[]One or more Wuzzuf search-result URLs to scrape directly. When provided, these take priority over keyword and location.
locationstring""Filter to an exact city name as it appears on Wuzzuf (e.g. Cairo, Giza, Alexandria). Must be the full English city name. Leave blank for any location.

Filters

ParameterTypeOptionsDescription
careerLevelarrayStudent/Internship, Entry Level, Experienced, Manager/Supervisor, Senior ManagementOnly include jobs at these seniority levels. Empty = all.
jobTypesarrayFull Time, Part Time, Freelance/Project, Internship, Shift Based, VolunteeringOnly include jobs of these employment types. Empty = all.
workplaceTypesarrayOn-site, Remote, HybridOnly include jobs with these workplace arrangements. Empty = all.
postedWithinDaysstringAny time, Last 24 hours, Last week, Last monthOnly include jobs posted within this time window.

Limits

ParameterTypeDefaultDescription
maxResultsinteger100Hard cap on total job rows returned. Set to 0 for no cap. The actor stops requesting new pages once the cap is hit but keeps the full last page.

Output

Each result is one job posting. Every row carries the full description, skills, and categories โ€” there are no thin rows.

{
"title": "Senior Software Engineer",
"companyName": "Example Tech",
"companyLogo": "https://images.wuzzuf-data.net/files/company_logo/example-logo.png",
"location": "Cairo, Egypt",
"isRemote": false,
"workplaceType": "On-site",
"salary": "Confidential",
"jobType": "Full Time",
"careerLevel": "Experienced (Non-Manager)",
"categories": ["IT/Software Development", "Engineering"],
"skills": ["Python", "Django", "PostgreSQL", "REST APIs"],
"postedAt": "2026-06-24T07:07:34+00:00",
"postedAtText": "3 days ago",
"descriptionHtml": "<p>We are looking for a Senior Software Engineer...</p>",
"descriptionText": "We are looking for a Senior Software Engineer...",
"url": "https://wuzzuf.net/jobs/p/example-senior-software-engineer",
"jobId": "a1b2c3d4-...",
"scrapedAt": "2026-06-27T13:01:55.501901+00:00"
}

Job Fields

FieldTypeDescription
titlestringJob title as published.
companyNamestringHiring company name (may be hidden for confidential listings).
companyLogostringURL of the company logo image, when available.
locationstringJob location (e.g. Cairo, Egypt).
isRemotebooleanTrue when the role is remote-friendly.
workplaceTypestringWorkplace arrangement: On-site, Remote, or Hybrid.
salarystringDisclosed salary range, or Confidential when the employer hides it.
jobTypestringEmployment type (Full Time, Part Time, Freelance/Project, etc.).
careerLevelstringSeniority level required.
categoriesarrayJob categories/industries the posting belongs to.
skillsarraySkills the employer lists as required.
postedAtstringPosting date/time in ISO 8601 UTC.
postedAtTextstringFriendly relative posting text ("3 days ago").
descriptionHtmlstringFull job description with original HTML formatting.
descriptionTextstringFull job description as clean plain text.
urlstringDirect link to the job posting on Wuzzuf.
jobIdstringWuzzuf's stable job identifier โ€” use for deduplication.
scrapedAtstringWhen the row was collected, in ISO 8601 UTC.

Tips for Best Results

  • Clone a filtered search instead of rebuilding it. Apply every filter you want directly on wuzzuf.net, copy the resulting URL into startUrls, and the actor reproduces it exactly โ€” handy for filters more specific than the dropdowns above.
  • Use postedWithinDays for scheduled runs. Set it to Last 24 hours on a daily schedule (or Last week on a weekly one) so each run returns only fresh postings and you don't re-collect the same jobs.
  • Deduplicate on jobId, not url. The jobId is Wuzzuf's stable identifier and is the reliable key for upserts across repeated runs.
  • Leave everything blank to collect the full current feed. With no keyword and no filters, the actor walks the entire live listing set up to your maxResults.
  • Split remote roles with isRemote. Filter the output on the isRemote boolean rather than parsing workplaceType text โ€” it already accounts for remote-friendly hybrid roles.
  • Expect Confidential salaries. Many Wuzzuf employers hide pay; rows where salary isn't published return Confidential rather than an empty value, so filter accordingly.
  • Set maxResults to 0 for a full sweep, or keep a sensible cap for faster, cheaper sampling runs.

Pricing

From $0.90 per 1,000 results โ€” pay only for the jobs you collect, undercutting comparable Wuzzuf scrapers. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.11$0.10$0.10$0.09
1,000$1.05$1.00$0.95$0.90
10,000$10.50$10.00$9.50$9.00
100,000$105.00$100.00$95.00$90.00

A "result" is one job posting returned to your dataset. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

This actor collects publicly available job-posting data for legitimate purposes such as recruitment, market research, and analytics. You are responsible for using the data in compliance with Wuzzuf's terms of service, applicable data-protection laws (including any handling of personal data contained in postings), and the intended, lawful purposes described above. Do not use collected data to spam, harass, or otherwise harm individuals or companies.