# Fotocasa Scraper \[$0.8/1K💰] | Madrid→Málaga | Price per m² (`ahmed_jasarevic/fotocasa-scraper`) Actor

Scrape Fotocasa.es property listings across Spain — price, €/m², rooms, surface, full address, GPS, photos, agency & phone. Ideal for Spanish market research, price monitoring & real estate leads. Buy & rent.

- **URL**: https://apify.com/ahmed\_jasarevic/fotocasa-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 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.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Fotocasa Scraper — Spanish Property Listings Data for $0.8 / 1,000

Scrape property listings from **Fotocasa.es** — Spain's #2 property portal with ~1.5M active listings — for Spanish real estate market research, price-per-m² monitoring, rental yield analysis and real estate agency lead generation. One structured row per property: price, €/m², rooms, surface, full address, GPS, photos and agency phone.

> 💰 **From $0.8 per 1,000 properties** — a 100-listing crawl costs roughly **$0.03**. Nearly every competing Fotocasa scraper charges $0.9–$6 per 1,000 results. Free to try: **15 properties per run** on a free Apify account.

### Scrape Spanish Property Listings for Market Research

Paste any Fotocasa.es search URL (buy or rent) and the actor returns one structured row per listing — with automatic pagination, on-site filters honoured, and 30+ fields per property. Works for every Spanish city, province and region.

**Who uses it:**

- **Property investors & buy-to-let buyers** — rental yield analysis by district, price-per-m² benchmarking
- **Real estate analysts & PropTech** — market data feeds, valuation models, price trend tracking
- **Relocation / expat buyer agents** — client shortlists across Spanish cities
- **Marketers & brokers** — inmobiliaria and agency contact leads

### Build Spanish Real Estate Datasets Without an Official API

Fotocasa has **no public API**. This actor is the practical **Fotocasa API alternative**: it reads the same structured JSON that powers the website itself (server-rendered React state, no DOM parsing), so you get clean property data — price, €/m², address hierarchy, GPS, agency contacts — ready to export as **JSON, CSV, Excel or HTML**.

### Track Spanish Property Prices & Price per Square Meter

Monitor asking prices and **€/m² across districts, cities and provinces over time**. Fields include `price`, `rawPrice`, `pricePerSqm`, `rooms`, `surface`, neighborhood, district, city and province — everything needed for a Spanish housing market dashboard or price index. Schedule daily or weekly runs to catch price drops and new listings early.

### Generate Real Estate Agency Leads from Fotocasa

Every listing row includes the listing **agency name, agency ID, agency URL and phone number**. Build lead lists of active inmobiliarias in any Spanish city — filtered by which agencies currently list properties matching your criteria (price range, property type, district).

### Why use Fotocasa Scraper?

- **💰 From $0.8 per 1,000 properties** — a 100-item crawl costs ~$0.03. One of the lowest prices on Apify for Fotocasa data.
- **Pure HTTP, no browser** — parses Fotocasa's server-rendered property JSON directly: fast and cheap to run.
- **Buy and rent** — works on any `comprar` (buy) or `alquiler` (rent) search URL with all on-site filters honoured.
- **Rich output** — 30+ fields per property: coordinates, photos, agency, address hierarchy, listed date.
- **Automatic parallel pagination** — crawls every result page in parallel (concurrency up to 20) until your `maxItems` cap.
- **Apify proxy included** — routes traffic through Apify's residential proxy to bypass CloudFront/DataDome anti-bot protection.

### How to scrape Fotocasa listings

