# Kyero.com Scraper 1$/1k - Property Listings & Estate Agents (`trev0n/kyero-scraper`) Actor

Scrape kyero.com property listings across Spain, Portugal, France & Italy. Get prices, beds & baths, areas, descriptions, photos, features, map coordinates and estate-agent contacts. Paste any search, property or agent URL.

- **URL**: https://apify.com/trev0n/kyero-scraper.md
- **Developed by:** [Paweł](https://apify.com/trev0n) (community)
- **Categories:** Real estate, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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.

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

## 🏠 Kyero.com Scraper

🎯 **Turn Europe's biggest overseas-property portal into a clean, structured dataset — in minutes.**

This scraper collects property listings from **Kyero.com** across Spain, Portugal, France and Italy: villas, apartments, country houses, townhouses, plots and new builds — for sale or long-let. For every property you get the price, bedrooms and bathrooms, built and plot size, full description, photo gallery, features, map coordinates, reference number and the estate agent's contact details. You can also pull complete **estate-agent profiles**.

### 🚀 What Does It Do?

This scraper automatically browses Kyero search results and collects **structured, ready-to-use data** — no manual copy-pasting, no missed listings. Just paste a URL, set how many results you want, and hit Start.

It accepts any Kyero URL and figures out the right thing to do:

1. **🔍 Search & Listing Pages** — paste a country, region, town or fully-filtered search URL and it walks every results page, collecting each property.
2. **🏡 Single Property Pages** — paste one or more property URLs to get the complete detail record for each.
3. **🏢 Estate-Agent Profiles** — paste an agent profile URL to capture their contact details, languages and listing counts.

### 👥 Who Is This For?

| 🏢 Use Case                              | 💬 How It Helps                                                         |
| ---------------------------------------- | ----------------------------------------------------------------------- |
| 📊 **Real-estate investors**             | Track new listings, prices and price drops across whole regions at once |
| 🔎 **Property portals & aggregators**    | Feed fresh, structured inventory into your own site or app              |
| 📣 **Estate agents & lead-gen agencies** | Build prospect lists of agents with phone, WhatsApp and languages       |
| 🧮 **Market analysts & researchers**     | Analyse €/m², inventory volume and location trends with clean data      |
| 🤝 **Relocation & buyer's agents**       | Shortlist matching homes for clients without endless manual searching   |

### ✨ Features

- 🌍 **Four countries in one** — Spain, Portugal, France and Italy listings from a single tool
- 🏡 **Rich property data** — price, beds, baths, built & plot size, type, features and full descriptions
- 📸 **Full photo galleries** — every listing image URL, ready to download or display
- 📍 **Map coordinates** — exact latitude & longitude for every property (with full details enabled)
- 📞 **Agent contacts** — name, phone, WhatsApp and spoken languages
- 🔗 **Any URL works** — searches, single properties and agent profiles are auto-detected
- 🎛️ **Smart Filters** — keep the filters from your Kyero URL (price, beds, type, location…) and they're respected automatically
- 💸 **Cost-optimised** — pulls the lightest possible data per property, so large runs stay cheap
- ⚡ **Fast & Scalable** — collect hundreds or thousands of listings per run
- 🧹 **Deduplication** — the same property is never exported twice, even across pages
- 📤 **Export Anywhere** — Download results as JSON, CSV, Excel, or push to Google Sheets, Zapier, Make, or your CRM

### 🎛️ Filters & Options

| Option                             | What It Does                                                                                                                    |
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| 🔗 **Start URLs**                  | Any Kyero search, property or agent profile URL — filters in the URL are kept                                                   |
| 🏡 **Fetch Full Property Details** | Open each listing for the complete record (full description, map coordinates, every photo, grouped features and agent contacts) |
| 🔢 **Max Results**                 | Control how many records to extract per run                                                                                     |
| ⚙️ **Concurrency**                 | Tune how many pages are fetched in parallel                                                                                     |
| 🌐 **Proxy**                       | Built-in support for residential proxies for reliable results                                                                   |

### 📦 What You Get (Output Fields)

Every property includes:

#### Listing

| Field         | Example                                                           |
| ------------- | ----------------------------------------------------------------- |
| id            | `18025947`                                                        |
| url           | `https://www.kyero.com/en/property/18025947-villa-for-sale-calpe` |
| reference     | `41/13949`                                                        |
| name          | `Villa in Calpe, Alicante`                                        |
| propertyType  | `villa`                                                           |
| paymentScheme | `for_sale`                                                        |

#### Price & Size

| Field          | Example       |
| -------------- | ------------- |
| price          | `2450000`     |
| priceFormatted | `€ 2,450,000` |
| currency       | `EUR`         |
| bedrooms       | `4`           |
| bathrooms      | `5`           |
| builtArea      | `349`         |
| plotArea       | `1079`        |

#### Location

| Field     | Example     |
| --------- | ----------- |
| town      | `Calpe`     |
| province  | `Alicante`  |
| region    | `Valencia`  |
| country   | `Spain`     |
| latitude  | `38.646372` |
| longitude | `0.046349`  |

#### Media & Features

| Field       | Example                                                                                |
| ----------- | -------------------------------------------------------------------------------------- |
| images      | `["https://images.kyero.com/.../340671980_original.jpg", ...]`                         |
| imagesCount | `9`                                                                                    |
| features    | `[{ "group": "Pool", "name": "Pool" }, { "group": "Location", "name": "Near beach" }]` |
| description | `This stunning villa offers modern living nestled in a peaceful landscape...`          |

#### Agent

| Field | Example                                                                                                                                |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------- |
| agent | `{ "name": "Hamiltons Of London", "phone": "+34966491883", "whatsapp": "+34665635731", "languages": ["de","en","es","fr","nl","ru"] }` |

### 📊 Example Output

```json
{
    "type": "property",
    "id": 18025947,
    "url": "https://www.kyero.com/en/property/18025947-villa-for-sale-calpe",
    "reference": "41/13949",
    "name": "Villa in Calpe, Alicante",
    "propertyType": "villa",
    "status": "live",
    "paymentScheme": "for_sale",
    "price": 2450000,
    "priceFormatted": "€ 2,450,000",
    "currency": "EUR",
    "bedrooms": 4,
    "bathrooms": 5,
    "builtArea": 349,
    "plotArea": 1079,
    "newBuild": false,
    "hasPool": true,
    "description": "This stunning villa offers modern living nestled in a peaceful landscape with breathtaking sea and forest views. Open floor plan with gourmet kitchen, living room with fireplace, and inviting porches for outdoor entertaining.",
    "features": [
        { "group": "Pool", "name": "Pool" },
        { "group": "Location", "name": "Near beach" },
        { "group": "Quality", "name": "Modern" }
    ],
    "images": [
        "https://images.kyero.com/crop/480x320/https://production-kyero-property-images.s3.amazonaws.com/18025/18025947/340671980_original.jpg"
    ],
    "imagesCount": 9,
    "virtualTourUrl": null,
    "videoUrl": null,
    "latitude": 38.646372,
    "longitude": 0.046349,
    "town": "Calpe",
    "province": "Alicante",
    "region": "Valencia",
    "country": "Spain",
    "agent": {
        "id": 3067,
        "name": "Hamiltons Of London",
        "phone": "+34966491883",
        "whatsapp": "+34665635731",
        "languages": ["de", "en", "es", "fr", "nl", "ru"],
        "profileUrl": "https://www.kyero.com/en/spain/estate-agents/profile/hamiltons-of-london-a3067"
    },
    "createdAt": "2024-09-11",
    "scrapedAt": "2026-06-17T12:00:00.000Z"
}
````

### 📋 Dataset Views

The Apify Console gives you **4 ready-made table views** to quickly browse your results:

| View                  | What It Shows                                             |
| --------------------- | --------------------------------------------------------- |
| 📊 **Overview**       | Name, price, type, beds, baths, sizes, town and link      |
| 📍 **Location & map** | Town, province, region, country and coordinates           |
| 🏢 **Estate agents**  | Agent name, phone, WhatsApp, languages and listing counts |
| 📋 **Full Details**   | Every single field — the complete dataset                 |

### ❓ FAQ

**🤔 Which countries does it cover?**
All Kyero markets — Spain, Portugal, France and Italy — for both sale and long-let listings.

**🤔 Can I use my own filtered search?**
Yes. Build a search on Kyero with any filters (price, bedrooms, property type, location, pool, near beach…), copy the URL, and paste it in. Your filters are kept exactly.

**🤔 What's the difference between the two detail levels?**
By default you get around 20 rich fields straight from the listing cards — fast and cheap. Turn on "Fetch Full Property Details" to also collect the full description, map coordinates, every photo, grouped features and agent contacts for each property.

**🤔 How many properties can I get from one search?**
Kyero shows up to 1,000 properties per search. For larger markets, split your search by region, price band or property type and add several start URLs.

**🤔 Can I export the data?**
Yes — JSON, CSV, Excel, XML, HTML, RSS. You can also push data directly to Google Sheets, Zapier, Make, or any webhook/API endpoint.

**🤔 How often should I run this?**
For fresh data, run daily or weekly. You can schedule automatic runs on Apify with just a few clicks.

**🤔 Does it work with proxies?**
Yes — residential proxies are recommended and required for the best results. The scraper works with Apify's built-in proxy service.

### 🛠️ Need Custom Filters or Features?

**I'm happy to customize this scraper for your specific needs!** 🤝

Whether you need:

- 🎯 Additional filters (specific regions, price bands, new-builds only, properties with a pool or near the beach)
- 📊 Extra data fields or custom output formats
- 🔄 Integration with your CRM, Google Sheets, or database
- ⏰ Scheduled scraping with automatic deduplication and price-change tracking
- 🌐 Scraping from other property portals alongside Kyero

👉 **Don't hesitate to reach out via private message** — I respond quickly and I'm always open to building exactly what you need. No request is too small or too specific!

### ⚖️ Legal & Ethical Use

This scraper collects **only publicly available information** from Kyero.com. It does not access private data, bypass authentication, or log in to any account. Please use the data responsibly and in compliance with applicable laws and platform terms of service.

# Actor input Schema

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

kyero.com URLs to scrape. Any shape is accepted and auto-classified: search/listing pages (e.g. https://www.kyero.com/en/spain-property-for-sale-0l55529, country pages, or any filtered search), individual property pages (/en/property/...), or estate-agent profiles (/en/.../estate-agents/profile/...). Filters in the URL query string (max\_price, min\_beds, property types, etc.) are respected automatically.

## `fetchPropertyDetails` (type: `boolean`):

When enabled, every property found on a listing page is opened to collect the full record: complete description, map coordinates (latitude/longitude), all photos, grouped features, location hierarchy and agent contact details. When disabled (default, cheapest), only the ~20 rich fields already present on the listing card are returned — no extra request per property.

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

Hard cap on the number of records pushed to the dataset. Kyero returns up to 20 properties per listing page and up to 50 pages (1,000 properties) per search URL — use narrower searches or more start URLs to go beyond that.

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

Maximum number of parallel requests.

## `minConcurrency` (type: `integer`):

Minimum number of parallel requests.

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

How many times a Cloudflare-challenged request is retried on a fresh proxy session before being given up. The challenge is probabilistic, so a higher value improves success rate at negligible extra cost (challenge pages are tiny).

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

kyero.com is behind a Cloudflare challenge that blocks datacenter IPs — Apify RESIDENTIAL proxies are required for reliable results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.kyero.com/en/spain-property-for-sale-0l55529"
    }
  ],
  "fetchPropertyDetails": false,
  "maxItems": 100,
  "maxConcurrency": 10,
  "minConcurrency": 1,
  "maxRequestRetries": 40,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

No description

## `agents` (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.kyero.com/en/spain-property-for-sale-0l55529"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("trev0n/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 = {
    "startUrls": [{ "url": "https://www.kyero.com/en/spain-property-for-sale-0l55529" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("trev0n/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 '{
  "startUrls": [
    {
      "url": "https://www.kyero.com/en/spain-property-for-sale-0l55529"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call trev0n/kyero-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kyero.com Scraper 1$/1k - Property Listings & Estate Agents",
        "description": "Scrape kyero.com property listings across Spain, Portugal, France & Italy. Get prices, beds & baths, areas, descriptions, photos, features, map coordinates and estate-agent contacts. Paste any search, property or agent URL.",
        "version": "1.0",
        "x-build-id": "LKPbwQ6ZxzZ2mOL1X"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/trev0n~kyero-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-trev0n-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/trev0n~kyero-scraper/runs": {
            "post": {
                "operationId": "runs-sync-trev0n-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/trev0n~kyero-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-trev0n-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",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "kyero.com URLs to scrape. Any shape is accepted and auto-classified: search/listing pages (e.g. https://www.kyero.com/en/spain-property-for-sale-0l55529, country pages, or any filtered search), individual property pages (/en/property/...), or estate-agent profiles (/en/.../estate-agents/profile/...). Filters in the URL query string (max_price, min_beds, property types, etc.) are respected automatically.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "fetchPropertyDetails": {
                        "title": "Fetch full property details",
                        "type": "boolean",
                        "description": "When enabled, every property found on a listing page is opened to collect the full record: complete description, map coordinates (latitude/longitude), all photos, grouped features, location hierarchy and agent contact details. When disabled (default, cheapest), only the ~20 rich fields already present on the listing card are returned — no extra request per property.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Hard cap on the number of records pushed to the dataset. Kyero returns up to 20 properties per listing page and up to 50 pages (1,000 properties) per search URL — use narrower searches or more start URLs to go beyond that.",
                        "default": 100
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of parallel requests.",
                        "default": 10
                    },
                    "minConcurrency": {
                        "title": "Min concurrency",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Minimum number of parallel requests.",
                        "default": 1
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 0,
                        "type": "integer",
                        "description": "How many times a Cloudflare-challenged request is retried on a fresh proxy session before being given up. The challenge is probabilistic, so a higher value improves success rate at negligible extra cost (challenge pages are tiny).",
                        "default": 40
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "kyero.com is behind a Cloudflare challenge that blocks datacenter IPs — Apify RESIDENTIAL proxies are required for reliable results.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
