# Pisos.com Property Scraper (`logiover/pisos-com-property-scraper`) Actor

Scrape real estate listings from Pisos.com — Spain's #3 property portal, owned by Vocento. Extract apartments, houses, attics, duplexes, studios, lofts, offices, garages and storage (sale, rent or new build) by Spanish region, province or city, with price (EUR), area (m²), rooms, bathrooms and GPS.

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

## Pricing

from $2.00 / 1,000 results

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

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Pisos.com Property Scraper

Scrape real estate listings from [Pisos.com](https://www.pisos.com) — Spain's #3 property portal, owned by Vocento (publisher of ABC newspaper).

Returns apartments, houses, attics, duplexes, studios, lofts, rural estates, commercial premises, offices, warehouses, land, garages and storage rooms — for sale, rent or new construction — anywhere in Spain.

### What you get

For each listing the actor returns:

- **Identification:** ad ID, detail URL, title, short description
- **Pricing:** price (EUR), price per m², price drop value (if any)
- **Property:** area (m²), usable area, rooms, bathrooms, floor, condition, energy class
- **Location:** country, province, city, district, neighborhood, full address, GPS coordinates (latitude/longitude)
- **Media:** main image URL
- **Advertiser:** name, type (agency/private)
- **Features:** elevator, parking, garage, terrace, balcony, AC, heating, garden, pool, storage, fitted wardrobes, sea view, furnished, luxury
- **Search context:** the search URL, transaction type, location and sort order used

### Input

| Field | Type | Description |
|------|------|-------------|
| `transactionType` | enum | `sale` (venta), `rent` (alquiler), `new` (obra nueva) |
| `propertyType` | enum | `apartment`, `house`, `attic`, `duplex`, `studio`, `loft`, `ruralEstate`, `commercial`, `office`, `warehouse`, `land`, `garage`, `storage` |
| `location` | string | Pisos.com slug. Examples below. |
| `sortBy` | enum | `relevance` (default), `newest`, `priceAsc`, `priceDesc`, `areaDesc` |
| `minPrice`, `maxPrice` | int | Price range in EUR (client-side filter) |
| `minArea`, `maxArea` | int | Area range in m² (client-side filter) |
| `minRooms`, `maxRooms` | int | Room count range (client-side filter) |
| `advertiserType` | enum | `all`, `agency`, `private` (client-side filter) |
| `keyword` | string | Optional substring filter on title/description |
| `maxListings` | int | Hard cap on items saved (default 200) |
| `maxPages` | int | Hard cap on pages crawled (default 20, ~33 listings/page) |
| `proxyConfiguration` | object | Apify proxy settings — RESIDENTIAL + ES recommended |

#### Location slugs

Pisos.com uses lowercase ASCII slugs. Province alone targets the whole province; append `_capital` for the city itself.

| Slug | Coverage |
|------|----------|
| `espana` | All Spain |
| `madrid` | Madrid province |
| `madrid_capital` | Madrid city |
| `barcelona` | Barcelona province |
| `barcelona_capital` | Barcelona city |
| `valencia` / `valencia_capital` | Valencia |
| `sevilla` / `sevilla_capital` | Seville |
| `malaga` / `malaga_capital` | Málaga |
| `alicante`, `zaragoza`, `bilbao`, `cadiz`, `mallorca`, etc. | Other locations |

#### Example input

```json
{
  "transactionType": "sale",
  "propertyType": "apartment",
  "location": "madrid_capital",
  "sortBy": "newest",
  "minPrice": 200000,
  "maxPrice": 500000,
  "minRooms": 2,
  "maxListings": 200,
  "maxPages": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "ES"
  }
}
````

### Output

The dataset items follow the schema in `.actor/dataset_schema.json`. Sample item:

```json
{
  "adId": "12345678_67890",
  "detailUrl": "https://www.pisos.com/comprar/piso-madrid_capital_chamberi-12345678_67890/",
  "title": "Piso reformado en Chamberí",
  "shortDescription": "Luminoso piso de 2 habitaciones...",
  "transactionType": "sale",
  "propertyType": "apartment",
  "price": 425000,
  "priceCurrency": "EUR",
  "pricePerSqm": 5882,
  "areaSqm": 72,
  "rooms": 2,
  "bathrooms": 1,
  "floor": "3",
  "country": "España",
  "province": "Madrid",
  "city": "Madrid",
  "district": "Chamberí",
  "neighborhood": "Trafalgar",
  "latitude": 40.4324,
  "longitude": -3.7012,
  "mainImageUrl": "https://...",
  "searchUrl": "https://www.pisos.com/venta/pisos-madrid_capital/fecharecientedesde-desc/",
  "scrapedAt": "2026-05-06T10:30:00.000Z"
}
```

### How it works

1. Builds a search URL from the input: `https://www.pisos.com/{contract}/{type}-{location}/{sort?}/{page?}/`
2. Fetches each search-results page directly with HTTP (no headless browser needed).
3. For each property card on the page:
   - Reads the embedded JSON-LD `<script>` (gives id, URL and exact GPS coordinates).
   - Parses the DOM card (`.ad-preview__title`, `.ad-preview__price`, `.ad-preview__char`, `.ad-preview__subtitle`) for title, price, area, rooms, bathrooms, floor, location.
4. Applies client-side filters (price range, area, rooms, advertiser type, keyword).
5. Stops when the page cap, listing cap, an empty page or a pagination loop is reached.

### Limitations

- Filtering by price/area/rooms is applied **after** fetching pages, not via URL — so very narrow filters may need a higher `maxPages` to find enough matches.
- Card-level data does not include all detail-page fields (energy certificate, exact agency phone, full feature list). For those, follow the `detailUrl` in a downstream step.
- Polite throttle of ~1.2s between pages; respect Pisos.com terms of service and robots.txt.

### Cost & performance

- \~33 listings per page; default 20 pages × ~1.5s = ~30s for 600+ candidate listings on a popular search.
- Uses RESIDENTIAL proxy (ES) by default — adjust `proxyConfiguration` if you have your own proxy provider.

### Author

Built by an Apify community user, following the same architectural patterns as the Sreality, Otodom, Halooglasi, Njuškalo and Subito scrapers in the Apify Store.

# Actor input Schema

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

Sale (venta), rent (alquiler), or new development (promociones).

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

Category of property to search.

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

Pisos.com location slug. Examples: 'madrid\_capital', 'barcelona\_capital', 'valencia\_capital', 'sevilla\_capital', 'malaga\_capital', 'madrid', 'barcelona', 'valencia', 'sevilla', 'malaga', 'alicante', 'zaragoza', 'bilbao', 'cadiz', 'mallorca', 'espana' (all Spain). Use lowercase ASCII; replace spaces with underscore. Append '\_capital' for the city itself (e.g. 'madrid' = province, 'madrid\_capital' = city).

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

How to sort the results.

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

Minimum price in EUR. Applied client-side after fetching pages.

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

Maximum price in EUR. Applied client-side.

## `minArea` (type: `integer`):

Minimum surface area in m². Applied client-side.

## `maxArea` (type: `integer`):

Maximum surface area in m². Applied client-side.

## `minRooms` (type: `integer`):

Minimum number of rooms (habitaciones). Applied client-side.

## `maxRooms` (type: `integer`):

Maximum number of rooms. Applied client-side.

## `advertiserType` (type: `string`):

Filter by advertiser type (client-side).

## `keyword` (type: `string`):

Optional keyword filter applied client-side to title and description.

## `maxListings` (type: `integer`):

Hard cap on number of listings saved.

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

Maximum search pages to crawl (safety cap). Pisos.com shows ~33 listings per page.

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

Apify proxy settings. Recommend RESIDENTIAL group with country=ES if you hit blocks.

## Actor input object example

```json
{
  "transactionType": "sale",
  "propertyType": "apartment",
  "location": "madrid_capital",
  "sortBy": "relevance",
  "advertiserType": "all",
  "maxListings": 200,
  "maxPages": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Real estate listings scraped from Pisos.com.

# 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 = {
    "transactionType": "sale",
    "propertyType": "apartment",
    "location": "madrid_capital",
    "sortBy": "relevance",
    "advertiserType": "all",
    "maxListings": 200,
    "maxPages": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "ES"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/pisos-com-property-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 = {
    "transactionType": "sale",
    "propertyType": "apartment",
    "location": "madrid_capital",
    "sortBy": "relevance",
    "advertiserType": "all",
    "maxListings": 200,
    "maxPages": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "ES",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("logiover/pisos-com-property-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 '{
  "transactionType": "sale",
  "propertyType": "apartment",
  "location": "madrid_capital",
  "sortBy": "relevance",
  "advertiserType": "all",
  "maxListings": 200,
  "maxPages": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}' |
apify call logiover/pisos-com-property-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pisos.com Property Scraper",
        "description": "Scrape real estate listings from Pisos.com — Spain's #3 property portal, owned by Vocento. Extract apartments, houses, attics, duplexes, studios, lofts, offices, garages and storage (sale, rent or new build) by Spanish region, province or city, with price (EUR), area (m²), rooms, bathrooms and GPS.",
        "version": "0.0",
        "x-build-id": "sODcANpTdRNMeZz5d"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~pisos-com-property-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-pisos-com-property-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/logiover~pisos-com-property-scraper/runs": {
            "post": {
                "operationId": "runs-sync-logiover-pisos-com-property-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/logiover~pisos-com-property-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-pisos-com-property-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": [
                    "transactionType",
                    "propertyType",
                    "location",
                    "maxListings",
                    "maxPages",
                    "proxyConfiguration"
                ],
                "properties": {
                    "transactionType": {
                        "title": "Transaction type",
                        "enum": [
                            "sale",
                            "rent",
                            "new"
                        ],
                        "type": "string",
                        "description": "Sale (venta), rent (alquiler), or new development (promociones).",
                        "default": "sale"
                    },
                    "propertyType": {
                        "title": "Property type",
                        "enum": [
                            "apartment",
                            "house",
                            "attic",
                            "duplex",
                            "studio",
                            "loft",
                            "ruralEstate",
                            "commercial",
                            "office",
                            "warehouse",
                            "land",
                            "garage",
                            "storage"
                        ],
                        "type": "string",
                        "description": "Category of property to search.",
                        "default": "apartment"
                    },
                    "location": {
                        "title": "Location slug",
                        "type": "string",
                        "description": "Pisos.com location slug. Examples: 'madrid_capital', 'barcelona_capital', 'valencia_capital', 'sevilla_capital', 'malaga_capital', 'madrid', 'barcelona', 'valencia', 'sevilla', 'malaga', 'alicante', 'zaragoza', 'bilbao', 'cadiz', 'mallorca', 'espana' (all Spain). Use lowercase ASCII; replace spaces with underscore. Append '_capital' for the city itself (e.g. 'madrid' = province, 'madrid_capital' = city).",
                        "default": "madrid_capital"
                    },
                    "sortBy": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "newest",
                            "priceAsc",
                            "priceDesc",
                            "areaDesc"
                        ],
                        "type": "string",
                        "description": "How to sort the results.",
                        "default": "relevance"
                    },
                    "minPrice": {
                        "title": "Min price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price in EUR. Applied client-side after fetching pages."
                    },
                    "maxPrice": {
                        "title": "Max price (EUR)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price in EUR. Applied client-side."
                    },
                    "minArea": {
                        "title": "Min area (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum surface area in m². Applied client-side."
                    },
                    "maxArea": {
                        "title": "Max area (m²)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum surface area in m². Applied client-side."
                    },
                    "minRooms": {
                        "title": "Min rooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Minimum number of rooms (habitaciones). Applied client-side."
                    },
                    "maxRooms": {
                        "title": "Max rooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of rooms. Applied client-side."
                    },
                    "advertiserType": {
                        "title": "Advertiser type",
                        "enum": [
                            "all",
                            "agency",
                            "private"
                        ],
                        "type": "string",
                        "description": "Filter by advertiser type (client-side).",
                        "default": "all"
                    },
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Optional keyword filter applied client-side to title and description."
                    },
                    "maxListings": {
                        "title": "Max listings",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Hard cap on number of listings saved.",
                        "default": 200
                    },
                    "maxPages": {
                        "title": "Max pages",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum search pages to crawl (safety cap). Pisos.com shows ~33 listings per page.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy settings. Recommend RESIDENTIAL group with country=ES if you hit blocks.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "ES"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