1. Go to [Fotocasa.es](https://www.fotocasa.es) and run a property search (e.g. flats for sale in Madrid).
2. Copy the search URL from your browser's address bar.
3. Open **Fotocasa Scraper** in Apify Console and paste the URL into **Start URLs**.
4. Set **Maximum Items** and click **Start**.
5. Wait for the run to finish, then download your dataset as JSON, CSV, Excel or HTML.

### Input: Configure a Fotocasa Property Search

| Field | Type | Required | Default | Notes |
|-------|------|----------|---------|-------|
| `startUrls` | array | no\* | — | Full Fotocasa.es search-result URLs; each is auto-paginated in parallel. Takes priority over all filter fields below. |
| `location` | string | no | `Madrid` | City or area in Spain (provincial capitals auto-resolve — `Barcelona` → `barcelona-capital`). Used only when `startUrls` is empty. |
| `operation` | string | no | `comprar` | `comprar` (buy) or `alquiler` (rent). Used only when `startUrls` is empty. |
| `propertyType` | string | no | `viviendas` | `viviendas`, `pisos`, `casas`, `atico`, `duplex`, `estudio`, `garajes`, `oficinas`, `locales`, `naves`, `terrenos`, `trasteros`, `edificios`… |
| `rooms` | integer | no | – | Exact bedroom count (1–6). Only ONE of Rooms / Feature / publishedLast48h per search. |
| `feature` | string | no | – | One Fotocasa feature: `terraza`, `ascensor`, `piscina`, `jardin`, `obra-nueva`, `amueblado`, `con-vistas-al-mar`, `lujo`, `chollo`… |
| `publishedLast48h` | boolean | no | `false` | Only listings published in the last 48 h (new-listing alerts). |
| `sortBy` | string | no | `relevance` | `relevance`, `newest`, `cheapest`, `most-expensive`, `largest`, `smallest`, `cheapest-per-m2`. |
| `minPrice` / `maxPrice` | integer | no | – | Price range filter (EUR). |
| `minSurface` / `maxSurface` | integer | no | – | Surface range filter (m²). |
| `maxItems` | integer | no | `10000` | Hard cap on total listings collected. |
| `maxPages` | integer | no | `200` | Max search-result pages to crawl (~30 listings each). |
| `maxConcurrency` | integer | no | `20` | Pages fetched in parallel. |
| `maxRequestRetries` | integer | no | `5` | Retries before giving up on a failed page. |
| `debug` | boolean | no | `false` | Saves raw HTML of the first page to the key-value store. |

\*Either `startUrls` (paste a search URL) **or** the convenience filter fields (`location` + `operation` + filters) — the actor builds the Fotocasa URL for you.

**Fotocasa URL patterns:**

- Buy: `https://www.fotocasa.es/es/comprar/viviendas/{location}/todas-las-zonas/l`
- Rent: `https://www.fotocasa.es/es/alquiler/viviendas/{location}/todas-las-zonas/l`

### Output: One Structured Row per Property

| Field | Description |
|-------|-------------|
| `id` / `url` | Fotocasa listing ID and direct link |
| `title` | Listing headline (derived from property type + location when Fotocasa provides none) |
| `description` | Property description text |
| `price` / `rawPrice` | Display price (text) and numeric EUR value |
| `pricePerSqm` | Price per m² (EUR) |
| `rooms` / `bathrooms` | Bedroom and bathroom counts |
| `surface` | Living area in m² |
| `floor` | Floor level |
| `propertyType` | e.g. Flat, House, Penthouse |
| `transactionType` | `buy` or `rent` |
| `address*` | Full address hierarchy: street → neighborhood → district → city → municipality → province → zip → country |
| `latitude` / `longitude` | GPS coordinates |
| `photos` / `photoCount` | Image URLs and count |
| `agency` / `agencyId` / `agencyUrl` / `phone` | Listing agency name, ID, profile URL and phone |
| `listedDate` | When the listing was published |
| `energyRating` | Energy certificate (A–G, when available) |
| `isNewConstruction` | New-build flag |
| `features` | Property feature keys |
| `scrapedAt` | ISO timestamp of the scrape |

#### Example Output

```json
{
    "portal": "fotocasa",
    "id": "190021901",
    "url": "https://www.fotocasa.es/es/comprar/vivienda/madrid-capital/.../190021901/d",
    "title": "Luminoso piso en pleno centro de Madrid",
    "price": "350.000 €",
    "rawPrice": 350000,
    "pricePerSqm": 11290,
    "rooms": 1,
    "bathrooms": 1,
    "surface": 31,
    "propertyType": "Flat",
    "transactionType": "buy",
    "addressNeighborhood": "Goya",
    "addressDistrict": "Barrio de Salamanca",
    "addressCity": "Madrid",
    "addressProvince": "Madrid",
    "addressZipCode": "28001",
    "latitude": 40.423670774665496,
    "longitude": -3.679176002780123,
    "photoCount": 18,
    "agency": "ENGEL & VÖLKERS MADRID",
    "phone": "+34912774500",
    "listedDate": "2026-06-19T13:13:47.600Z",
    "energyRating": null,
    "features": ["surface", "rooms", "bathrooms"]
}
```

### How It Works (technical)

The actor uses a **CheerioCrawler** (pure HTTP — no browser) with Apify's **residential proxy** (Spain country code):

1. Fetches each search-result page over HTTP through the Apify residential proxy. Direct datacenter IPs get a 403 "Request blocked" — the residential group is required.
2. **Primary data source — embedded JSON:** Fotocasa server-side renders its React state into a `<script type="application/json" id="__initial_props__">` tag. The actor parses this JSON and reads the property array at `initialSearch.result.realEstates` (31 listings per page) — complete camelCase objects (`rawPrice`, `address.zipCode`, `coordinates`, `multimedia[]`, `features[]`, `dateOriginal.timestamp`), no DOM scraping.
3. **Fallbacks** (in order): `initialSearch.result.resultsV2.items`, `__NEXT_DATA__`, `__NUXT__`, inline JSON patterns, then DOM parsing of property cards.
4. Auto-paginates by URL pattern inference (`/l` → `/l/2` → `/l/3` …) up to the item cap.
5. Pushes one normalized row per property to the Apify dataset.

### Integrations & Automation: Schedule Property Price Monitoring

This actor is fully API-callable (REST API, Apify SDK, Apify API client for Python/JS). Connect it to:

- **Apify schedules** — run daily or weekly to monitor Spanish property prices and catch new listings
- **Webhooks / Zapier / Make** — push new listings into Slack, Sheets, CRM or a database
- **apify-client** — build automated Spanish real estate data pipelines

For price monitoring, start with a **daily schedule** with `maxItems` capped to your budget — e.g. 1,000 listings/day ≈ **$0.8/day**. For weekly market snapshots, a Monday run is enough. Recurring usage also keeps your datasets continuously fresh for dashboards.

### Related Actors: European Real Estate Data

- [**Idealista Scraper**](https://apify.com/ahmed_jasarevic/idealista-property-scraper) — Spain's #1 portal (Spain, Italy & Portugal). Pair with Fotocasa to cover ~90% of available Spanish listings (the two overlap only ~60%).
- [**Rightmove Scraper**](https://apify.com/ahmed_jasarevic/rightmove-scraper) — UK property listings & sold prices.
- [**SeLoger Scraper**](https://apify.com/ahmed_jasarevic/seloger-scraper) — French property listings data.
- [**Immowelt Scraper**](https://apify.com/ahmed_jasarevic/immowelt-property-scraper) — German property listings with EPC.
- [**Immobiliare.it Scraper**](https://apify.com/ahmed_jasarevic/immobiliare-scraper) — Italian property data.

Build a cross-country European real estate dataset by running the Spain, Italy, France, Germany and UK scrapers on the same schedule.

### FAQ

#### Why use this actor instead of an official Fotocasa API?

Fotocasa does **not offer a public API**. The only ways to get structured property data from the portal are improving scrapers like this one. This actor reads Fotocasa's own server-rendered JSON — the same data that powers the website — so you get clean, normalized records without building or maintaining a scraper yourself.

#### What are the alternatives to this actor for Spanish property data?

- **Idealista** data — via [Idealista Scraper](https://apify.com/ahmed_jasarevic/idealista-property-scraper) (Spain, Italy, Portugal). Idealista is Spain's #1 portal (~50M monthly visits vs Fotocasa's ~14–16M). Best practice: run **both** — they share ~60% agency listings, so each carries ~40% exclusives.
- **Fotocasa vs Idealista — which has more unique listings?** Fotocasa is particularly strong on **private-landlord (particular) listings** and new-build (obra nueva) inventory; Idealista has the larger overall inventory and stronger filters. Around 40% of Fotocasa listings never appear on Idealista — mostly private landlords who publish on only one portal.
- Other portals: **Pisos.com**, **Habitaclia** (Adevinta sister portal, ~93% overlap with Fotocasa) — cover niche inventory.
- Commercial providers: PropAPIS/WebScrapingHub-style managed APIs (subscription).

#### What property types can I scrape?

Anything Fotocasa indexes: apartments/flats (pisos), houses (casas), penthouse (ático), duplex, studios (estudios), **new construction (obra nueva)**, garages, offices, commercial premises (locales), warehouses (naves), land (terrenos) — for both **buy (comprar)** and **rent (alquiler)**.

#### Can I find newly listed properties fast?

Yes — use `publishedLast48h: true` or paste a `sortBy=newest` search URL. Combined with a daily schedule, this acts as a **new-listing alert system** for competitive markets (Madrid, Barcelona, Costa del Sol), where good flats get inquiries within minutes of going live.

#### Do my on-site filters work?

Yes — any filter you set on Fotocasa.es (price range, rooms, neighborhood, province) is encoded in the URL and honoured by the scraper.

#### Do I need a proxy?

Apify's residential proxy is **included** and recommended. Datacenter IPs (including the default Apify proxy group) receive a 403 "Request blocked" from CloudFront/DataDome — the residential group routes around it.

#### What about individual listing detail pages?

This scraper focuses on **search-result pages** (30+ fields per listing). Individual detail-page extras (energy certificate, exact street, construction type) can be added as a follow-up enhancement — like every field already delivered above, nothing is invented.

### SEO Keywords

fotocasa scraper, fotocasa es scraper, spanish property scraper, spain real estate data, fotocasa api alternative, idealista alternative, madrid property listings, pisos en venta madrid, barcelona apartments for sale, spanish rental listings, alquiler viviendas, costa del sol property, malaga real estate data, price per square meter spain, spanish property price monitoring, rental yield analysis spain, buy to let spain, inmobiliaria leads, real estate agency leads spain, obra nueva listings, new construction spain, spanish housing market data, fotocasa vs idealista, property data spain city, spanish address gps property

### For AI Agents & LLM Apps

**Purpose:** Returns structured property listings from Fotocasa.es search results — one dataset row per listing with 30+ fields (price, €/m², rooms, surface, address hierarchy, GPS, photos, agency + phone).

**Minimal input:**

```json
{
  "startUrls": ["https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l"],
  "maxItems": 100
}
```

**Alternative inputs — search mode (no URL needed):**

```json
{ "location": "Barcelona", "operation": "alquiler", "propertyType": "viviendas", "maxItems": 100 }
```

```json
{ "location": "madrid-capital", "operation": "comprar", "rooms": 2, "minPrice": 200000, "maxPrice": 500000, "publishedLast48h": true, "maxItems": 50 }
```

**Output fields:** `id`, `url`, `title`, `description`, `price`, `rawPrice`, `pricePerSqm`, `rooms`, `bathrooms`, `surface`, `floor`, `propertyType`, `transactionType`, `addressStreet`, `addressNeighborhood`, `addressDistrict`, `addressCity`, `addressMunicipality`, `addressProvince`, `addressZipCode`, `addressCountry`, `latitude`, `longitude`, `photos`, `photoCount`, `agency`, `agencyId`, `agencyUrl`, `phone`, `listedDate`, `energyRating`, `isNewConstruction`, `features`, `scrapedAt`.

**Behaviors an agent should know:**

- `startUrls` **take priority** — when one or more search URLs are provided, the `location`/`operation`/`propertyType`/filter convenience fields are **ignored**. Set `startUrls` or the filter fields, not both.
- If `startUrls` is empty and `maxItems` is unset, the actor defaults to **10,000 items** — set `maxItems` to bound cost. Each result costs $0.0008 (≈$0.8/1,000).
- `maxConcurrency` default 20 pages in parallel; `maxPages` default 200 (~30 listings/page) — lower both for gentler runs.
- Only ONE of `rooms` / `feature` / `publishedLast48h` can be set at a time (Fotocasa constraint); setting two may produce no results.
- Filters (price range, surface, rooms) encode into the generated Fotocasa URL only in search mode (empty `startUrls`).
- Runs require Apify residential proxy (already configured); datacenter IPs get 403-blocked.
- The actor charges pay-per-result — budget `maxItems` before scheduling repeated runs.

**Billing:** pay-per-result — USD 0.0008 per property listing (~$0.8 per 1,000) + small run-start fee per GB memory.

### Legal & Compliance Disclaimer

This actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by Fotocasa (Adevinta)**.

It accesses **only publicly available Fotocasa.es search-result pages** — no login bypass, no CAPTCHA solving, no private data. It collects the same public property-listing information any visitor can see in their browser.

Users are responsible for their own compliance with Fotocasa's Terms of Service and applicable data-protection law (including **GDPR** for personal data such as agency contact details and phone numbers). Listing-agency contact data should not be used for unsolicited commercial outreach in violation of applicable law (e.g. CAN-SPAM, GDPR, Spain's LOPDGDD). This text is not legal advice.

# Actor input Schema

## `startUrls` (type: `array`):

Full Fotocasa.es search URLs. Each is paginated automatically. Start URLs take priority: when one is given, location/filter fields below are ignored.

## `location` (type: `string`):

City or area in Spain, e.g. Madrid, Malaga, Alicante. Used only when Start URLs is empty. Provincial capitals are resolved automatically (Madrid becomes madrid-capital).

## `operation` (type: `string`):

Used only when Start URLs is empty.

## `propertyType` (type: `string`):

Used only when Start URLs is empty.

## `rooms` (type: `integer`):

Exact bedroom count. Fotocasa allows only ONE of Rooms / Feature / Published in last 48h per search.

## `feature` (type: `string`):

One Fotocasa feature filter. Only ONE of Rooms / Feature / Published in last 48h can be used at a time.

## `publishedLast48h` (type: `boolean`):

Only ONE of Rooms / Feature / Published in last 48h can be used at a time.

## `sortBy` (type: `string`):

Used only when Start URLs is empty.

## `minPrice` (type: `integer`):

Used only when Start URLs is empty.

## `maxPrice` (type: `integer`):

Used only when Start URLs is empty.

## `minSurface` (type: `integer`):

Used only when Start URLs is empty.

## `maxSurface` (type: `integer`):

Used only when Start URLs is empty.

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

Hard cap on the number of properties collected. Each search page returns ~30 listings and paginates automatically.

## `maxPages` (type: `integer`):

Maximum number of search result pages to crawl. Each page has ~30 listings. Set to limit crawl depth.

## `maxConcurrency` (type: `integer`):

Maximum number of pages fetched in parallel. Higher = faster but more load on the target. 15-25 is the sweet spot.

## `maxRequestRetries` (type: `integer`):

Number of retries before a failed request is given up.

## `debug` (type: `boolean`):

Saves raw HTML of the first page to key-value store for inspection.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l"
    },
    {
      "url": "https://www.fotocasa.es/es/alquiler/viviendas/barcelona-capital/todas-las-zonas/l"
    }
  ],
  "location": "Madrid",
  "operation": "comprar",
  "propertyType": "viviendas",
  "publishedLast48h": false,
  "sortBy": "relevance",
  "maxItems": 10000,
  "maxPages": 200,
  "maxConcurrency": 20,
  "maxRequestRetries": 5,
  "debug": false
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l"
        },
        {
            "url": "https://www.fotocasa.es/es/alquiler/viviendas/barcelona-capital/todas-las-zonas/l"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/fotocasa-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 = { "startUrls": [
        { "url": "https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l" },
        { "url": "https://www.fotocasa.es/es/alquiler/viviendas/barcelona-capital/todas-las-zonas/l" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/fotocasa-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 '{
  "startUrls": [
    {
      "url": "https://www.fotocasa.es/es/comprar/viviendas/madrid-capital/todas-las-zonas/l"
    },
    {
      "url": "https://www.fotocasa.es/es/alquiler/viviendas/barcelona-capital/todas-las-zonas/l"
    }
  ]
}' |
apify call ahmed_jasarevic/fotocasa-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/fotocasa-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/GFTq5YTwHLd0UTQOh/builds/ZwwN8twFB2PhfCIIt/openapi.json
