# Boligportal Property Search Scraper (`stealth_mode/boligportal-property-search-scraper`) Actor

Scrape rental property listings from Boligportal.dk with 70+ structured fields per listing — including rent, location, energy rating, deposit, features, and more. Perfect for real estate analysts, proptech developers, and market researchers.

- **URL**: https://apify.com/stealth\_mode/boligportal-property-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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

## Boligportal.dk Property Scraper: Extract Danish Rental Listings at Scale

---

### What Is Boligportal.dk?

Boligportal.dk is one of Denmark's largest rental property platforms, connecting landlords with tenants across the country. The site hosts thousands of active listings for apartments, houses, and rooms — spanning Copenhagen, Aarhus, Odense, and beyond.

Manually collecting this data is impractical at scale. The **Boligportal.dk Property Scraper** automates extraction from search result pages, turning paginated listings into clean, structured datasets ready for analysis, integration, or market monitoring.

---

### Overview

The **Boligportal Property Scraper** targets search result pages (SRP) on Boligportal.dk and extracts detailed listing records from each result. It is suited for:

- **Real estate analysts** tracking rental prices and availability trends
- **Proptech developers** feeding data into pricing models or aggregators
- **Relocation services** monitoring listings in specific cities or postal codes
- **Academic researchers** studying the Danish rental market

Key features include multi-URL support, configurable item limits, and fault-tolerant crawling via `ignore_url_failures`.

---

### Input Format

The scraper accepts a JSON configuration with three parameters:

```json
{
  "urls": [
    "https://www.boligportal.dk/lejeboliger/?offset=18"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 50
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | One or more Boligportal.dk search result page URLs to scrape. Supports pagination via the `?offset=` parameter. Add URLs one by one or in bulk. |
| `ignore_url_failures` | `boolean` | When `true`, the scraper continues if a URL fails instead of halting the entire run. Recommended for bulk jobs. Default: `true`. |
| `max_items_per_url` | `integer` | Maximum listings to extract per URL. Useful for controlling dataset size. Default: `20`; set higher (e.g., `50`) for denser pages. |

> **Tip:** To paginate through results, add multiple URLs with incremental offsets: `?offset=0`, `?offset=18`, `?offset=36`, etc.

***

### Output Format

**Sample output**

```json
{
  "id": 5566560,
  "url": "/lejligheder/aarhus/58m2-2-vaer-id-5566560",
  "state": "ACTIVE_APPROVED",
  "city_level_1": "aarhus",
  "inbox_url": null,
  "reference_id": "3994",
  "ad_subscriptions_by_product": null,
  "unseen_thread_count": null,
  "total_thread_count": null,
  "srp_page_num": null,
  "is_redirect_crawl_ad": false,
  "category": "rental_apartment",
  "is_newbuild": false,
  "city": "Aarhus",
  "rentable_id": 5695494,
  "location": {
    "lat": 56.186,
    "lng": 10.214
  },
  "images": [
    {
      "url": "https://image-lambda.boligportal.dk/7f977d0873f73f72b8113f3f64a75c7a",
      "is_floor_plan": false,
      "is_address_detected": false
    },
    {
      "url": "https://image-lambda.boligportal.dk/3539c74ac802041e19f54fe913f3973f",
      "is_floor_plan": true,
      "is_address_detected": false
    },
    {
      "url": "https://image-lambda.boligportal.dk/89b5c4e0d2b3cd60b56cdba3610c35b2",
      "is_floor_plan": false,
      "is_address_detected": false
    },
    {
      "url": "https://image-lambda.boligportal.dk/aa9522ebfb20ada0c9ec119db0dbbabb",
      "is_floor_plan": false,
      "is_address_detected": false
    },
    {
      "url": "https://image-lambda.boligportal.dk/be71c755b19c8f059f3b5bbc06365ff2",
      "is_floor_plan": false,
      "is_address_detected": false
    }
  ],
  "has_video": true,
  "needs_follow_up": false,
  "upsell_url": "/lejem%C3%A5l/5695494/produkter",
  "video_url": "/lejem%C3%A5l/5695494/video",
  "open_house": null,
  "floor": 0,
  "rental_period": 0,
  "available_from": "2026-04-28",
  "other_details": null,
  "review_reason": null,
  "digital_showing": false,
  "created_draft_contract": false,
  "hide_from_company_search": false,
  "deleted": false,
  "social_housing": false,
  "is_contacted": false,
  "formatted_address": null,
  "is_contactable_via_message": null,
  "city_level_2": "risskov",
  "city_level_3": "møllevangen",
  "created": "2025-10-31T09:27:33.799142+00:00",
  "advertised_date": "2026-05-12T11:10:14.515056+00:00",
  "city_area": "Risskov",
  "street_name": "Broloftet",
  "street_number": "25",
  "postal_code": "8240",
  "description": "",
  "title": "2 værelses lejlighed på Broloftet i Risskov udlejes",
  "rooms": 2.0,
  "size_m2": 58.0,
  "monthly_rent": 11250.0,
  "monthly_rent_currency": "kr",
  "monthly_rent_extra_costs": 300.0,
  "prepaid_rent": 0.0,
  "deposit": 33750.0,
  "deposit_currency": "kr",
  "is_owner": false,
  "has_owner": true,
  "is_promoted": false,
  "is_open": false,
  "is_exposure": true,
  "is_exposure_plus": true,
  "energy_rating": null,
  "video": {
    "video_id": 1178794740,
    "status": "playable",
    "video_hash": "1178794740"
  },
  "interactive_floor_plan_id": null,
  "seeker_thread_id": null,
  "seeker_thread_count": null,
  "new_build_name": null,
  "newbuild_details": null,
  "address": null,
  "ad_phone_number": null,
  "source_url": null,
  "is_seen": null,
  "features": {
    "elevator": true,
    "pet_friendly": true,
    "furnished": true,
    "senior_friendly": false,
    "student_only": false,
    "parking": true,
    "balcony": false,
    "shareable": true,
    "dryer": true,
    "dishwasher": true,
    "washing_machine": false,
    "electric_charging_station": false
  }
}
```

Each listing record contains 70+ fields organized across several categories:

#### Identification & URLs

| Field | Meaning |
|---|---|
| `ID` | Internal Boligportal listing identifier |
| `URL` | Direct link to the listing detail page |
| `Source URL` | The search page URL from which the listing was crawled |
| `Reference ID` | Secondary reference identifier for the listing |
| `Rentable ID` | Platform-side ID for the rentable unit |
| `Inbox URL` | Link to the messaging inbox for this listing |
| `Upsell URL` | URL for promotional or upgrade options on the listing |

#### Location & Address

| Field | Meaning |
|---|---|
| `Formatted Address` | Full human-readable address |
| `Address` | Structured address object |
| `Street Name` | Street name component |
| `Street Number` | Street number component |
| `Postal Code` | Danish postal code (e.g., `2100`) |
| `City` | City name (e.g., `København`) |
| `City Area` | Sub-area or neighborhood within the city |
| `City Level 1` | Top-level administrative area (e.g., region) |
| `City Level 2` | Secondary administrative subdivision |
| `City Level 3` | Tertiary subdivision if applicable |
| `Location` | Coordinates or geo object for mapping |

#### Listing Details

| Field | Meaning |
|---|---|
| `Title` | Listing headline |
| `Description` | Full text description of the property |
| `Category` | Property type (e.g., apartment, room, house) |
| `Rooms` | Number of rooms |
| `Size M2` | Size in square meters |
| `Floor` | Floor level within the building |
| `Energy Rating` | Danish energy label (e.g., A, B, C) |
| `Features` | Array of amenities and property features |
| `Other Details` | Additional structured property attributes |
| `Is Newbuild` | Whether the property is newly constructed |
| `New Build Name` | Name of the new development (if applicable) |
| `Newbuild Details` | Additional new-build specific metadata |

#### Pricing & Financials

| Field | Meaning |
|---|---|
| `Monthly Rent` | Monthly rent amount |
| `Monthly Rent Currency` | Currency of the rent (typically `DKK`) |
| `Monthly Rent Extra Costs` | Additional monthly costs (utilities, etc.) |
| `Prepaid Rent` | Advance rent amount required |
| `Deposit` | Security deposit amount |
| `Deposit Currency` | Currency of the deposit |

#### Availability & Dates

| Field | Meaning |
|---|---|
| `Available From` | Date the property is available to move in |
| `Rental Period` | Minimum or fixed rental duration |
| `Created` | Date the listing was created |
| `Advertised Date` | Date the listing went public |
| `Open House` | Open house event details if scheduled |

#### Media

| Field | Meaning |
|---|---|
| `Images` | Array of listing image URLs |
| `Has Video` | Whether a video tour is available |
| `Video` | Video metadata object |
| `Video URL` | Direct link to the video tour |
| `Anyeractive Floor Plan ID` | ID referencing an interactive floor plan |

#### Status & Flags

| Field | Meaning |
|---|---|
| `State` | Listing state (e.g., active, closed) |
| `Is Open` | Whether the listing is currently accepting applications |
| `Is Promoted` | Whether the listing has paid promotion |
| `Is Exposure` | Exposure-tier promotion flag |
| `Is Exposure Plus` | Higher-tier exposure promotion flag |
| `Is Newbuild` | New construction flag |
| `Social Housing` | Whether the unit is social/public housing |
| `Deleted` | Whether the listing has been removed |
| `Digital Showing` | Whether virtual showings are available |
| `Is Contacted` | Whether the scraping account has contacted this listing |
| `Is Seen` | Whether the listing has been viewed |
| `Is Contactable Via Message` | Whether messaging is enabled |
| `Is Redirect Crawl Ad` | Whether the listing redirects to an external source |
| `Is Owner` | Whether the logged-in user owns this listing |
| `Has Owner` | Whether an owner is associated |
| `Hide From Company Search` | Privacy flag for company-targeted searches |
| `Needs Follow Up` | Internal flag for follow-up actions |
| `Created Draft Contract` | Whether a draft contract has been initiated |

#### Engagement & Analytics

| Field | Meaning |
|---|---|
| `SRP Page Num` | Search result page number where the listing appeared |
| `Unseen Thread Count` | Number of unread message threads |
| `Total Thread Count` | Total messaging threads on the listing |
| `Seeker Thread ID` | Thread ID from the seeker (tenant) perspective |
| `Seeker Thread Count` | Number of seeker-side threads |
| `Ad Subscriptions By Product` | Subscription/product info tied to the ad |
| `Ad Phone Number` | Contact phone number if provided |
| `Review Reason` | Reason flagged for internal review (if any) |

***

### How to Use

1. **Find search URLs** — Browse Boligportal.dk and filter by city, price range, or property type. Copy the resulting search page URL.
2. **Add pagination** — Boligportal uses `?offset=N` for pagination (18 listings per page). Add multiple offset URLs to cover more results.
3. **Configure the input** — Set `max_items_per_url` based on how many listings you need per page. Set `ignore_url_failures: true` for bulk runs.
4. **Run the scraper** — Start the actor and monitor progress in the run log.
5. **Export** — Download results as JSON, CSV, or Excel for use in spreadsheets, databases, or dashboards.

**Best practices:**

- Use multiple offset URLs to paginate through large result sets systematically.
- Filter search results on-site (by city, rooms, price) before copying URLs to pre-target your dataset.
- If a page returns no results, verify the URL is a valid search listing page, not a detail page.

***

### Use Cases & Business Value

- **Rental market analysis:** Track average rent by city, postal code, or property type over time
- **Price benchmarking:** Compare deposit and rent levels across neighborhoods
- **Vacancy monitoring:** Identify areas with high listing turnover or long availability windows
- **Proptech integration:** Feed structured listing data into recommendation engines or rental apps
- **Academic research:** Study housing supply and demand patterns in the Danish market

***

### Conclusion

The **Boligportal.dk Property Scraper** delivers one of the most comprehensive rental datasets available for the Danish market — with 70+ fields per listing covering everything from pricing and location to media, flags, and engagement metrics. Whether you're building a market report or a data pipeline, it removes the friction of manual collection entirely.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.boligportal.dk/lejeboliger/?offset=18"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.boligportal.dk/lejeboliger/?offset=18"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/boligportal-property-search-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 = {
    "urls": ["https://www.boligportal.dk/lejeboliger/?offset=18"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/boligportal-property-search-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 '{
  "urls": [
    "https://www.boligportal.dk/lejeboliger/?offset=18"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/boligportal-property-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Boligportal Property Search Scraper",
        "description": "Scrape rental property listings from Boligportal.dk with 70+ structured fields per listing — including rent, location, energy rating, deposit, features, and more. Perfect for real estate analysts, proptech developers, and market researchers.",
        "version": "0.0",
        "x-build-id": "VINbR9haenQcTu3I1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~boligportal-property-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-boligportal-property-search-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/stealth_mode~boligportal-property-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-boligportal-property-search-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/stealth_mode~boligportal-property-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-boligportal-property-search-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": {
                    "urls": {
                        "title": "URLs of the property list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the property list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
