# Wuzzuf Jobs Search Scraper (`alexist/wuzzuf-jobs-search-scraper`) Actor

Scrape Wuzzuf.net job search results effortlessly. This scraper extracts 30+ fields per listing — titles, descriptions, salaries, requirements, locations, and company details — perfect for recruiters, job boards, and market researchers analyzing Egypt's talent landscape.

- **URL**: https://apify.com/alexist/wuzzuf-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Wuzzuf Jobs Search Scraper: Collect Egypt's Job Market Data at Scale

---

### What Is Wuzzuf.net?

Wuzzuf.net is the Middle East's largest job portal, with a particular stronghold in Egypt's employment market. It hosts hundreds of thousands of active job listings across finance, technology, healthcare, retail, and hospitality sectors. While browsing Wuzzuf manually works for a handful of listings, extracting data from search results pages at scale requires automation — the **Wuzzuf Jobs Search Scraper** fills this gap, turning search results into clean, structured datasets in minutes.

---

### Overview

The **Wuzzuf Jobs Search Scraper** extracts job listings from Wuzzuf.net search results pages, capturing comprehensive job and company data in a single run. Designed for:

- **Recruiters** building talent pipelines and monitoring market rates
- **HR professionals** benchmarking salaries and job descriptions
- **Job aggregators** feeding their platforms with current Wuzzuf listings
- **Market researchers** analyzing employment trends in Egypt and the Middle East
- **Data analysts** studying labor demand by industry, location, and experience level

The scraper handles pagination automatically, supports bulk configuration, and gracefully manages network failures — ideal for collecting hundreds of listings without manual intervention.

---

### Input Configuration

The scraper accepts a JSON configuration to control what and how much data to collect:

