# Immoweb.be $1💰 Powerful Filters + Deep Search (`abotapi/immoweb-scraper`) Actor

From $1/1K. Extract property listings from immoweb.be. Get price, location, coordinates, images, and 27 structured fields per listing. Enable detail page fetching for 70+ additional fields, including description, EPC score, building details, energy features, and agent contact.

- **URL**: https://apify.com/abotapi/immoweb-scraper.md
- **Developed by:** [AbotAPI](https://apify.com/abotapi) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 4 total users, 2 monthly users, 37.5% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

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

## Immoweb.be Scraper

Extract property listings from **immoweb.be** - Belgium's largest real estate platform. Get price, location, coordinates, images, and 27 structured fields per listing. Enable detail page fetching for 70+ additional fields including description, EPC score, building details, energy features, and agent contact.

### Key Features

- **Two modes**: Search by filters (location, price, type) or paste Immoweb URLs directly
- **Automatic pagination**: Forward-walks search pages until limit reached
- **All property types**: House, Apartment, Land, Parking, Office, Industry, Garage, New Projects
- **Buy and Rent**: Supports both for-sale and for-rent listings
- **Advanced filters**: Price range, bedrooms, living area, land area, building condition, EPC grade, garden, terrace, pool, new builds
- **Full location data**: Street address, postal code, locality, district, province, region, coordinates (lat/lng)
- **Images included**: All listing photos with direct URLs
- **Optional detail enrichment**: Toggle on for 70+ extra fields per listing (description, EPC, building info, energy, agent contact, amenities)
- **Deduplication**: No duplicate listings across pages or URLs
- **Low cost**: Search-only mode uses minimal bandwidth; detail pages are opt-in

### Output Data

#### Search Mode (27 fields, default)

| Category | Fields |
|----------|--------|
| **Core** | id, url, title, transactionType, propertyType, propertySubtype |
| **Price** | price, displayPrice, price_per_sqm, salePrice |
| **Size** | bedrooms, rooms, livingArea, landArea |
| **Location** | street, number, postalCode, locality, district, province, region, regionCode, country |
| **Coordinates** | latitude, longitude |
| **Media** | images (array of URLs), imageCount |
| **Other** | lastModified, listingFlag, customerName |

#### Detail Mode (70+ additional fields)

When **Fetch Detail Pages** is enabled, each listing is enriched with:

| Category | Fields |
|----------|--------|
| **Description** | description (EN), descriptionFr, descriptionNl |
| **Building** | constructionYear, buildingCondition, facadeCount, floorCount |
| **Energy** | epcScore, heatingType, hasHeatPump, hasPhotovoltaicPanels, hasDoubleGlazing |
| **Interior** | bathrooms, toiletCount, kitchenType, showerRoomCount |
| **Exterior** | gardenSurface, terraceSurface, hasGarden, hasTerrace, hasSwimmingPool |
| **Amenities** | hasLift, hasAirConditioning, hasJacuzzi, hasSauna, hasWorkspace, hasDisabledAccess, ... |
| **Transaction** | cadastralIncome, availabilityPeriod, isSubjectToVat, renovationObligation |
| **Agent** | agencyName, agencyId, agencyPhone, agencyEmail, customerType |
| **Flags** | isNewlyBuilt, isPublicSale, isNewClassified, isNewPrice, isSoldOrRented |
| **Stats** | viewCount, bookmarkCount |
| **Dates** | creationDate, expirationDate |
| **Rental** | monthlyRentalPrice, monthlyRentalCosts, isFurnished, arePetsAllowed (rental listings only) |
| **Land** | floodZoneType, latestUseDesignation, plotDivisionAuthorization (land listings only) |

Fields vary by property type - houses include garden/terrace data, apartments include floor/lift info, land includes zoning permits, rentals include monthly costs and pet policies.

### How to Use

#### Search by Filters

Set **mode** to "Search by Filters" and configure:

- **Transaction Type**: For Sale or For Rent
- **Property Types**: House, Apartment, Land, Parking, Office, etc.
- **Postal Codes**: Belgian postal codes (e.g. 1000 for Brussels, 2000 for Antwerp)
- **Price Range**: Minimum and maximum price in EUR
- **Bedrooms**: Minimum and maximum bedrooms
- **Living/Land Area**: Minimum and maximum in m2
- **Building Condition**: As new, Good, To renovate, etc.
- **EPC Grade**: Maximum energy rating (A++ to G)
- **Amenities**: Garden, Terrace, Swimming Pool, New Builds Only

#### Direct URLs

Set **mode** to "Direct URLs" and paste search result page URLs from immoweb.be. The scraper will automatically paginate forward from the starting page.

Example URL:
````

https://www.immoweb.be/en/search/house/for-sale?countries=BE\&postalCodes=1000\&page=1\&orderBy=newest

````

#### Proxy Configuration

The scraper checks the paid proxy group first, then residential proxy access. Residential proxy access is required for detail page scraping. If residential access is unavailable, detail page scraping is disabled and only search-result data is collected.

### Example Output

```json
{
  "id": 12345678,
  "url": "https://www.immoweb.be/en/classified/12345678",
  "title": "Charming villa with garden",
  "transactionType": "FOR_SALE",
  "propertyType": "HOUSE",
  "propertySubtype": "VILLA",
  "price": 425000,
  "displayPrice": "€425,000",
  "price_per_sqm": 2125,
  "bedrooms": 4,
  "livingArea": 200,
  "landArea": 850,
  "street": "Rue de la Gare",
  "number": "15",
  "postalCode": "1000",
  "locality": "Bruxelles",
  "district": "Brussels",
  "province": "Brussels",
  "region": "Brussels",
  "regionCode": "BRUSSELS",
  "country": "Belgium",
  "latitude": 50.8503,
  "longitude": 4.3517,
  "images": [
    "https://media-resize.immowebstatic.be/classifieds/.../736x736/image1.jpg",
    "https://media-resize.immowebstatic.be/classifieds/.../736x736/image2.jpg"
  ],
  "imageCount": 12,
  "lastModified": "2026-04-15T10:30:00.000Z",
  "customerName": "Example Agency"
}
````

With **Fetch Detail Pages** enabled, each listing includes 70+ additional fields like `description`, `epcScore`, `building_facadeCount`, `hasGarden`, `gardenSurface`, `agencyPhone`, `stat_viewCount`, etc.

### Limits

- **Maximum Listings**: Controls how many listings to scrape per run (default: 20)
- **Maximum Pages per URL**: Limits search result pages per URL/search (default: 20, ~30 listings per page)
- **Detail Concurrency**: Number of parallel detail-page fetches (default: 3, max: 8)

# Actor input Schema

## `mode` (type: `string`):

How to find properties to scrape

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

Immoweb search result page URLs (url mode only). The ?page=N query param sets the starting page; pagination then walks forward up to Maximum Pages per URL. Example: https://www.immoweb.be/en/search/house/for-sale?countries=BE\&page=1\&orderBy=newest

## `transactionType` (type: `string`):

Listings to search for

## `propertyTypes` (type: `array`):

Filter by property type (leave empty for all types)

## `fetchDetails` (type: `boolean`):

Fetch each listing's detail page for 70+ extra attributes: description, EPC score, building details, energy features, agent contact, amenities, view count, etc.

## `postalCodes` (type: `array`):

Belgian postal codes to search in (e.g. 1000 for Brussels, 2000 for Antwerp). Leave empty to search all of Belgium.

## `countries` (type: `array`):

Countries to include (Immoweb also lists properties in neighboring regions).

## `orderBy` (type: `string`):

Sort order for search results (search mode only).

## `priceMin` (type: `integer`):

Minimum property price in EUR.

## `priceMax` (type: `integer`):

Maximum property price in EUR.

## `bedroomsMin` (type: `integer`):

Minimum number of bedrooms.

## `bedroomsMax` (type: `integer`):

Maximum number of bedrooms.

## `livingAreaMin` (type: `integer`):

Minimum living area in square meters.

## `livingAreaMax` (type: `integer`):

Maximum living area in square meters.

## `landAreaMin` (type: `integer`):

Only relevant for houses and land listings.

## `landAreaMax` (type: `integer`):

Maximum land area in square meters.

## `constructionYearMin` (type: `integer`):

Filter out buildings older than this year.

## `buildingConditions` (type: `array`):

Filter by building condition (leave empty for any).

## `epcGradeMax` (type: `string`):

Only include listings with an energy rating at or better than this grade (A++ is best).

## `hasGarden` (type: `boolean`):

Only include listings with a garden.

## `hasTerrace` (type: `boolean`):

Only include listings with a terrace.

## `hasSwimmingPool` (type: `boolean`):

Only include listings with a swimming pool.

## `newBuildsOnly` (type: `boolean`):

Only include new-build projects.

## `maxItems` (type: `integer`):

Stop after scraping this many listings (0 = unlimited).

## `maxPagesPerUrl` (type: `integer`):

Maximum search result pages to walk forward from the starting page. Each page has ~30 listings.

## `detailConcurrency` (type: `integer`):

Number of parallel detail-page fetches. Higher is faster but may trigger rate limiting; 2-4 recommended.

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

Requires Apify residential proxy access ($8/GB). Add residential proxy credit to your account to use this actor.

## Actor input object example

```json
{
  "mode": "search",
  "urls": [
    "https://www.immoweb.be/en/search/house/for-sale?countries=BE&page=1&orderBy=newest"
  ],
  "transactionType": "for-sale",
  "fetchDetails": false,
  "countries": [
    "BE"
  ],
  "orderBy": "newest",
  "hasGarden": false,
  "hasTerrace": false,
  "hasSwimmingPool": false,
  "newBuildsOnly": false,
  "maxItems": 20,
  "maxPagesPerUrl": 20,
  "detailConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "mode": "search",
    "urls": [
        "https://www.immoweb.be/en/search/house/for-sale?countries=BE&page=1&orderBy=newest"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("abotapi/immoweb-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 = {
    "mode": "search",
    "urls": ["https://www.immoweb.be/en/search/house/for-sale?countries=BE&page=1&orderBy=newest"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("abotapi/immoweb-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 '{
  "mode": "search",
  "urls": [
    "https://www.immoweb.be/en/search/house/for-sale?countries=BE&page=1&orderBy=newest"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}' |
apify call abotapi/immoweb-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Immoweb.be $1💰 Powerful Filters + Deep Search",
        "description": "From $1/1K. Extract property listings from immoweb.be. Get price, location, coordinates, images, and 27 structured fields per listing. Enable detail page fetching for 70+ additional fields, including description, EPC score, building details, energy features, and agent contact.",
        "version": "0.1",
        "x-build-id": "OtUeV4graWJBxOnvs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/abotapi~immoweb-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-abotapi-immoweb-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/abotapi~immoweb-scraper/runs": {
            "post": {
                "operationId": "runs-sync-abotapi-immoweb-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/abotapi~immoweb-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-abotapi-immoweb-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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Search Mode",
                        "enum": [
                            "search",
                            "url"
                        ],
                        "type": "string",
                        "description": "How to find properties to scrape",
                        "default": "search"
                    },
                    "urls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Immoweb search result page URLs (url mode only). The ?page=N query param sets the starting page; pagination then walks forward up to Maximum Pages per URL. Example: https://www.immoweb.be/en/search/house/for-sale?countries=BE&page=1&orderBy=newest",
                        "items": {
                            "type": "string"
                        }
                    },
                    "transactionType": {
                        "title": "Transaction Type",
                        "enum": [
                            "for-sale",
                            "for-rent"
                        ],
                        "type": "string",
                        "description": "Listings to search for",
                        "default": "for-sale"
                    },
                    "propertyTypes": {
                        "title": "Property Types",
                        "type": "array",
                        "description": "Filter by property type (leave empty for all types)",
                        "items": {
                            "type": "string",
                            "enum": [
                                "house",
                                "apartment",
                                "house-and-apartment",
                                "new-real-estate-project-houses",
                                "new-real-estate-project-apartments",
                                "land",
                                "parking",
                                "office",
                                "industry",
                                "business",
                                "apartment-block",
                                "garage"
                            ],
                            "enumTitles": [
                                "House",
                                "Apartment",
                                "House or Apartment",
                                "New Project — Houses",
                                "New Project — Apartments",
                                "Land",
                                "Parking",
                                "Office",
                                "Industry",
                                "Business",
                                "Apartment Block",
                                "Garage"
                            ]
                        }
                    },
                    "fetchDetails": {
                        "title": "Fetch Detail Pages",
                        "type": "boolean",
                        "description": "Fetch each listing's detail page for 70+ extra attributes: description, EPC score, building details, energy features, agent contact, amenities, view count, etc.",
                        "default": false
                    },
                    "postalCodes": {
                        "title": "Postal Codes",
                        "type": "array",
                        "description": "Belgian postal codes to search in (e.g. 1000 for Brussels, 2000 for Antwerp). Leave empty to search all of Belgium.",
                        "items": {
                            "type": "string",
                            "pattern": "^[0-9]{4}$"
                        }
                    },
                    "countries": {
                        "title": "Countries",
                        "type": "array",
                        "description": "Countries to include (Immoweb also lists properties in neighboring regions).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "BE",
                                "FR",
                                "LU",
                                "NL",
                                "DE"
                            ],
                            "enumTitles": [
                                "Belgium",
                                "France",
                                "Luxembourg",
                                "Netherlands",
                                "Germany"
                            ]
                        },
                        "default": [
                            "BE"
                        ]
                    },
                    "orderBy": {
                        "title": "Sort Order",
                        "enum": [
                            "relevance",
                            "newest",
                            "cheapest",
                            "most-expensive",
                            "postal-code"
                        ],
                        "type": "string",
                        "description": "Sort order for search results (search mode only).",
                        "default": "newest"
                    },
                    "priceMin": {
                        "title": "Minimum Price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum property price in EUR."
                    },
                    "priceMax": {
                        "title": "Maximum Price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum property price in EUR."
                    },
                    "bedroomsMin": {
                        "title": "Minimum Bedrooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Minimum number of bedrooms."
                    },
                    "bedroomsMax": {
                        "title": "Maximum Bedrooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of bedrooms."
                    },
                    "livingAreaMin": {
                        "title": "Minimum Living Area (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum living area in square meters."
                    },
                    "livingAreaMax": {
                        "title": "Maximum Living Area (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum living area in square meters."
                    },
                    "landAreaMin": {
                        "title": "Minimum Land Area (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only relevant for houses and land listings."
                    },
                    "landAreaMax": {
                        "title": "Maximum Land Area (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum land area in square meters."
                    },
                    "constructionYearMin": {
                        "title": "Minimum Construction Year",
                        "minimum": 1800,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Filter out buildings older than this year."
                    },
                    "buildingConditions": {
                        "title": "Building Condition",
                        "type": "array",
                        "description": "Filter by building condition (leave empty for any).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "as-new",
                                "just-renovated",
                                "good",
                                "to-be-done-up",
                                "to-renovate",
                                "to-restore"
                            ],
                            "enumTitles": [
                                "As new",
                                "Just renovated",
                                "Good",
                                "To be done up",
                                "To renovate",
                                "To restore"
                            ]
                        }
                    },
                    "epcGradeMax": {
                        "title": "Maximum EPC Grade",
                        "enum": [
                            "A++",
                            "A+",
                            "A",
                            "B",
                            "C",
                            "D",
                            "E",
                            "F",
                            "G"
                        ],
                        "type": "string",
                        "description": "Only include listings with an energy rating at or better than this grade (A++ is best)."
                    },
                    "hasGarden": {
                        "title": "Has Garden",
                        "type": "boolean",
                        "description": "Only include listings with a garden.",
                        "default": false
                    },
                    "hasTerrace": {
                        "title": "Has Terrace",
                        "type": "boolean",
                        "description": "Only include listings with a terrace.",
                        "default": false
                    },
                    "hasSwimmingPool": {
                        "title": "Has Swimming Pool",
                        "type": "boolean",
                        "description": "Only include listings with a swimming pool.",
                        "default": false
                    },
                    "newBuildsOnly": {
                        "title": "New Builds Only",
                        "type": "boolean",
                        "description": "Only include new-build projects.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Maximum Listings",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Stop after scraping this many listings (0 = unlimited).",
                        "default": 20
                    },
                    "maxPagesPerUrl": {
                        "title": "Maximum Pages per URL",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum search result pages to walk forward from the starting page. Each page has ~30 listings.",
                        "default": 20
                    },
                    "detailConcurrency": {
                        "title": "Detail Page Concurrency",
                        "minimum": 1,
                        "maximum": 8,
                        "type": "integer",
                        "description": "Number of parallel detail-page fetches. Higher is faster but may trigger rate limiting; 2-4 recommended.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Requires Apify residential proxy access ($8/GB). Add residential proxy credit to your account to use this actor.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": []
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
