# Kyero Scraper (`solidcode/kyero-scraper`) Actor

\[💰 $1.3 / 1K] Extract property listings from Kyero across Spain, Portugal, France & Italy — prices, locations, beds, baths, sizes, photos, features, and agent contacts. Search by country, location, price, and property type, or paste Kyero URLs directly.

- **URL**: https://apify.com/solidcode/kyero-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Real estate, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Kyero Scraper

Pull property listings from Kyero at scale — prices, exact map coordinates, photo galleries, virtual tours, floor and plot sizes, features, and direct agent phone numbers for homes across Spain, Portugal, France, and Italy, all priced in euros. Search by country, location, price, and property type, or paste any Kyero link directly. Built for overseas-property buyers, relocation agents, and Mediterranean real-estate analysts who need clean, structured listing data without copying it out of the site one page at a time.

### Why This Scraper?

- **Four countries, one portal, all in euros** — Spain, Portugal, France, and Italy inventory in a single run, every price already in EUR for clean cross-border comparison.
- **For sale and long-let rentals** — switch a single dropdown between resale/for-sale homes and long-term rental listings; no separate run or second actor.
- **Nine property types plus a new-build filter** — Apartment, Villa, Town House, Country House / Finca, Land / Plot, Cave House, Garage, Commercial Property, and Wooden / Mobile Home, with an off-plan / new-build-only toggle on top.
- **Exact map coordinates on every listing** — latitude and longitude captured per property, ready to plot on a map or geo-join to other datasets.
- **Direct agent phone numbers** — the listing agent's name and callable phone number are pulled for each property, not just a contact form.
- **Full media: photo galleries, virtual tours, and video** — every photo URL (often 20–40 per home) plus virtual-tour and video links wherever the agent published them.
- **Build and plot size in square metres** — built area, plot area, bedroom count, and bathroom count on every row, so you can rank by value per m² downstream.
- **Free-text location resolution** — type "Marbella", "Costa Blanca", or "Algarve" and the scraper maps it to the right Kyero area automatically; no location IDs or hand-built URLs.
- **Up to 1,000 listings per search** — hits Kyero's own per-search ceiling with smooth pagination; paste several search links to gather more.

### Use Cases

**Relocation & Overseas Buying**
- Shortlist Spanish, Portuguese, French, and Italian homes in one export for clients relocating abroad
- Compare like-for-like prices per m² across the Costa del Sol, the Algarve, and the Italian Lakes
- Filter to new-build or off-plan inventory for buyers who want turnkey property

**Real Estate Investment & Market Analysis**
- Track asking-price trends by region using build size, plot size, and coordinates
- Spot rental-yield opportunities by pulling long-let listings alongside for-sale comps
- Map inventory density town by town from latitude/longitude data

**Lead Generation for Agents & Portals**
- Build listing-agent contact lists with agency name and direct phone number
- Monitor competitor agencies' new listings in a target location
- Source properties to cross-list on your own portal, complete with photos and features

**Data Enrichment & Aggregation**
- Feed a property comparison site with photos, features, and geo-coordinates
- Enrich a CRM with reference numbers and canonical listing URLs
- Power a map-based search app with ready-to-plot coordinates

**Content & Research**
- Produce regional market reports on Mediterranean second homes
- Analyze which features (pool, sea view, garage) correlate with asking price
- Benchmark holiday-home pricing across four countries in one dataset

### Getting Started

#### Search by Location

The simplest way to start — a country and a town:

```json
{
    "country": "spain",
    "location": "Marbella",
    "maxResults": 50
}
````

#### Filtered Search

Narrow by property type, price band, and bedrooms:

```json
{
    "country": "portugal",
    "listingType": "for-sale",
    "location": "Algarve",
    "propertyTypes": ["villa", "apartment"],
    "priceMin": 200000,
    "priceMax": 750000,
    "bedroomsMin": 3,
    "maxResults": 200
}
```

#### New Builds Only

Return just off-plan and newly constructed homes:

```json
{
    "country": "spain",
    "location": "Costa Blanca",
    "propertyTypes": ["apartment"],
    "newBuildOnly": true,
    "maxResults": 300
}
```

#### Paste Kyero URLs

Drop in any Kyero search results page or individual property link — these override the search fields above:

```json
{
    "startUrls": [
        "https://www.kyero.com/en/spain-property-for-sale-0l55529",
        "https://www.kyero.com/en/property/12345678-villa-marbella"
    ],
    "maxResults": 500
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `country` | select | `spain` | Which Kyero country portal to search: Spain, Portugal, France, or Italy. Ignored when Start URLs are provided. |
| `listingType` | select | `for-sale` | Search properties For Sale or For Rent (long-term rentals). Ignored when Start URLs are provided. |
| `location` | string | `Marbella` | Optional town, region, or area within the country, e.g. "Marbella", "Costa Blanca", or "Algarve". Leave empty to search the whole country. |
| `startUrls` | string\[] | — | Paste one or more Kyero URLs — search results pages or individual property listings. When provided, these override the search fields above. |

#### Property Filters

Applied to searches built from the fields above; ignored when using Start URLs.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `propertyTypes` | string\[] | — | Only include these types: Apartment, Villa, Town House, Country House / Finca, Land / Plot, Cave House, Garage, Commercial Property, or Wooden / Mobile Home. Leave empty for all types. |
| `priceMin` | integer | — | Only include properties at or above this price, in euros. |
| `priceMax` | integer | — | Only include properties at or below this price, in euros. |
| `bedroomsMin` | integer | — | Only include properties with at least this many bedrooms (0–10). |
| `bathroomsMin` | integer | — | Only include properties with at least this many bathrooms (0–10). |
| `newBuildOnly` | boolean | `false` | Only include new-build (off-plan or newly constructed) properties. |

#### Options

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Maximum properties to collect (defaults to 100 when left empty). Set to `0` for all available. Kyero caps any single search at 1,000 results — narrow by location, price, or type, or add several Start URLs to gather more. |

### Output

Each property is one flat row. Here's a representative result:

```json
{
    "id": "12345678",
    "reference": "R4123456",
    "title": "Villa for sale in Marbella, Málaga",
    "propertyType": "villa",
    "listingType": "for-sale",
    "price": 1250000,
    "priceFormatted": "€1,250,000",
    "currency": "EUR",
    "location": "Marbella",
    "province": "Málaga",
    "country": "Spain",
    "latitude": 36.5099,
    "longitude": -4.8863,
    "bedrooms": 4,
    "bathrooms": 3,
    "buildSize": 320,
    "plotSize": 850,
    "newBuild": false,
    "description": "Stunning south-facing villa with panoramic sea views, a private pool, and landscaped gardens. Walking distance to the beach and Puerto Banús...",
    "features": ["pool", "air_conditioning", "sea_view", "garage", "garden"],
    "images": [
        "https://cdn.kyero.com/prod/property/12345678/photo-01.jpg",
        "https://cdn.kyero.com/prod/property/12345678/photo-02.jpg"
    ],
    "imageCount": 32,
    "virtualTourUrl": "https://my.matterport.com/show/?m=abc123",
    "videoUrl": "https://www.youtube.com/watch?v=abc123",
    "agentName": "Costa del Sol Properties",
    "agentPhone": "+34851813448",
    "agentUrl": "https://www.kyero.com/en/agent/costa-del-sol-properties",
    "url": "https://www.kyero.com/en/property/12345678-villa-marbella"
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Kyero's internal listing identifier |
| `reference` | string | Agent's own reference number for the property |
| `title` | string | Listing title / headline |
| `propertyType` | string | Property type key (villa, apartment, town-house, etc.) |
| `listingType` | string | `for-sale` or `for-rent` |
| `newBuild` | boolean | Whether the property is a new build / off-plan |
| `url` | string | Canonical Kyero listing URL |

#### Price & Size

| Field | Type | Description |
|-------|------|-------------|
| `price` | number | Numeric price |
| `priceFormatted` | string | Human-formatted price (e.g. "€1,250,000") |
| `currency` | string | Currency code — always EUR |
| `bedrooms` | number | Bedroom count |
| `bathrooms` | number | Bathroom count |
| `buildSize` | number | Built area in m² (0 for properties like land or garages) |
| `plotSize` | number | Plot area in m² (0 when the property has no plot) |

#### Location

| Field | Type | Description |
|-------|------|-------------|
| `location` | string | Town or area name |
| `province` | string | Province or region |
| `country` | string | Country — Spain, Portugal, France, or Italy |
| `latitude` | number | Latitude, when published |
| `longitude` | number | Longitude, when published |

#### Description & Media

| Field | Type | Description |
|-------|------|-------------|
| `description` | string | Full listing description as plain text |
| `features` | string\[] | Feature keys (pool, air\_conditioning, sea\_view, etc.) |
| `images` | string\[] | Photo gallery URLs |
| `imageCount` | number | Number of photos |
| `virtualTourUrl` | string | Virtual-tour link, when available |
| `videoUrl` | string | Video link, when available |

#### Agent Contacts

| Field | Type | Description |
|-------|------|-------------|
| `agentName` | string | Listing agent or agency name |
| `agentPhone` | string | Agent's direct phone number, when published |
| `agentUrl` | string | Agent profile URL on Kyero |

Fields that a particular listing doesn't publish (a missing coordinate, phone, or virtual tour) are returned as `null` rather than dropped, so every row has the same shape.

### Tips for Best Results

- **Start small** — set `maxResults` to 25–50 on your first run to confirm the data matches your needs, then scale up.
- **Type a region, not a postcode** — a free-text `location` like "Costa Blanca" or "Algarve" resolves to Kyero's own area and returns far more inventory than a single village name.
- **Beat the 1,000-per-search cap with price bands** — Kyero limits any one search to 1,000 results, so slice a big market into non-overlapping bands (`priceMax: 250000`, then `priceMin: 250000`) and run each as its own Start URL to sweep the whole area.
- **Paste multiple search URLs in one run** — every link under Start URLs is collected up to 1,000 results, so several links multiply your ceiling in a single invocation.
- **Stack filters to sharpen results** — combine `propertyTypes`, `bedroomsMin`, and a price range to skip irrelevant listings before they're collected, saving both time and cost.
- **Use `newBuildOnly` for off-plan pipelines** — flip it on to return only new-build and off-plan homes, ideal for investor and developer research.
- **Coordinates are ready to map** — every listing carries latitude and longitude, so you can plot results straight onto a map without geocoding addresses first.

### Pricing

**From $1.30 per 1,000 results** — flat pay-per-result pricing that undercuts comparable Kyero extractors. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each Apify discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.16 | $0.15 | $0.14 | $0.13 |
| 1,000 | $1.55 | $1.45 | $1.40 | $1.30 |
| 10,000 | $15.50 | $14.50 | $14.00 | $13.00 |
| 100,000 | $155.00 | $145.00 | $140.00 | $130.00 |

A "result" is any property row in the output dataset. Platform fees (compute, storage) are additional and depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate property research, market analysis, and lead generation. Users are responsible for complying with applicable laws and Kyero's Terms of Service. Do not use extracted data for spam, harassment, or any illegal purpose, and handle agent contact details in line with applicable data-protection rules.

# Actor input Schema

## `country` (type: `string`):

Which Kyero country portal to search. Ignored when Start URLs are provided.

## `listingType` (type: `string`):

Search properties for sale or long-term rentals. Ignored when Start URLs are provided.

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

Optional town, region, or area within the selected country, e.g. "Marbella", "Costa Blanca", or "Algarve". Leave empty to search the whole country.

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

Paste one or more Kyero URLs directly — search results pages or individual property listings. When provided, these override the search fields above.

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

Only include these property types. Leave empty to include all types.

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

Only include properties at or above this price, in euros. Leave empty for no minimum.

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

Only include properties at or below this price, in euros. Leave empty for no maximum.

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

Only include properties with at least this many bedrooms. Leave empty for any.

## `bathroomsMin` (type: `integer`):

Only include properties with at least this many bathrooms. Leave empty for any.

## `newBuildOnly` (type: `boolean`):

Only include new-build (off-plan or newly constructed) properties. Leave off to include both new and resale homes.

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

Maximum number of properties to collect (defaults to 100 when left empty). Set to 0 to collect all available. Note: Kyero limits any single search to 1,000 results — to gather more, narrow by location, price, or type, or add several links under Start URLs (each is collected up to 1,000).

## Actor input object example

```json
{
  "country": "spain",
  "listingType": "for-sale",
  "location": "Marbella",
  "newBuildOnly": false,
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of properties with key fields like price, location, bedrooms, and type.

## `details` (type: `string`):

Full per-property detail rows including description, features, images, and agent info.

# 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 = {
    "country": "spain",
    "listingType": "for-sale",
    "location": "Marbella",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/kyero-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 = {
    "country": "spain",
    "listingType": "for-sale",
    "location": "Marbella",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/kyero-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 '{
  "country": "spain",
  "listingType": "for-sale",
  "location": "Marbella",
  "maxResults": 100
}' |
apify call solidcode/kyero-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kyero Scraper",
        "description": "[💰 $1.3 / 1K] Extract property listings from Kyero across Spain, Portugal, France & Italy — prices, locations, beds, baths, sizes, photos, features, and agent contacts. Search by country, location, price, and property type, or paste Kyero URLs directly.",
        "version": "1.0",
        "x-build-id": "yPClgk6sgeqLRPovs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~kyero-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-kyero-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/solidcode~kyero-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-kyero-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/solidcode~kyero-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-kyero-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "country": {
                        "title": "Country",
                        "enum": [
                            "spain",
                            "portugal",
                            "france",
                            "italy"
                        ],
                        "type": "string",
                        "description": "Which Kyero country portal to search. Ignored when Start URLs are provided."
                    },
                    "listingType": {
                        "title": "For Sale or For Rent",
                        "enum": [
                            "for-sale",
                            "for-rent"
                        ],
                        "type": "string",
                        "description": "Search properties for sale or long-term rentals. Ignored when Start URLs are provided."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Optional town, region, or area within the selected country, e.g. \"Marbella\", \"Costa Blanca\", or \"Algarve\". Leave empty to search the whole country."
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Paste one or more Kyero URLs directly — search results pages or individual property listings. When provided, these override the search fields above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "propertyTypes": {
                        "title": "Property Types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include these property types. Leave empty to include all types.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "apartment",
                                "villa",
                                "townhouse",
                                "country-house",
                                "land",
                                "cave-house",
                                "garage",
                                "commercial",
                                "mobile-home"
                            ],
                            "enumTitles": [
                                "Apartment",
                                "Villa",
                                "Town House",
                                "Country House / Finca",
                                "Land / Plot",
                                "Cave House",
                                "Garage",
                                "Commercial Property",
                                "Wooden / Mobile Home"
                            ]
                        }
                    },
                    "priceMin": {
                        "title": "Minimum Price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only include properties at or above this price, in euros. Leave empty for no minimum."
                    },
                    "priceMax": {
                        "title": "Maximum Price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only include properties at or below this price, in euros. Leave empty for no maximum."
                    },
                    "bedroomsMin": {
                        "title": "Minimum Bedrooms",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Only include properties with at least this many bedrooms. Leave empty for any."
                    },
                    "bathroomsMin": {
                        "title": "Minimum Bathrooms",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Only include properties with at least this many bathrooms. Leave empty for any."
                    },
                    "newBuildOnly": {
                        "title": "New Builds Only",
                        "type": "boolean",
                        "description": "Only include new-build (off-plan or newly constructed) properties. Leave off to include both new and resale homes.",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of properties to collect (defaults to 100 when left empty). Set to 0 to collect all available. Note: Kyero limits any single search to 1,000 results — to gather more, narrow by location, price, or type, or add several links under Start URLs (each is collected up to 1,000)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