```json
{
  "urls": [
    "https://wuzzuf.net/a/Accounting-Finance-Jobs-in-Egypt?start=0&ref=browse-jobs"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

#### Input Parameters Explained

| Parameter | Type | Purpose |
|---|---|---|
| `urls` | Array | List of Wuzzuf job search result pages to scrape (e.g., filtered by category, location, or keyword). Each URL should be a search results page, not an individual job posting. |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues running even if some URLs fail (network errors, page changes). If `false`, a single failure halts the entire run. Default: `true` |
| `max_items_per_url` | Integer | Maximum number of job listings to collect per URL (range: 1–200). Use `200` for comprehensive scrapes, lower numbers for faster test runs. |

**Example scenarios:**

- Scraping all Accounting & Finance jobs in Egypt: use the provided Accounting-Finance URL with `max_items_per_url: 200`
- Collecting tech jobs across multiple locations: add multiple URLs (Cairo, Alexandria, etc.) to the `urls` array
- Quick test run: set `max_items_per_url: 20` to preview output before a full scrape

***

### Output Format & Field Reference

**Sample output**

```json
{
  "job_type": "job",
  "application_type": "internal",
  "status": "active",
  "title": "Emergeny Admin - Hospitals",
  "description": "<ul><li><p>Welcome patients upon admission and introduce them to the room facilities, explain how to request assistance, and respond to inquiries regarding available services.</p></li><li><p>Maintain a comprehensive filing system for the assigned unit.</p></li><li><p>Prepare and print all reports, correspondence, administrative instructions, and other required documents.</p></li><li><p>Prepare, organize, and maintain all medical and administrative files required for the unit's operations.</p></li><li><p>Print all patient- and unit-related reports, including medical history, consultation reports, nutrition lists, and other required documentation.</p></li><li><p>Record and enter all daily patient-related supplies and consumables.</p></li><li><p>Complete patient discharge procedures, coordinate with the Finance Department, print the patient's medical discharge report, and ensure it is delivered within the required timeframe.</p></li><li><p>Take minutes and record notes during meetings.</p></li><li><p>Prepare the monthly requisition for the unit's medical supplies based on the requirements of the nursing team.</p></li><li><p>Respond to patient call bells and promptly notify the nursing staff of patients' requests.</p></li><li><p>Answer telephone calls, take messages, and communicate them to the appropriate personnel.</p></li><li><p>Perform any other duties related to the position as assigned by the Unit Manager or the Head Nurse.</p></li></ul><p></p>",
  "requirements": "<ul><li><p>From 1 to 3 years of Experience in Hospitals - Emergency Department</p></li><li><p>Holds a bachelor degree</p></li><li><p>Flexibility in working hours</p></li><li><p>Excellent communication skills</p></li><li><p>Excellent in utilizing MS Office Programs</p></li></ul><p></p>",
  "salary": {
    "min": null,
    "max": null,
    "currency": null,
    "period": null,
    "additional_details": null,
    "is_paid": true
  },
  "keywords": [
    {
      "name": "Communication",
      "user_content_translations": null,
      "browse_page": "a/Communication-Jobs-in-Egypt"
    },
    {
      "name": "Presentations",
      "user_content_translations": null,
      "browse_page": "a/Presentations-Jobs-in-Egypt"
    },
    {
      "name": "Administration",
      "user_content_translations": {
        "name": {
          "ar": "إدارة",
          "en": "Administration",
          "confidence": 1,
          "lang_detected": "en"
        }
      },
      "browse_page": "a/Administration-Jobs-in-Egypt"
    },
    {
      "name": "Customer Support",
      "user_content_translations": {
        "name": {
          "ar": "دعم العملاء",
          "en": "Customer Support",
          "confidence": 1,
          "lang_detected": "en"
        }
      },
      "browse_page": "a/Customer-Support-Jobs-in-Egypt"
    }
  ],
  "career_level": {
    "id": 6,
    "name": "Experienced",
    "hint": "Non-Manager",
    "translations": {
      "hint": {
        "ar": "غير إداري",
        "en": "Non-Manager"
      },
      "name": {
        "ar": "ذو خبرة (غير مدير)",
        "en": "Experienced (Non-Manager)"
      },
      "display_name": {
        "ar": "ذو خبرة",
        "en": "Experienced"
      }
    },
    "browse_page": "a/Experienced-Jobs-in-Egypt"
  },
  "workplace_arrangement": {
    "id": 1,
    "displayed_name": "On-site",
    "translations": {
      "displayed_name": {
        "ar": "عمل من مقر الشركة",
        "en": "on_site"
      }
    },
    "browse_page": "a/On-Site-Jobs-in-Egypt"
  },
  "location": {
    "country": {
      "id": 56,
      "name": "Egypt",
      "translations": {
        "name": {
          "ar": "مصر",
          "en": "Egypt"
        }
      },
      "code": "EG",
      "browse_page": "a/Emergeny-Admin-Hospitals-Jobs-in-Egypt"
    },
    "city": {
      "id": 1550,
      "name": "Giza",
      "translations": {
        "name": {
          "ar": "الجيزة",
          "en": "Giza"
        }
      },
      "latitude": "30.02063400",
      "longitude": "31.20886600",
      "browse_page": "a/Emergeny-Admin-Hospitals-Jobs-in-Giza"
    },
    "area": {
      "id": 64,
      "name": "6th of October",
      "translations": {
        "name": {
          "ar": "السادس من أكتوبر",
          "en": "6th of October"
        }
      },
      "latitude": "29.93810000",
      "longitude": "30.91400000",
      "browse_page": "a/Emergeny-Admin-Hospitals-Jobs-in-6th-Of-October"
    }
  },
  "work_experience_years": {
    "min": 1,
    "max": 3
  },
  "vacancies": 3,
  "work_roles": [
    {
      "id": 3,
      "name": "Administration",
      "translations": {
        "name": {
          "ar": "الإدارة",
          "en": "Administration"
        }
      },
      "browse_page": "a/Administration-Jobs-in-Egypt"
    },
    {
      "id": 9,
      "name": "Customer Service/Support",
      "translations": {
        "name": {
          "ar": "خدمة العملاء/الدعم",
          "en": "Customer Service/Support"
        }
      },
      "browse_page": "a/Customer-Service-Jobs-in-Egypt"
    }
  ],
  "work_types": [
    {
      "id": 1,
      "name": "full_time",
      "translations": {
        "displayed_name": {
          "ar": "دوام كامل",
          "en": "full_time"
        }
      },
      "displayed_name": "Full Time",
      "browse_page": "a/Full-Time-Jobs-in-Egypt"
    },
    {
      "id": 6,
      "name": "shift_based",
      "translations": {
        "displayed_name": {
          "ar": "قائم على الورديات",
          "en": "shift_based"
        }
      },
      "displayed_name": "Shift Based",
      "browse_page": "a/Shift-Based-Jobs-in-Egypt"
    }
  ],
  "schools": [],
  "candidate_preferences": {
    "gender": null,
    "education_level": {
      "id": 10,
      "name": "Not Specified",
      "translations": {
        "name": {
          "ar": "غير محدد",
          "en": "Not Specified"
        }
      }
    },
    "requires_bachelor_degree": false,
    "requires_good_profile_meter": false,
    "requires_academic_excellence": false
  },
  "hot_score": 0,
  "logo": null,
  "slug": "rblbm10zj2hr-emergeny-admin-hospitals-cleopatra-hospitals-group-giza-egypt",
  "uri": "jobs/p/rblbm10zj2hr-emergeny-admin-hospitals-cleopatra-hospitals-group-giza-egypt",
  "views": 0,
  "redirect_url": null,
  "temp_working_from_home": false,
  "hide_company": false,
  "hide_gender": false,
  "hide_salary": true,
  "settings": {
    "is_auto_posted": null,
    "is_highlighted": null,
    "is_featured": null
  },
  "posted_at": "07/11/2026 13:29:17",
  "expire_at": "09/09/2026 13:29:17",
  "user_content_translations": {
    "title": {
      "ar": "إدارة الطوارئ - المستشفيات",
      "en": "Emergeny Admin - Hospitals",
      "confidence": 1,
      "lang_detected": "en"
    },
    "description": {
      "ar": "استقبال المرضى عند دخولهم وتعريفهم بمرافق الغرفة، وشرح كيفية طلب المساعدة، والرد على استفساراتهم بشأن الخدمات المتاحة. الحفاظ على نظام ملفات شامل للوحدة المُخصصة. إعداد وطباعة جميع التقارير والمراسلات والتعليمات الإدارية والوثائق الأخرى المطلوبة. إعداد وتنظيم وحفظ جميع الملفات الطبية والإدارية اللازمة لعمليات الوحدة. طباعة جميع التقارير المتعلقة بالمرضى والوحدة، بما في ذلك التاريخ الطبي وتقارير الاستشارات وقوائم التغذية والوثائق الأخرى المطلوبة. تسجيل وإدخال جميع اللوازم والمستهلكات اليومية المتعلقة بالمرضى. إكمال إجراءات خروج المرضى، والتنسيق مع قسم المالية، وطباعة تقرير خروج المريض الطبي، والتأكد من تسليمه في غضون الإطار الزمني المطلوب. تدوين محاضر الاجتماعات وتسجيل الملاحظات أثناء الاجتماعات. إعداد طلب الشراء الشهري للوازم الطبية للوحدة بناءً على متطلبات فريق التمريض. الاستجابة لأجراس استدعاء المرضى وإبلاغ طاقم التمريض على الفور بطلبات المرضى. الرد على المكالمات الهاتفية، وتلقي الرسائل، وإيصالها إلى الموظفين المختصين. القيام بأي مهام أخرى متعلقة بالوظيفة يكلف بها مدير الوحدة أو رئيس القسم ممرضة.",
      "en": "Welcome patients upon admission and introduce them to the room facilities, explain how to request assistance, and respond to inquiries regarding available services.Maintain a comprehensive filing system for the assigned unit.Prepare and print all reports, correspondence, administrative instructions, and other required documents.Prepare, organize, and maintain all medical and administrative files required for the unit's operations.Print all patient- and unit-related reports, including medical history, consultation reports, nutrition lists, and other required documentation.Record and enter all daily patient-related supplies and consumables.Complete patient discharge procedures, coordinate with the Finance Department, print the patient's medical discharge report, and ensure it is delivered within the required timeframe.Take minutes and record notes during meetings.Prepare the monthly requisition for the unit's medical supplies based on the requirements of the nursing team.Respond to patient call bells and promptly notify the nursing staff of patients' requests.Answer telephone calls, take messages, and communicate them to the appropriate personnel.Perform any other duties related to the position as assigned by the Unit Manager or the Head Nurse.",
      "confidence": 1,
      "lang_detected": "en"
    },
    "requirements": {
      "ar": "خبرة من سنة إلى ثلاث سنوات في المستشفيات - قسم الطوارئ. حاصل على درجة البكالوريوس. مرونة في ساعات العمل. مهارات تواصل ممتازة. إجادة استخدام برامج مايكروسوفت أوفيس.",
      "en": "From 1 to 3 years of Experience in Hospitals - Emergency DepartmentHolds a bachelor degreeFlexibility in working hoursExcellent communication skillsExcellent in utilizing MS Office Programs",
      "confidence": 1,
      "lang_detected": "en"
    }
  },
  "from_url": "https://wuzzuf.net/a/Accounting-Finance-Jobs-in-Egypt?ref=browse-jobs"
}
```

Each scraped job returns a rich record with 30+ fields, covering job details, requirements, company info, and posting metadata:

#### Core Job Information

| Field | Meaning |
|---|---|
| `Title` | Job title as displayed on Wuzzuf (e.g., "Senior Accountant") |
| `Description` | Full HTML job description, including responsibilities and benefits |
| `Requirements` | Candidate requirements and qualifications text |
| `Salary` | Salary range (e.g., "10,000 - 15,000 EGP"), may be hidden by employer |
| `Keywords` | Job-related tags and keywords (e.g., "accounting", "SAP", "auditing") |
| `Slug` | URL-friendly job identifier used in Wuzzuf links |
| `URI` | Direct permalink to the job posting on Wuzzuf.net |

#### Job Specifications

| Field | Meaning |
|---|---|
| `Job Type` | Employment type: Full-time, Part-time, Contract, Temporary, Freelance |
| `Career Level` | Experience required: Entry Level, Junior, Mid-Level, Senior, Lead, Manager |
| `Work Experience Years` | Minimum years of experience needed (e.g., "2", "5+") |
| `Workplace Arrangement` | Work setup: On-site, Remote, Hybrid, Flexible |
| `Temp Working From Home` | Whether WFH is temporarily available (often post-pandemic flag) |
| `Work Roles` | Job categories or departments (e.g., Finance, Operations, HR) |
| `Work Types` | Specific work classifications aligned with Egyptian labor standards |
| `Vacancies` | Number of open positions |
| `Location` | Job location (city, area, or region in Egypt) |

#### Application & Status

| Field | Meaning |
|---|---|
| `Application Type` | How to apply: Direct application via Wuzzuf, email, external link, phone |
| `Status` | Listing status: Active, Closed, Expired, Pending |
| `Posted At` | Timestamp when the listing was published |
| `Expire At` | Deadline for applications |
| `Redirect URL` | External URL if the job redirects outside Wuzzuf (e.g., company career page) |

#### Company & Visibility

| Field | Meaning |
|---|---|
| `Logo` | Company logo image URL |
| `Hide Company` | Boolean flag: `true` if employer name is hidden from job seekers |
| `Hide Gender` | Boolean flag: `true` if job does not specify gender preferences |
| `Hide Salary` | Boolean flag: `true` if salary is hidden from the listing |
| `Hot Score` | Wuzzuf's internal popularity/engagement metric (higher = trending) |
| `Views` | Total views the listing has received |

#### Additional Metadata

| Field | Meaning |
|---|---|
| `Schools` | Target educational institutions (for graduate/intern programs) |
| `Candidate Preferences` | Desired candidate attributes beyond formal requirements |
| `Settings` | Internal configuration and flags set by the employer |
| `User Content Translations` | Multi-language versions of the job posting (if available) |

**Example output snippet:**

```json
{
  "Title": "Finance Manager - Cairo",
  "Salary": "25,000 - 35,000 EGP",
  "Career Level": "Senior",
  "Location": "Cairo, Egypt",
  "Job Type": "Full-time",
  "Posted At": "2024-01-15",
  "Status": "Active",
  "Hot Score": 87,
  "Views": 1250
}
```

***

### How to Use the Scraper

1. **Find your search URL** — Go to Wuzzuf.net, filter jobs by category, location, or keywords, and copy the search results URL from your browser's address bar.

2. **Configure the scraper:**
   - Paste one or more search URLs into the `urls` array
   - Set `max_items_per_url` (recommend `200` for full scrapes, `20–50` for testing)
   - Keep `ignore_url_failures: true` for uninterrupted collection

3. **Run the actor** — Start the scraper and monitor the log for progress.

4. **Export data** — Download results as JSON, CSV, or Excel for analysis or integration into your job board or database.

**Best practices:**

- Use specific search filters (category, city, experience level) to target relevant listings
- Test with `max_items_per_url: 20` first to verify URL format before scaling to 200
- Schedule regular scrapes to keep your dataset current (Wuzzuf listings update continuously)

***

### Use Cases & Business Applications

- **Talent market intelligence:** Track hiring trends, salary benchmarks, and in-demand skills across Egyptian industries
- **Competitive recruitment:** Monitor competitor job postings, company sizing, and hiring velocity
- **Job board aggregation:** Feed Wuzzuf listings into multi-source job platforms and career websites
- **Academic research:** Analyze labor demand, geographic distribution, and skill requirements in Middle Eastern markets
- **Career guidance:** Build skill requirement databases to advise job seekers on market-demanded qualifications

The Wuzzuf Jobs Search Scraper transforms time-consuming manual research into actionable data in seconds, unlocking insights that drive smarter hiring and workforce planning decisions.

***

### Conclusion

The **Wuzzuf.net Jobs Search Scraper** is your solution for extracting Egypt's most current job market data reliably and at scale. With 30+ output fields, flexible batch configuration, and robust error handling, it empowers recruiters, researchers, and developers to tap into Wuzzuf's talent ecosystem without manual browsing. Start scraping today and stay ahead of market trends.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://wuzzuf.net/a/Accounting-Finance-Jobs-in-Egypt?start=0&ref=browse-jobs"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://wuzzuf.net/a/Accounting-Finance-Jobs-in-Egypt?start=0&ref=browse-jobs"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/wuzzuf-jobs-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://wuzzuf.net/a/Accounting-Finance-Jobs-in-Egypt?start=0&ref=browse-jobs"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/wuzzuf-jobs-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://wuzzuf.net/a/Accounting-Finance-Jobs-in-Egypt?start=0&ref=browse-jobs"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call alexist/wuzzuf-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alexist/wuzzuf-jobs-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wuzzuf Jobs Search Scraper",
        "description": "Scrape Wuzzuf.net job search results effortlessly. This scraper extracts 30+ fields per listing — titles, descriptions, salaries, requirements, locations, and company details — perfect for recruiters, job boards, and market researchers analyzing Egypt's talent landscape.",
        "version": "0.0",
        "x-build-id": "ZOrgxeDFhR0hl7gOc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alexist~wuzzuf-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alexist-wuzzuf-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/alexist~wuzzuf-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alexist-wuzzuf-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/alexist~wuzzuf-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alexist-wuzzuf-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the Jobs list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
