# Idealista Scraper - Listings, Details & Market Data (`sourabhbgp/idealista-scraper`) Actor

Scrape Idealista (Spain): search property listings, get full details with owner-vs-agency and contact phone, plus the official price-per-m2 market reports and full price history no other scraper provides. Export to JSON, CSV, or Excel.

- **URL**: https://apify.com/sourabhbgp/idealista-scraper.md
- **Developed by:** [Sourabh Kumar](https://apify.com/sourabhbgp) (community)
- **Categories:** Real estate, E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 listing 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

### Idealista scraper — listings, property details & price-report market data

Scrape Idealista in one actor. Paste a search or a property URL and get clean, structured data: listings, full property details with the seller's phone, and the official price reports no other Idealista scraper exposes.

**$2 per 1,000 listings. $4 per 1,000 market-data rows. No proxy or login to set up.**

Built and tested for idealista.com (Spain), listings and market reports nationwide.

### Why this scraper?

- 🏷️ **Price-report market data nobody else ships.** Price per m2, monthly/quarterly/yearly change, and the all-time peak for any region, province, or city, plus the full monthly history back to 2006.
- 📉 **Price-drop flag on search results.** See which listings cut their price and by how much, straight from the results page.
- 📇 **Owner vs agency, with the phone number.** Every listing tells you if it is a private owner or an agency, and property details pull the contact phone for lead generation.
- 🔋 **Full property detail.** Size, rooms, bathrooms, condition, energy rating, features, the complete photo gallery, and the last-updated date.
- 🗺️ **One actor, three jobs.** Search results, full property details, and market reports, all in one place.
- 🤖 **Handles bot protection automatically.** Paste a URL and run. No proxy, no captcha solver, no login.

### What data can you extract?

<table>
  <tr><td>💶 Price &amp; price/m2</td><td>📉 Price drop &amp; %</td><td>🛏️ Rooms &amp; baths</td><td>📐 Size m2</td></tr>
  <tr><td>🏢 Owner vs agency</td><td>📞 Contact phone</td><td>🔋 Energy rating</td><td>🏗️ Condition</td></tr>
  <tr><td>🖼️ Full photo gallery</td><td>📝 Description</td><td>📍 Location &amp; geo</td><td>🗓️ Last updated</td></tr>
  <tr><td>📊 Price per m2 by area</td><td>📈 Monthly/yearly change</td><td>⛰️ All-time peak</td><td>🕰️ 20-year history</td></tr>
</table>

### Scraping modes

#### 🔍 Search

Paste an Idealista search results URL (sale or rent, any location). Returns one row per listing with price, price/m2, rooms, size, floor, the price-drop flag, the photo, and whether the seller is a private owner or an agency. Pages through the full result set automatically.

```json
{
  "startUrls": ["https://www.idealista.com/venta-viviendas/madrid-madrid/"],
  "maxItems": 100
}
````

Turn on **Only private sellers** to drop agency listings and keep owner leads.

#### 🏠 Property details

Paste a single property URL or an ID. Adds the full description, all features, the energy rating, condition, bathrooms, the complete photo gallery, the advertiser profile, and the contact phone.

```json
{
  "startUrls": ["https://www.idealista.com/inmueble/111688398/"]
}
```

#### 📊 Market data (price reports)

Pull Idealista's official price reports for any location. Each row gives the price per m2, monthly/quarterly/yearly change, and the all-time peak with its date. Turn on history for the full monthly series back to 2006.

```json
{
  "marketDataLocations": ["madrid-comunidad", "andalucia/malaga-provincia"],
  "marketDataOperation": "venta",
  "marketDataIncludeHistory": true
}
```

### How to scrape Idealista: step by step

1. [Create a free Apify account](https://console.apify.com/sign-up). Takes 30 seconds, no card needed.
2. Open [Idealista Scraper](https://console.apify.com/actors/QdSSRzBQ4wqbieZyK) in the Apify Console.
3. Search on Idealista, copy the URL from your browser, and paste it in. A search page or a property page both work. For market data, type a location like `madrid-comunidad`.
4. Click **Start**.
5. Export as JSON, CSV, or Excel, or fetch via API.

### How much does Idealista Scraper cost?

You pay per row. Listings (search and detail) cost **$2 per 1,000**. Market-data rows cost **$4 per 1,000**, because that price-report dataset is the part no other scraper provides. There is a small start fee of about **$0.01 per run**.

A quick note on market-data volume: one location snapshot is a handful of rows, but turning on the full history adds about 245 monthly rows per location (around $1 for a location's complete 20-year series).

The Apify Free plan gives you $5 in monthly credits, enough for roughly **2,400 listings**. The $29/month Starter plan covers about **14,500 listings per month**. Blocked or empty results are never charged.

### Output

Search row, with the owner-vs-agency flag and price-drop on every listing:

```json
{
  "id": "111688398",
  "title": "Piso en Calle de Esparteros, Sol, Madrid",
  "price": 685000,
  "currency": "EUR",
  "pricePerM2": 5855,
  "previousPrice": null,
  "priceDropPercent": null,
  "rooms": 2,
  "size": 117,
  "floor": "5ª planta exterior con ascensor",
  "hasLift": true,
  "hasParking": true,
  "advertiserType": "agency",
  "agencyName": "Gilmar Centro",
  "url": "https://www.idealista.com/inmueble/111688398/",
  "scrapedFrom": "search"
}
```

Property detail adds the phone, energy rating, condition, features, and the full gallery:

```json
{
  "id": "111688398",
  "price": 685000,
  "size": 117,
  "rooms": 2,
  "bathrooms": 2,
  "condition": "Segunda mano/buen estado",
  "energyCertificate": { "consumption": "C", "emissions": "C" },
  "advertiserType": "agency",
  "advertiserName": "Gilmar Centro",
  "isProfessional": true,
  "micrositeCity": "Madrid",
  "phones": ["+34919383829"],
  "numImages": 45,
  "description": "GILMAR Consulting Inmobiliario ...",
  "scrapedFrom": "detail"
}
```

Market-data row, per location and per month:

```json
{
  "operation": "venta",
  "inputLocation": "madrid-comunidad",
  "rowType": "history",
  "month": "Mayo 2026",
  "pricePerM2": 4739,
  "momChange": 0.7,
  "quarterlyChange": 2.1,
  "yoyChange": 11.9,
  "scrapedFrom": "marketData"
}
```

### Use cases

- 📊 **Market and price analysis.** Track asking prices by area, property type, and time across the Spanish market.
- 🧲 **Owner lead generation.** Filter to private sellers and collect their contact phone for outreach.
- 📉 **Deal hunting.** Watch the price-drop flag to surface listings that just cut their asking price.
- 🏦 **Valuation and investment.** Feed the 20-year price-per-m2 history into residual-value or yield models.
- 🏢 **Proptech and portals.** Power a property-finder or price-check app with structured listing data.
- 🔍 **Competitor watch.** Track an agency's full inventory and pricing.

### Limitations

- **A single search returns up to about 1,800 listings,** no matter how many match. To pull more, split the search by price band, district, or property type. The actor tells you in the run status when a search hit the ceiling.
- **Spain only for now.** Search, details, and market-data all cover idealista.com (Spain).
- **The "updated" date is a last-modified date,** not the original publish date. Idealista does not expose the original date publicly.
- **View and lead counts are owner-only** and not available to scrape.
- **Public data only.** The actor reads what any visitor sees, not account-gated content.

### FAQ

#### How much does Idealista Scraper cost?

You pay per row: **$2 per 1,000 listings** and **$4 per 1,000 market-data rows**, plus about **$0.01 per run**. The Apify Free plan ($5/month in credits) covers roughly 2,400 listings; the $29/month Starter plan covers about 14,500. Blocked or empty rows are not charged.

#### Is it legal to scrape Idealista?

Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible pages, but how you use the output is on you.

Apify's full breakdown: [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/).

#### Can I integrate Idealista Scraper with other tools?

Push results into **Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive**, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.

Full list: [Apify integrations](https://docs.apify.com/platform/integrations).

#### Can I use Idealista Scraper with the Apify API?

Yes. Every run is available via the Apify REST API:

```bash
curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~idealista-scraper/runs?token=APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":["https://www.idealista.com/venta-viviendas/madrid-madrid/"],"maxItems":100}'
```

Docs: [Apify API reference](https://docs.apify.com/api/v2).

#### Can I use Idealista Scraper through an MCP Server?

Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call Idealista Scraper. Setup: [Apify MCP docs](https://docs.apify.com/platform/integrations/mcp).

### Your feedback

Bug, missing field, or odd behavior? Drop a note in the [Issues tab](https://console.apify.com/actors/QdSSRzBQ4wqbieZyK/issues). Reports go to a human and fixes usually ship the same week.

# Actor input Schema

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

Idealista URLs to scrape. Each can be a search results page (idealista.com/venta-viviendas/madrid/, /alquiler-viviendas/..., etc.) or a single property page (.../inmueble/<id>/). Spain only (idealista.com) for now: Portugal (.pt) and Italy (.it) are not supported yet. The type is detected automatically from the URL.

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

Maximum number of listing rows (search + detail) to return across all start URLs. Leave empty for no limit. Does not apply to market-data rows.

## `onlyPrivateSellers` (type: `boolean`):

When on, search results are filtered to listings posted by private owners (particulares), dropping agency and professional listings. Useful for owner lead generation. Has no effect on detail or market-data modes.

## `marketDataLocations` (type: `array`):

PREMIUM price-report mode. Location slugs to pull idealista's official price reports for: price per m2, monthly/quarterly/yearly change, all-time peak and distance from it. Use the slug path after the operation, e.g. "espana", "madrid-comunidad", "andalucia/malaga-provincia". You can also paste a full report URL (.../informes-precio-vivienda/...). Spain only for now.

## `marketDataOperation` (type: `string`):

Whether the price reports are for sale (venta) or rent (alquiler) prices.

## `marketDataIncludeHistory` (type: `boolean`):

When on, also pulls the full monthly price time series (around 20 years back to 2006) for each location, in addition to the current snapshot. This adds many more rows per location.

## `debugDumpRaw` (type: `boolean`):

Diagnostics only. Saves the first raw source object/HTML per mode to the key-value store for field auditing.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.idealista.com/venta-viviendas/madrid-madrid/",
    "https://www.idealista.com/inmueble/107452100/"
  ],
  "maxItems": 50,
  "onlyPrivateSellers": false,
  "marketDataLocations": [
    "espana",
    "madrid-comunidad",
    "andalucia/malaga-provincia"
  ],
  "marketDataOperation": "venta",
  "marketDataIncludeHistory": false,
  "debugDumpRaw": false
}
```

# Actor output Schema

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

View the scraped records in the dataset.

# 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": [
        "https://www.idealista.com/venta-viviendas/madrid-madrid/"
    ],
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("sourabhbgp/idealista-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": ["https://www.idealista.com/venta-viviendas/madrid-madrid/"],
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("sourabhbgp/idealista-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": [
    "https://www.idealista.com/venta-viviendas/madrid-madrid/"
  ],
  "maxItems": 50
}' |
apify call sourabhbgp/idealista-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Idealista Scraper - Listings, Details & Market Data",
        "description": "Scrape Idealista (Spain): search property listings, get full details with owner-vs-agency and contact phone, plus the official price-per-m2 market reports and full price history no other scraper provides. Export to JSON, CSV, or Excel.",
        "version": "0.0",
        "x-build-id": "HBFwUqr9lHssWdrAw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sourabhbgp~idealista-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sourabhbgp-idealista-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/sourabhbgp~idealista-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sourabhbgp-idealista-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/sourabhbgp~idealista-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sourabhbgp-idealista-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": {
                    "startUrls": {
                        "title": "Idealista listing URLs (search or property)",
                        "type": "array",
                        "description": "Idealista URLs to scrape. Each can be a search results page (idealista.com/venta-viviendas/madrid/, /alquiler-viviendas/..., etc.) or a single property page (.../inmueble/<id>/). Spain only (idealista.com) for now: Portugal (.pt) and Italy (.it) are not supported yet. The type is detected automatically from the URL.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of listing rows (search + detail) to return across all start URLs. Leave empty for no limit. Does not apply to market-data rows.",
                        "default": 100
                    },
                    "onlyPrivateSellers": {
                        "title": "Only private sellers (drop agencies)",
                        "type": "boolean",
                        "description": "When on, search results are filtered to listings posted by private owners (particulares), dropping agency and professional listings. Useful for owner lead generation. Has no effect on detail or market-data modes.",
                        "default": false
                    },
                    "marketDataLocations": {
                        "title": "Market data: locations (premium)",
                        "type": "array",
                        "description": "PREMIUM price-report mode. Location slugs to pull idealista's official price reports for: price per m2, monthly/quarterly/yearly change, all-time peak and distance from it. Use the slug path after the operation, e.g. \"espana\", \"madrid-comunidad\", \"andalucia/malaga-provincia\". You can also paste a full report URL (.../informes-precio-vivienda/...). Spain only for now.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "marketDataOperation": {
                        "title": "Market data: operation",
                        "enum": [
                            "venta",
                            "alquiler"
                        ],
                        "type": "string",
                        "description": "Whether the price reports are for sale (venta) or rent (alquiler) prices.",
                        "default": "venta"
                    },
                    "marketDataIncludeHistory": {
                        "title": "Market data: include full history",
                        "type": "boolean",
                        "description": "When on, also pulls the full monthly price time series (around 20 years back to 2006) for each location, in addition to the current snapshot. This adds many more rows per location.",
                        "default": false
                    },
                    "debugDumpRaw": {
                        "title": "Debug: dump raw source",
                        "type": "boolean",
                        "description": "Diagnostics only. Saves the first raw source object/HTML per mode to the key-value store for field auditing.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
