# Haraj Scraper & API حراج (2026) 🇸🇦 (`zen-studio/haraj-scraper`) Actor

Haraj scraper and unofficial Haraj API to extract listings from Haraj.com.sa. Scrape cars, real estate, electronics, jobs, and 20+ categories. Filter by city, category, seller, or keyword. Get structured data with prices, images, seller info, and location from Saudi Arabia's largest marketplace.

- **URL**: https://apify.com/zen-studio/haraj-scraper.md
- **Developed by:** [Zen Studio](https://apify.com/zen-studio) (community)
- **Categories:** Real estate, Automation, E-commerce
- **Features:** Limited permissions
- **Stats:** 128 total users, 21 monthly users, 100.0% runs succeeded, 4 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 1,000 listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Haraj.com.sa Scraper & API حراج (2026) 🇸🇦

[![Haraj: Seller names. Detailed specs. Neighbourhoods. Cars, property, electronics. 21 categories.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/haraj-readme-hero-2b0217b71958.png)](https://console.apify.com/actors/eGJ3ybCj8IJR6tVK8/input)

From **Zen Studio**, creators of [OpenSooq Scraper](https://apify.com/zen-studio/opensooq-scraper), [Mahally Scraper](https://apify.com/zen-studio/mahally-scraper) and [Avito Listings Scraper](https://apify.com/zen-studio/avito-listings-scraper). Marketplace listings and seller data from the same team.

### Why choose this actor?

**Compare the details that matter.** Export category-specific specs alongside full descriptions and photos. For electronics, that includes model, storage, colour and condition; for cars, model year, mileage, fuel and gearbox. Available specs depend on what the seller publishes.

**Put every listing in its local context.** Keep the seller’s public username, city and neighbourhood attached to the listing. Compare nearby offers, or use the seller filter to collect a particular seller’s listings.

**Use one actor across 21 categories.** Search cars, property, electronics, furniture and more. Filter by keyword, category or location, with duplicate listings removed from the export. Keyword searches can also be limited to recent posts.

<p dir="rtl" lang="ar"><strong>بالعربية:</strong> أسماء المستخدمين، مواصفات الإعلانات، المدن والأحياء في 21 قسمًا. ابحث بالكلمة أو القسم أو المدينة، أو اجمع إعلانات بائع محدد. تختلف الحقول المتاحة حسب الإعلان.</p>

<a href="https://console.apify.com/actors/eGJ3ybCj8IJR6tVK8/input" data-demo-cta="true"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/haraj-readme-cta-978e16ab88c9.svg" width="236" height="48" alt="Explore five listings" /></a>

#### Try five listings first

```json
{
  "search": "iphone",
  "maxResults": 5
}
```

[Open actor input](https://console.apify.com/actors/eGJ3ybCj8IJR6tVK8/input) to change the keyword or choose a category and city. Arabic keywords often return more relevant matches. Export JSON, CSV or Excel; JSON preserves nested specifications. For a seller’s listings, enter their username in `authorUsername`.

Check [current pricing](https://apify.com/zen-studio/haraj-scraper/pricing) before starting. Seller names are public usernames; this actor does not provide a dedicated phone-number field.

<table><tr><td colspan="5" style="background:#0474C0;padding:10px 12px"><strong style="color:#FFFFFF;font-size:14px">Zen Studio · Marketplaces Suite</strong></td></tr><tr><td style="padding:8px;background:#CDE9FB;border:1px solid #BADCF2;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-eGJ3ybCj8IJR6tVK8-O68GMLvRzS-haraj-scraper-logo.png" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/zen-studio/haraj-scraper" style="color:#103D5A;font-weight:700;font-size:13px;text-decoration:none">Haraj</a></span><br><span style="color:#31556C;font-size:12px;white-space:nowrap">You are here</span></td><td style="padding:8px;background:#E9F5FD;border:1px solid #BADCF2;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-kxgRUK3KsSS8o1Esy-Sk2tbEJwPj-opensooq-scraper-logo.png" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/zen-studio/opensooq-scraper" style="color:#103D5A;font-weight:700;font-size:13px;text-decoration:none">OpenSooq</a></span><br><span style="color:#31556C;font-size:12px;white-space:nowrap">MENA classifieds</span></td><td style="padding:8px;background:#E9F5FD;border:1px solid #BADCF2;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-U9dMfcC8wT6pWA0zt-Nle7dE1XqW-mahally-scraper-logo.png" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/zen-studio/mahally-scraper" style="color:#103D5A;font-weight:700;font-size:13px;text-decoration:none">Mahally</a></span><br><span style="color:#31556C;font-size:12px;white-space:nowrap">Saudi shops</span></td><td style="padding:8px;background:#E9F5FD;border:1px solid #BADCF2;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-q3cewekR2BuUzRHe5-k74x52QZ7x-milanuncios-scraper-logo.png" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/zen-studio/milanuncios-scraper" style="color:#103D5A;font-weight:700;font-size:13px;text-decoration:none">Milanuncios</a></span><br><span style="color:#31556C;font-size:12px;white-space:nowrap">Spain classifieds</span></td><td style="padding:8px;background:#E9F5FD;border:1px solid #BADCF2;vertical-align:top"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-4SsKYeXxLtIJLtzHp-86hGQdc67D-avito-listings-scraper-logo.png" width="20" height="20" style="display:inline;vertical-align:middle" alt="">&nbsp;<a href="https://apify.com/zen-studio/avito-listings-scraper" style="color:#103D5A;font-weight:700;font-size:13px;text-decoration:none">Avito</a></span><br><span style="color:#31556C;font-size:12px;white-space:nowrap">Listings & contacts</span></td></tr></table>

#### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```text
Help me use zen-studio/haraj-scraper on Apify. Read https://apify.com/zen-studio/haraj-scraper.md for documentation, input schema, pricing and limits. Choose settings for my requested outcome. If you cannot retrieve the page, ask me to paste the relevant sections. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### Integrations and scheduling

Connect results to n8n or other Apify integrations. Schedule daily runs to keep listings up to date.

### Pricing

**Listing charges: $1.49 per 1,000 exported listings.** Platform usage is included. No monthly subscription.

Search and browse modes use the same listing price. All categories, cities, and filters are included.

Set your maximum run budget in Apify Console to control spending. The Actor stops when the remaining budget cannot cover another listing.

### How to Extract Haraj.com.sa Listings

zen-studio/haraj-scraper on Apify. Call: ApifyClient("TOKEN").actor("zen-studio/haraj-scraper").call(run_input={...}), then client.dataset(run\["defaultDatasetId"]).list_items().items for results. Key inputs: search: string, tag: string (Arabic category name), maxResults: integer (1-100000). Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/zen-studio~haraj-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Pricing: $1.49 per 1,000 exported listings; platform usage included. Get token: https://console.apify.com/account/integrations

#### Basic — Search by Keyword

```json
{
    "search": "iphone",
    "maxResults": 100
}
```

#### Browse by Category and City

```json
{
    "tag": "حراج السيارات",
    "city": "الرياض",
    "maxResults": 200
}
```

#### Advanced — All Filters

```json
{
    "search": "toyota",
    "tag": "حراج السيارات",
    "city": "جده",
    "maxResults": 500,
    "duringDate": "1week",
    "onlyWithImage": true,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

### Input Parameters

| Parameter | Type | Description | Default |
|-----------|------|-------------|---------|
| `search` | String | Search keyword. Leave empty to browse by category/city. | — |
| `tag` | String | Category filter. Select from 21 categories (Arabic names with English labels in dropdown). | All categories |
| `city` | String | City or region filter. Select from 100+ locations. | All regions |
| `maxResults` | Integer | Maximum number of listings to extract (1–100,000). | 100 |
| `duringDate` | String | Time period filter: Last 24 hours, 3 days, week, or month. Only applies with keyword search. | Any time |
| `onlyWithImage` | Boolean | Only return listings that have images. | false |
| `authorUsername` | String | Filter by specific seller username. When set, keyword search is ignored and browse mode is used. | — |
| `proxyConfiguration` | Object | Proxy settings. Residential proxies recommended. | Apify Residential |

#### Categories (الأقسام)

Cars (حراج السيارات), Real Estate (حراج العقار), Devices (حراج الأجهزة), Animals (مواشي وحيوانات وطيور), Furniture (اثاث), Jobs (وظائف), Services (خدمات), Fashion (مستلزمات شخصية), Games (العاب وترفيه), Rarities (نوادر و تراثيات), Arts (مكتبة وفنون), Trips (صيد ورحلات), Food (اطعمة ومشروبات), Gardens (زراعة وحدائق), Events (حفلات ومناسبات), Tourism (سفر وسياحة), Lost & Found (مفقودات), Coaching (تعليم وتدريب), Coding (برمجة وتصاميم), Projects (مشاريع واستثمارات), Other (قسم غير مصنف).

#### Cities (المدن)

All Saudi regions covered: Riyadh / الرياض (19 cities), Eastern Region / الشرقيه (18 cities), Jeddah / جده, Makkah / مكه (14 cities), Madinah / المدينة (7 cities), Tabouk / تبوك (5 cities), Qassim / القصيم (10 cities), Hail / حائل (6 cities), Aseer / عسير (9 cities), Najran / نجران, Jouf / الجوف, Arar / عرعر, and more. Also includes Kuwait / الكويت, UAE / الإمارات, and Bahrain / البحرين.

### Output Example

```json
{
  "id": 174927811,
  "url": "https://haraj.com.sa/11174927811/هايلكس_2014/",
  "title": "هايلكس 2014",
  "body": "للبيع هايلكس 2014 غمارتين \n\nممشى 400 الف وقابل للزيادة \n\nمكينه وقير وبدي شرط \n\nللتواصل 0556210062",
  "authorUsername": "mushari232",
  "authorId": 14249695,
  "city": "الشرقيه",
  "geoCity": "المبرز",
  "geoNeighborhood": "محاسن ارامكو",
  "postDate": 1770402752,
  "updateDate": 1770402752,
  "tags": [
    "حراج السيارات",
    "تويوتا",
    "هايلوكس",
    "هايلوكس 2014"
  ],
  "tagsFilters": [],
  "hasImage": true,
  "hasVideo": false,
  "thumbnailUrl": "https://mimg6cdn.haraj.com.sa/userfiles30/960x1280_46BC54A7-078E-4B30-999B-8166DBC11E68.jpg",
  "imagesList": [
    "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-06/960x1280_46BC54A7-078E-4B30-999B-8166DBC11E68.jpg",
    "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-06/960x1280_C40393FE-0F53-4BEF-B06F-1E8C4DEAB694.jpg",
    "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-06/960x1280_503044E2-8925-4DBB-A9A2-E14BC23121F2.jpg",
    "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-06/960x1280_AC0DCC07-7231-4FB3-B4CF-D98ED7ECB919.jpg",
    "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-06/1200x1600_BE2E5F7A-D64D-4044-827E-7038B2485F64.jpg",
    "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-06/1200x1600_757B6D05-FE3E-47C8-961F-A2EB2E7532DC.jpg"
  ],
  "price": null,
  "formattedPrice": null,
  "commentCount": 0,
  "upRank": 0,
  "downRank": 0,
  "isPromoted": false,
  "postType": "AD",
  "scrapedAt": "2026-02-06T18:32:39.878520+00:00",
  "carInfo": {
    "model": 2014,
    "carOrRelated": "CAR"
  }
}
```

#### Output Example — Car Listing

```json
{
    "id": 174920445,
    "url": "https://haraj.com.sa/11174920445/camry_2020/",
    "title": "كامري 2020 فل كامل",
    "body": "Toyota Camry 2020 full option, 48,000 km, single owner, accident-free",
    "authorUsername": "cars_ksa",
    "authorId": 87654321,
    "city": "جده",
    "geoCity": "جدة",
    "geoNeighborhood": "الصفا",
    "postDate": 1770350000,
    "updateDate": 1770385000,
    "tags": ["حراج السيارات", "تويوتا"],
    "tagsFilters": ["تويوتا"],
    "hasImage": true,
    "hasVideo": false,
    "thumbnailUrl": "https://mimg6cdn.haraj.com.sa/userfiles30/camry_thumb.jpg",
    "imagesList": [
        "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-05/camry1.jpg",
        "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-05/camry2.jpg",
        "https://mimg6cdn.haraj.com.sa/userfiles30/2026-02-05/camry3.jpg"
    ],
    "price": "85000",
    "formattedPrice": "85,000",
    "commentCount": 12,
    "upRank": 8,
    "downRank": 1,
    "isPromoted": true,
    "postType": "AD",
    "carInfo": {
        "sellOrWaiver": "SELL",
        "model": 2020,
        "mileage": 48,
        "fuel": "GASOLINE",
        "gear": "AUTO",
        "condition": "USED",
        "carOrRelated": "CAR"
    },
    "scrapedAt": "2026-02-07T12:00:00+00:00"
}
```

### Extracting Haraj Data with Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("zen-studio/haraj-scraper").call(run_input={
    "search": "iphone",
    "city": "الرياض",
    "maxResults": 200,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['title']} - {item['price']} SAR - {item['city']}")
```

### Extracting Haraj Data with JavaScript

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

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('zen-studio/haraj-scraper').call({
    search: 'toyota',
    tag: 'حراج السيارات',
    maxResults: 500,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} car listings`);
```

### Advanced Usage

#### Extract All Listings from a Specific Seller

```json
{
    "authorUsername": "trusted_seller_99",
    "maxResults": 1000
}
```

#### Recent Real Estate Listings in Riyadh (عقار الرياض)

```json
{
    "search": "شقة",
    "tag": "حراج العقار",
    "city": "الرياض",
    "duringDate": "1week",
    "onlyWithImage": true,
    "maxResults": 300
}
```

#### All Car Listings in Jeddah (سيارات جده)

```json
{
    "tag": "حراج السيارات",
    "city": "جده",
    "maxResults": 5000
}
```

#### Electronics with Images Only (أجهزة بالصور)

```json
{
    "tag": "حراج الأجهزة",
    "onlyWithImage": true,
    "maxResults": 1000
}
```

### Proxy Configuration

Residential proxies are recommended for reliable access. The default configuration works out of the box:

```json
{
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
```

Custom proxies:

```json
{
    "proxyConfiguration": {
        "useApifyProxy": false,
        "proxyUrls": ["http://user:pass@proxy.example.com:8000"]
    }
}
```

### Data Export

Export your results in any format:

- **JSON** — programmatic analysis and integration
- **CSV** — spreadsheet analysis and reporting
- **Excel** — data visualization and pivot tables

Download directly from the Apify Console or access via the dataset API endpoint.

### FAQ

**Q: What data does the Haraj Scraper extract?**
A: 25+ fields per listing including title, description, price, seller info, location (city and neighborhood), images, engagement metrics, and category-specific metadata like car specs or real estate details.

**Q: How many listings can I extract?**
A: Up to 100,000 listings per run. Set the `maxResults` parameter to control how many results you get.

**Q: Do I need a Haraj account?**
A: No. The scraper extracts publicly available listing data without requiring any account or login.

**Q: How current is the data?**
A: Data is extracted in real-time. Use the `duringDate` filter to only get listings from the last 24 hours, 3 days, week, or month.

**Q: Can I search in English?**
A: Haraj is primarily an Arabic-language platform. English keywords work for some listings (e.g., "iphone", "toyota"), but Arabic keywords will return more results.

**Q: Which categories are available?**
A: 21 categories: Cars, Real Estate, Devices, Animals, Furniture, Jobs, Services, Fashion, Games, Rarities, Arts, Trips, Food, Gardens, Events, Tourism, Lost & Found, Coaching, Coding, Projects, and Other.

**Q: Does the time period filter work with category browsing?**
A: The `duringDate` filter only applies when searching with a keyword. When browsing by category/city without a keyword, it returns the most recent listings.

**Q: Can I extract listings from multiple cities at once?**
A: Currently you can filter by one city per run. To cover multiple cities, run the actor multiple times with different city parameters, or leave the city filter empty to get listings from all regions.

**Q: How is car metadata structured?**
A: Car listings include a `carInfo` object with fields like `model` (year), `mileage` (in thousands km), `fuel` (GASOLINE/DIESEL), `gear` (AUTO/MANUAL), `condition` (USED/NEW), and `sellOrWaiver` (SELL/WAIVER).

### Getting Started

#### 1. Set Your Budget

Set a run budget and pay for the listings you export.

#### 2. Configure

- Enter a **search keyword** or select a **category** to browse
- Optionally filter by **city** or **region**
- Set your desired **maximum results** (default: 100)
- Apply additional filters as needed

#### 3. Run

Start the extraction and monitor progress in the Apify Console. Results appear progressively as listings are processed.

#### 4. Export

Download results as JSON, CSV, or Excel. Integrate via the Apify API for automated workflows.

### Combine it with more data sources

Looking for more Arabic marketplace data? Check out the [Mahally Scraper](https://apify.com/zen-studio/mahally-scraper) for Saudi e-commerce products with seller WhatsApp contacts, or the [OpenSooq Scraper](https://apify.com/zen-studio/opensooq-scraper) for classifieds across 20 MENA countries including UAE, Jordan, Egypt, and Kuwait.

### Disclaimer

Data is collected from publicly available sources and provided "as is" for informational purposes. Users are responsible for compliance with Haraj's terms of service and applicable regulations.

***

[**Start Extracting Haraj Listings Now**](https://console.apify.com/actors/eGJ3ybCj8IJR6tVK8)

***

*Get structured data from Saudi Arabia's largest classifieds marketplace (حراج) — cars (سيارات), real estate (عقار), electronics (أجهزة), and more.*

# Actor input Schema

## `search` (type: `string`):

Search keyword (e.g. 'iphone', 'toyota'). Leave empty to browse by category/city.

## `tag` (type: `string`):

Filter by category

## `city` (type: `string`):

Filter by city or region

## `maxResults` (type: `integer`):

Maximum number of listings to scrape

## `duringDate` (type: `string`):

Filter by posting date. Only applies when searching with a keyword.

## `onlyWithImage` (type: `boolean`):

Only return listings that have images

## `authorUsername` (type: `string`):

Filter by specific seller username. When set, keyword search is ignored and browse mode is used instead.

## `proxyConfiguration` (type: `object`):

Proxy settings for reliable access

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "search": "iphone",
  "tag": "",
  "city": "",
  "maxResults": 100,
  "duringDate": "",
  "onlyWithImage": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "search": "iphone",
    "maxResults": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("zen-studio/haraj-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 = {
    "search": "iphone",
    "maxResults": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("zen-studio/haraj-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "search": "iphone",
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call zen-studio/haraj-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zen-studio/haraj-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/eGJ3ybCj8IJR6tVK8/builds/37ORYNflPHcUMsMzn/openapi.json
