Wuzzuf Jobs Scraper [๐ฐ$0.85] - Applicant Counts & Salaries
Pricing
from $0.85 / 1,000 results
Wuzzuf Jobs Scraper [๐ฐ$0.85] - Applicant Counts & Salaries
Scrape Wuzzuf.net jobs in Egypt, Saudi Arabia, UAE and 12 more countries: title, salary, experience, skills, education, applicant counts (applied, viewed, shortlisted, rejected) and company website, LinkedIn & industry. Filters, incremental monitoring and Telegram/Slack alerts.
Pricing
from $0.85 / 1,000 results
Rating
0.0
(0)
Developer
Corvuslab
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
What does Wuzzuf Jobs Scraper do?
Wuzzuf Jobs Scraper pulls job listings from Wuzzuf.net, Egypt's largest job board, and returns 70 structured fields per job: title, salary, experience range, skills, education, the full description and requirements, and the hiring company's profile. On top of that it returns two kinds of data most job scrapers lack: applicant demand (how many people applied, and how many applications the employer viewed, shortlisted and rejected) and company intelligence (website, LinkedIn, Facebook, industry, founding year).
Give it search terms, countries, cities or districts, or paste Wuzzuf URLs. Every matching job comes back as a clean record you can export to JSON, CSV or Excel, pull from the API, or hand to an AI agent. With no input at all, it returns the 25 newest jobs on the board. No login, cookies or proxy needed.
New to Apify? Sign up free and use the included monthly platform credit to try this Actor. No credit card needed.
What data can you extract from Wuzzuf?
Every record carries 70 fields (78 with incremental change tracking), grouped like this:
| Group | What you get |
|---|---|
| Job | title, url, jobTypes, employmentType, workplaceArrangement, careerLevel, categories, skills, vacancies, postedAt, expiresAt, isFeatured, status, applyType, applyUrl |
| Salary & experience | salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryHidden, salaryNotes, experienceYearsMin, experienceYearsMax, experienceText |
| Applicant demand | applicantCount, applicantVolumeLabel, applicationsViewed, applicationsShortlisted, applicationsRejected, applicationsNotSelected, jobViews, screeningQuestions |
| Candidate preferences | educationLevel, genderPreference |
| Company | company, companyId, companyConfidential, companyUrl, companyWebsite, companyLinkedin, companyFacebook, companySocialProfiles, companyIndustry, companyIndustries, companyDescription, companyLogo, companyEstablishedYear, companyIsVerified, companyHiringFor, companySpecialties, companyPerks |
| Location | location, area (district), city, country, countryCode, latitude, longitude |
| Text | description and requirements as plain text, HTML and/or Markdown |
| Run info | searchKeyword, source, scrapedAt, contentHash, plus changeType, firstSeenAt, lastSeenAt, previousSeenAt, expiredAt and repost fields in incremental mode |
Key features
- ๐ Applicant demand on 99.5% of jobs: applicants, applications viewed / shortlisted / rejected / not selected, page views, screening-question count and a demand label. Spot low-competition openings before you apply or pitch.
- ๐ข Company intelligence for lead lists: the employer's website, socials, industry, founding year, description, logo, specialties and perks arrive with every job.
- ๐๏ธ The site's own filters: job type, workplace (on-site / hybrid / remote), career level, all 37 Wuzzuf job categories, posted within, years of experience, 15 countries, and any city or district.
- ๐ฐ Screens that don't bill: Only jobs with a published salary, Minimum monthly salary and Skip confidential employers drop jobs before they're charged.
- ๐งพ Numbers, not just text: salary min / max / currency / period and minโmax years of experience as numbers, ready to sort and chart.
- โป๏ธ Incremental monitoring: scheduled runs emit only new, changed and expired jobs. Unchanged jobs cost nothing.
- ๐ Alerts: Telegram, Slack, Discord or any webhook (n8n, Make, Zapier).
- ๐ค AI-ready output: compact and drop-empty modes keep payloads small for LLMs and MCP clients.
๐ How to scrape Wuzzuf
- Enter one or more search terms (e.g.
accountant). Then pick countries, cities or filters, or paste a Wuzzuf URL. - Set Max results (0 = every matching job).
- Optionally turn on a salary screen, incremental mode and a notification channel.
- Click Start, then download the results as JSON, CSV or Excel, or pull them from the API.
Quick-start example input
{"searchTerms": ["accountant"],"locations": ["Cairo", "Giza"],"careerLevels": ["experienced"],"postedWithin": "week","maxResults": 100}
This returns up to 100 experienced-level accountant jobs posted in Cairo or Giza in the past week. Sort by applicantCount to go after the openings with the least competition first.
Input
Configure it in the visual editor or pass JSON via the API. The main inputs:
| Field | Type | What it does |
|---|---|---|
searchTerms | array | Job titles, skills or keywords. Each term runs as its own search; results are merged and de-duplicated. Empty = all jobs. |
countries | array | Egypt, Saudi Arabia, United Arab Emirates, Qatar, Kuwait, Oman, Bahrain, Jordan, Lebanon, Iraq, Libya, Algeria, United States, United Kingdom, Germany. |
locations | array | Cities ("Cairo", "Alexandria", "Riyadh") or districts ("New Cairo", "Nasr City", "Maadi"). "City, Country" works too. |
startUrls | array | Wuzzuf search URLs (filters included), country pages (wuzzuf.net/jobs/egypt) or single job URLs (wuzzuf.net/jobs/p/โฆ). When set, these replace the search form. |
maxResults | integer | Total jobs to return across all terms and places (default 25; 0 = all). |
jobTypes / workplace / careerLevels | array | full_time, part_time, freelance_project, internship, shift_based, volunteering / on_site, hybrid, remote / student, entry_level, experienced, manager, senior_management. |
categories | array | Any of Wuzzuf's 37 job categories (IT/Software Development, Accounting/Finance, Sales/Retail, โฆ). |
postedWithin | enum | any, 24h, week, month. |
yearsOfExperience | integer | Only jobs whose required range includes this number. Jobs with no stated range are kept. |
onlyWithSalary / minSalary / excludeConfidential | boolean / integer / boolean | The free screens. minSalary is monthly, top of the range, in the job's own currency. |
includeApplicantInsights / includeCompanyProfile | boolean | Applicant and company field groups (both on by default). |
descriptionFormat / descriptionMaxLength | enum / integer | all, text, html or markdown, and an optional character limit. |
compact / excludeEmptyFields | boolean | Core fields only / drop empty fields. |
Several values inside one filter widen the search (OR); different filters narrow it (AND). Incremental and notification inputs are covered in their own sections below. Under Advanced you'll find an optional proxy setting (not needed), request retries, and whether unreadable start URLs are skipped or fail the run.
More example inputs
Remote and hybrid IT jobs in Egypt paying at least 30,000 EGP a month:
{"countries": ["Egypt"],"categories": ["IT/Software Development"],"workplace": ["remote", "hybrid"],"minSalary": 30000,"maxResults": 0}
A Gulf hiring lead list with confidential employers skipped:
{"countries": ["Saudi Arabia", "United Arab Emirates", "Kuwait"],"excludeConfidential": true,"maxResults": 0}
Output
Each dataset item is one Wuzzuf job. A real record (trimmed):
{"id": "1706f44c-442f-4c5a-9daf-3e63575665d3","title": "(German / Spanish / French / English) Customer Service & Outbound Sales Specialist","url": "https://wuzzuf.net/jobs/p/7wuxftdegdtk-german-spanish-french-english-customer-service-outbound-sales-specialist-riseup-endemag-for-administrative-skills-development-cairo-egypt","company": "RISEUP (Endemag for Administrative Skills Development)","location": "Maadi, Cairo, Egypt","employmentType": "Full Time","workplaceArrangement": "On-site","careerLevel": "Experienced","categories": ["Customer Service/Support", "Quality", "Sales/Retail"],"skills": ["Sales", "Customer Service", "English", "French", "German", "Spanish Teaching"],"experienceYearsMin": 3,"experienceYearsMax": 7,"salaryText": "24,000 - 48,000 EGP Per Month","salaryMin": 24000.0,"salaryMax": 48000.0,"salaryCurrency": "EGP","salaryPeriod": "month","vacancies": 33,"educationLevel": "Bachelor's Degree","postedAt": "2026-10-14T09:37:45+00:00","applicantCount": 5,"applicantVolumeLabel": "Low","applicationsViewed": 4,"applicationsRejected": 1,"screeningQuestions": 3,"description": "Job Description\nWeโre hiring Customer Service Representatives & Outbound Sales Representatives who speak English or French or German or Spanishโฆ","companyWebsite": "https://www.riseupgrp.com","companyLinkedin": "https://www.linkedin.com/company/riseupgrp/","companyIndustry": "Human Resources","companyEstablishedYear": 2017,"scrapedAt": "2026-10-14T15:28:11.452488+00:00"}
Every field is present on every record, with null where Wuzzuf has no value. Times are in UTC. Compact mode keeps only the core fields, and excludeEmptyFields drops empty ones. The Output tab has two ready-made views: Overview (one row per job) and Companies hiring (employer, industry, website, LinkedIn, founding year, Wuzzuf profile, role).
โป๏ธ How to monitor Wuzzuf with incremental mode
Turn on incremental mode (incrementalMode) and schedule the Actor. Each run compares against the last one and tags each job with a changeType: NEW, UPDATED, REAPPEARED or EXPIRED. Unchanged jobs are skipped and not charged. A job counts as UPDATED only when its content changes, so a new applicant or page view doesn't make it look changed.
| First run (baseline) | Next run (nothing changed) | |
|---|---|---|
| Records emitted and billed | all | none |
After the baseline, your cost tracks how much Wuzzuf changes, not how many jobs you watch:
| Daily churn | of 1,000 tracked | billable records | you save |
|---|---|---|---|
| 5 % | 1,000 | 50 | 95 % |
| 15 % | 1,000 | 150 | 85 % |
| 30 % | 1,000 | 300 | 70 % |
Options: stateKey names the tracked search (it's derived from your settings if you leave it blank). emitUnchanged and emitExpired add UNCHANGED and EXPIRED records. skipReposts ignores a vacancy that's taken down and re-posted under a new id with the same title, company and location. EXPIRED is reported only by runs that read the whole search (maxResults 0 or above the search size), so a capped run never marks a live job as gone.
Setup: configure your search, turn on incremental mode with Max results 0, and run it once to seed the baseline. Then add a schedule (e.g. every morning) in the Schedules tab.
๐ How to set up Wuzzuf alerts
Fill in only the channels you want. Each one fires independently, so a broken channel can't stop the scrape or the others. Credentials are secret inputs: encrypted, masked in the UI and never logged.
| Channel | What to configure |
|---|---|
| โ๏ธ Telegram | telegramToken (from @BotFather) + telegramChatId |
| ๐ฌ Slack | slackWebhookUrl |
| ๐ฎ Discord | discordWebhookUrl |
| ๐ช Webhook | webhookUrl (+ optional webhookHeaders): a JSON POST for n8n, Make or Zapier |
notificationLimit sets how many jobs each message lists (1โ20, default 5). Pair incremental mode with notifyOnlyChanges to hear only about new, updated and reappeared jobs, with no repeats across runs.
๐ก What can you do with Wuzzuf data?
Find low-competition openings
Sort by applicantCount to see which roles have only a handful of applicants. applicationsViewed and applicationsShortlisted show which employers are actually reviewing candidates.
Build B2B lead lists of companies hiring in Egypt
The Companies hiring view turns a search into a prospect list with websites, LinkedIn pages and industries. It suits recruitment agencies, HR-tech, payroll and training vendors.
Benchmark salaries in Egypt and the Gulf
Turn on Only jobs with a published salary to get numeric monthly pay with currency, by role, career level, city and years of experience.
Track the Egyptian labour market
Count open roles by category, district, workplace type and career level over time. A daily schedule shows which sectors are expanding and how fast vacancies fill.
Power a job board, alert channel or AI pipeline
Feed a niche board or Telegram channel with fresh jobs, each posted once thanks to incremental mode. You can also drop compact JSON straight into an LLM context, an MCP tool or a vector store.
๐ฐ How much does it cost to scrape Wuzzuf?
This Actor uses Apify's pay-per-event model: a small fee when a run starts, plus a fee for each job saved. The Pricing tab always shows the current numbers. Three things keep the bill down:
- Site-side filters: jobs you filter out are never fetched and never billed.
- Free screens: the salary and confidential-employer screens skip jobs before they're charged.
- Incremental mode: after the baseline you pay only for what changed.
๐ Integrations & export
Export to JSON, CSV, Excel or an HTML table, or use the REST API and the JavaScript / Python clients. Run it on a schedule, connect it to Google Sheets, Make, Zapier and n8n, or call it as an MCP tool from AI agents.
Our other Middle East job boards: Bayt.com Jobs Scraper, GulfTalent Job Scraper and NaukriGulf Jobs Scraper, all with the same incremental monitoring and alerts.
๐ Using the API
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("corvuslab/wuzzuf-jobs-scraper").call(run_input={"searchTerms": ["software engineer"],"countries": ["Egypt"],"workplace": ["remote", "hybrid"],"maxResults": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["company"], item["applicantCount"])
โ FAQ
Why is the salary empty on most Wuzzuf jobs? Most Wuzzuf employers keep the salary confidential. Only about 15% of jobs publish one. On the rest salaryText is "Confidential" and salaryHidden is true. Use Only jobs with a published salary or Minimum monthly salary to keep just the salaried ones. Skipped jobs are not charged.
Does it extract emails or phone numbers? No. Wuzzuf strips contact details from postings, and candidates apply through the site. You get the employer's website, LinkedIn and Facebook instead, which is usually a better starting point for B2B outreach.
What do the applicant numbers mean, and how current are they? applicantCount is how many people applied. applicationsViewed, applicationsShortlisted, applicationsRejected and applicationsNotSelected show what the employer has done with the applications, and jobViews counts page views. applicantVolumeLabel buckets the applicant count: Low (under 10), Medium (10โ49), High (50+). All of them reflect the moment of the scrape, so schedule the Actor to follow how they move.
Why does a job say "Confidential" instead of a company name? About 14% of Wuzzuf jobs are posted anonymously and have no company profile. Turn on Skip confidential employers to drop them before they're billed.
Why are some company fields empty? Each employer fills in its own profile. Across jobs, industry is present on about 78%, website 72%, description 69%, founding year 43%, LinkedIn 31% and Facebook 26%. Gender preference appears only when the employer states one (about 12% of jobs).
Which countries does Wuzzuf cover? About 96% of live jobs are in Egypt. Saudi Arabia, the UAE, the United States and the United Kingdom have a few dozen each. Kuwait, Oman, Jordan, Lebanon, Iraq, Libya, Qatar, Bahrain, Algeria and Germany have a handful, so a run limited to those can return few or no jobs on a given day.
How many jobs can I get? All of them. Set maxResults to 0 to read every matching job, up to the whole board (around 5,400 live jobs). maxResults is a total across all your search terms and places.
โ๏ธ Is it legal to scrape Wuzzuf?
This Actor collects only publicly available job listings and company profiles. It does not log in or access private candidate data. You're responsible for how you use the data, in particular any personal information, and for complying with Wuzzuf's terms and applicable law, including Egypt's Personal Data Protection Law and the GDPR where they apply. Not affiliated with, endorsed by or sponsored by Wuzzuf or BasharSoft.
Keywords: wuzzuf scraper ยท wuzzuf jobs scraper ยท wuzzuf.net scraper ยท wuzzuf api ยท scrape wuzzuf jobs ยท egypt jobs scraper ยท egypt job listings ยท cairo jobs data ยท mena jobs scraper ยท gulf jobs scraper ยท job applicant data ยท companies hiring in egypt ยท egypt salary data ยท job monitoring ยท lead generation ยท export to CSV ยท export to Excel ยท no-code scraper ยท MCP tool for AI agents