🔍 Wuzzuf Jobs Scraper avatar
🔍 Wuzzuf Jobs Scraper

Pricing

Pay per usage

Go to Apify Store
🔍 Wuzzuf Jobs Scraper

🔍 Wuzzuf Jobs Scraper

Extract job listings efficiently from Wuzzuf, Egypt's leading employment platform. This lightweight actor is designed for speed and ease of use. To ensure the best stability and avoid potential blocking, using residential proxies is highly recommended.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Wuzzuf Jobs Scraper

Extract job listings from Wuzzuf.net, the leading job platform for Egypt and the MENA region. This high-performance scraper collects comprehensive job data including titles, companies, locations, salaries, requirements, and full descriptions.

Key Features

  • Smart Data Extraction: Uses JSON API as primary source with automatic HTML fallback for maximum reliability
  • Comprehensive Data: Extracts job title, company, location, salary, job type, career level, skills, posting date, and full descriptions
  • Advanced Filtering: Search by keyword, location, category, career level, and employment type
  • Efficient Pagination: Automatically handles multi-page results with configurable limits
  • Structured Output: Clean, consistent JSON format ready for analysis and integration
  • Production Ready: Built with enterprise-grade error handling and retry logic

Use Cases

  • Job market research and analysis for Egypt and MENA region
  • Salary benchmarking and compensation studies
  • Recruitment pipeline automation
  • Skills demand tracking and trend analysis
  • Job aggregation platforms and job boards
  • Career guidance and job recommendation systems

Input Configuration

Configure the scraper using these parameters:

Search Parameters

ParameterTypeDescriptionExample
keywordStringSearch for specific job titles or keywords"software engineer", "accountant"
locationStringFilter jobs by city or region"Cairo", "Alexandria", "Dubai"
categoryStringFilter by job category"IT/Software Development"
careerLevelStringFilter by experience level"Entry Level", "Experienced"
jobTypeStringFilter by employment type"Full Time", "Remote"
maxJobAgeStringFilter jobs by posting date age"7 days", "30 days", "90 days", "all"
startUrlStringCustom Wuzzuf search URL (overrides other filters)"https://wuzzuf.net/search/jobs/?q=..."

Control Parameters

ParameterTypeDefaultDescription
results_wantedInteger100Maximum number of jobs to collect (1-1000)
max_pagesInteger20Maximum search pages to process (~15 jobs per page)
collectDetailsBooleantrueExtract full job descriptions and details
maxJobAgeStringallOnly include jobs posted within specified time frame
proxyConfigurationObjectResidentialProxy settings for reliable scraping

Input Example

{
"keyword": "software engineer",
"location": "Cairo",
"category": "IT/Software Development",
"careerLevel": "Experienced",
"jobType": "Full Time",
"maxJobAge": "30 days",
"results_wanted": 50,
"max_pages": 5,
"collectDetails": true
}

Output Format

Each job listing contains the following structured data:

{
"title": "Senior Software Engineer",
"company": "Tech Company Egypt",
"location": "Maadi, Cairo, Egypt",
"salary": "Confidential",
"job_type": "Full Time",
"career_level": "Experienced",
"date_posted": "3 hours ago",
"skills": [
"JavaScript",
"React",
"Node.js",
"MongoDB"
],
"description_html": "<div>Full HTML job description...</div>",
"description_text": "Plain text job description...",
"url": "https://wuzzuf.net/jobs/p/...",
"scraped_at": "2025-12-14T10:30:00.000Z"
}

Output Fields

FieldTypeDescription
titleStringJob title or position name
companyStringHiring company name
locationStringJob location (city, country)
salaryStringSalary range or "Confidential"
job_typeStringEmployment type (Full Time, Part Time, etc.)
career_levelStringRequired experience level
date_postedStringWhen the job was posted
skillsArrayRequired skills and technologies
description_htmlStringFull job description with HTML formatting
description_textStringPlain text version of description
urlStringDirect link to job posting
scraped_atStringISO timestamp of data extraction

How to Use

Running on Apify Platform

  1. Navigate to the Apify Console
  2. Search for "Wuzzuf Jobs Scraper" in the Store
  3. Click "Try for free"
  4. Configure your search parameters in the Input tab
  5. Click "Start" to begin scraping
  6. Download results in JSON, CSV, Excel, or HTML format

API Integration

Use the Apify API to integrate job scraping into your applications:

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({
token: 'YOUR_API_TOKEN',
});
const run = await client.actor('YOUR_ACTOR_ID').call({
keyword: 'data scientist',
location: 'Cairo',
results_wanted: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python Example

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('YOUR_ACTOR_ID').call(
run_input={
'keyword': 'marketing manager',
'location': 'Dubai',
'results_wanted': 50
}
)
dataset = client.dataset(run['defaultDatasetId'])
items = dataset.list_items().items

Performance and Costs

Jobs ScrapedCompute UnitsRuntime
50 jobs (details)~0.02 CU~1-2 minutes
100 jobs (details)~0.04 CU~2-4 minutes
500 jobs (details)~0.15 CU~10-15 minutes

Note: Actual costs may vary based on proxy usage and network conditions. Scraping without details (collectDetails: false) is significantly faster.

Best Practices

Optimal Configuration

  • Use Specific Keywords: Narrow searches return more relevant results faster
  • Set Reasonable Limits: Start with results_wanted: 100 to control costs
  • Enable Proxy: Use residential proxies for best reliability
  • Schedule Regular Runs: Set up automated scraping to track new job postings

Error Handling

The scraper includes robust error handling:

  • Automatic retries for failed requests (3 attempts)
  • Graceful fallback from JSON API to HTML parsing
  • Session management to handle rate limiting
  • Detailed logging for troubleshooting

Limitations

  • Respects website's rate limits and robots.txt
  • Requires active Apify account and compute units
  • Some job details may be behind authentication
  • Output language depends on Wuzzuf's default (primarily Arabic and English)

Frequently Asked Questions

Can I scrape jobs from specific companies?

Yes, use the keyword parameter with the company name, or provide a custom startUrl filtering by company.

What languages are supported?

The scraper extracts content in both Arabic and English as provided by Wuzzuf.

How often can I run this scraper?

You can run it as frequently as needed. For job monitoring, we recommend daily or weekly schedules.

Can I export data to Google Sheets?

Yes, Apify integrations support direct export to Google Sheets, Excel, CSV, JSON, and more.

Is this scraper compliant with terms of service?

This scraper is designed for legitimate use cases like market research and recruitment. Users are responsible for ensuring their usage complies with applicable terms of service and regulations.

Support and Feedback