# 🏢 Apartments.com Scraper (`scraply/apartments-com-scraper`) Actor

- **URL**: https://apify.com/scraply/apartments-com-scraper.md
- **Developed by:** [Scraply](https://apify.com/scraply) (community)
- **Categories:** Automation, Agents, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## 🏢 Apartments.com Scraper

Scrape **[Apartments.com](https://www.apartments.com/)** for clean, structured property data — rent ranges, full addresses, GPS coordinates, neighborhoods, ratings, verification status and nearby transit — from any combination of listing URLs **and** search/map URLs, in bulk.

> ⚡️ Streams results into the dataset **as each property is parsed** — no waiting until the end of the run for partial output.

---

### ✨ Why choose this scraper?

- 🧠 **Smart proxy auto-escalation** — starts direct (cheapest), automatically falls back to **datacenter** then **residential** proxies if Apartments.com pushes back. Once on residential it stays there. You don't have to think about it.
- 🌐 **Listing URLs *and* search/map URLs** — paste either; the scraper detects which is which and crawls accordingly.
- ⚡ **Real-time output** — every property is pushed to the dataset the moment it's scraped, not at the end. Refresh the run page and watch rows appear.
- 🧱 **Browser TLS impersonation** under the hood (chrome / chrome124 / edge101) plus header rotation — survives modern anti-bot edges without the cost of a real browser.
- 📊 **Sectioned dataset tabs** — Overview, Location, Rent, Transit views built in.
- 💸 **Pay per event** — you only pay for properties we successfully deliver.

---

### 🔑 Key Features

- 🏷️ Property name, ID, canonical URL
- 📍 Full address — street, city, state, postal code, neighborhood
- 🗺️ Latitude & longitude coordinates
- 💰 Rent range (min & max in USD)
- ⭐ Public rating (when present)
- ✅ Verified-listing flag
- 🕒 Last-updated timestamp
- 🧭 Breadcrumbs trail (state → county → city → neighborhood)
- 🚆 Nearby transit stations — name, drive time, distance, transit page URL

---

### 📥 Input

| Field | Type | Required | Default | Description |
|------|------|----------|---------|-------------|
| `startUrls` | array | ✅ | – | One or more Apartments.com URLs — listing pages *or* search/map pages |
| `maxItems` | integer | ❌ | `50` | Cap on how many properties to scrape (0 = unlimited) |
| `requestDelay` | number | ❌ | `1.0` | Base delay between requests in seconds (random jitter added) |
| `maxRetriesPerRequest` | integer | ❌ | `4` | Retries before giving up on a single page |
| `proxyConfiguration` | object | ❌ | direct | Optional override of the starting proxy tier |

#### Example input

```json
{
  "startUrls": [
    { "url": "https://www.apartments.com/brookline-ma/" },
    { "url": "https://www.apartments.com/forte-at-1440-beacon-brookline-ma/wqc416h/" }
  ],
  "maxItems": 50,
  "requestDelay": 1.0,
  "proxyConfiguration": { "useApifyProxy": false }
}
````

***

### 📤 Output

Each item in the dataset looks like this:

```json
{
  "id": "wqc416h",
  "propertyName": "Forte at 1440 Beacon",
  "url": "https://www.apartments.com/forte-at-1440-beacon-brookline-ma/wqc416h",
  "breadcrumbs": ["Massachusetts", "Norfolk County", "Brookline", "Forte at 1440 Beacon"],
  "lastUpdated": "5/13/2026 11:39:31 AM",
  "location": {
    "fullAddress": "1440 Beacon St, Brookline, MA 02446",
    "state": "Massachusetts",
    "city": "Brookline",
    "neighborhood": "Brookline",
    "postalCode": "02446",
    "streetAddress": "1440 Beacon St"
  },
  "coordinates": { "latitude": 42.34098, "longitude": -71.12706 },
  "rating": null,
  "isVerified": true,
  "rent": { "min": 2935, "max": 3818 },
  "transportation": [
    { "name": "Summit Avenue Station", "drive": "1 min", "distance": "0.1 mi",
      "url": "https://www.apartments.com/transit/ma/brookline/summit-avenue-station/rv87tg3/" }
  ]
}
```

#### Output fields

| Field | Type | Description |
|------|------|-------------|
| `id` | string | Apartments.com listing slug (7-char ID) |
| `propertyName` | string | Building / community name |
| `url` | string | Canonical listing URL |
| `breadcrumbs` | array\<string> | Geographic trail from state down to property |
| `lastUpdated` | string | Listing's last-updated timestamp (US format) |
| `location.fullAddress` | string | Full address one-liner |
| `location.streetAddress` | string | Street line only |
| `location.city` | string | City |
| `location.state` | string | Full state name |
| `location.neighborhood` | string | Neighborhood (last meaningful breadcrumb) |
| `location.postalCode` | string | ZIP / postal code |
| `coordinates.latitude` | number | Latitude in decimal degrees |
| `coordinates.longitude` | number | Longitude in decimal degrees |
| `rent.min` | integer | Minimum monthly rent in USD |
| `rent.max` | integer | Maximum monthly rent in USD |
| `rating` | number | Public rating, when present |
| `isVerified` | boolean | Whether Apartments.com flags it as Verified |
| `transportation[]` | array | Nearby transit — `name`, `drive`, `distance`, optional `url` |

The dataset has four built-in views — **Overview**, **Location**, **Rent**, **Transit** — so you can drill into one section at a time without sifting through the full record.

***

### 🚀 How to use (Apify Console)

1. Log in to [Apify Console → Actors](https://console.apify.com/actors).
2. Open the **Apartments.com Scraper** actor.
3. Paste one or more Apartments.com URLs into **Apartments.com URLs**.
4. (Optional) Tweak `maxItems`, `requestDelay`, or override the proxy.
5. Click **Start**.
6. Watch results stream into the **Dataset** tab in real time.
7. When the run finishes, export to JSON, CSV, XLSX, or pipe via API / webhook.

***

### 🤖 Use via API / MCP

Run synchronously and get all items back in one shot:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [{ "url": "https://www.apartments.com/brookline-ma/" }],
    "maxItems": 25
  }'
```

Or start a run asynchronously and poll for status:

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/<ACTOR_ID>/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "startUrls": [{ "url": "https://www.apartments.com/brookline-ma/" }],
    "maxItems": 25
  }'
```

***

### 🎯 Best use cases

- 🏘️ Real-estate market research (rent comparisons, neighborhood pricing)
- 🧳 Relocation planning (transit access, neighborhoods, ZIP codes)
- 📈 Building portfolio dashboards for investors
- 🤖 Feeding LLM agents with up-to-date rental data
- 🗺️ Geo-tagged datasets for analytics / GIS

***

### 💰 Pricing

This actor uses **Pay-Per-Event (PPE)** monetization.

| Event | Description |
|-------|-------------|
| `result-item` | Charged once for every property successfully saved to the dataset |

Failed pages cost you nothing. Apify covers the first 5 seconds of compute via the synthetic `apify-actor-start` event, and the actor exits cleanly when your spend cap is reached — no surprise bills.

***

### ❓ Frequently asked questions

**Do I need a proxy?**
Not to start. The actor begins with a direct connection. If Apartments.com starts blocking, it automatically escalates to datacenter, then residential proxy, and sticks there. You only need to configure proxy manually if you want to start on residential right away (e.g. for known-hot ZIP codes).

**Can I scrape an entire city?**
Yes. Pass a city search URL (e.g. `https://www.apartments.com/brookline-ma/`) and the actor will paginate through search results until it hits your `maxItems` cap or runs out of pages.

**Does it work with the map / draw-area URLs?**
Yes — URLs with `?bb=…` paginate via `&page=N` and the actor handles that transparently.

**What happens mid-run if it crashes?**
Every property is `push_data`'d the moment it's parsed, so a crash leaves a partial dataset rather than an empty one.

**Can I get all images / virtual tours?**
The current build focuses on tabular property data + transit. Image-set and virtual-tour scraping are on the roadmap.

***

### 🆘 Support & Feedback

- 🐞 Issues: open an issue on the actor's Apify page → **Issues** tab.
- 💬 Feature requests welcome — message the actor author via Apify Console.

***

### ⚖️ Legal & ethics

- Only collects **publicly accessible** data from Apartments.com.
- You are responsible for legal compliance — GDPR, CCPA, the target site's Terms of Service, and any anti-spam laws that apply to how you use the data.
- The actor honors reasonable rate limits to be a good citizen of the web.

# Actor input Schema

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

📋 Optional. Paste Apartments.com URLs in bulk — listing URLs **OR** search / map URLs (with `?bb=…`). The actor auto-detects which is which and crawls accordingly. Either fill this OR the **Search term** field below (or both).

**Examples:**
• `https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/`
• `https://www.apartments.com/brookline-ma/`
• `https://www.apartments.com/?sk=…&bb=…`

## `search` (type: `string`):

Optional. A free-text query for Apartments.com — a city, neighborhood, or ZIP code (e.g. `Brookline MA`, `Miami Beach FL`, `10001`). The actor converts it into an Apartments.com search URL and crawls it just like any other start URL. Combine with `Apartments.com URLs` or use on its own.

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

Cap the total number of property records returned. Set to 0 for unlimited (up to whatever the page set contains).

## `endPage` (type: `integer`):

Optional. The page number that you want to end with. By default there is no end page — pagination continues until Apartments.com runs out of results (its own hard cap is 28 pages per search). Set this to stop earlier, e.g. `endPage: 3` only scrapes pages 1–3.

## `includeAllImages` (type: `boolean`):

Collect the full image gallery for each property (carousel photos, floor plans, amenities). When off, no image URLs are returned. ⚠️ Image extraction is on the roadmap — toggling this today reserves the flag for the upcoming release.

## `includeVirtualTours` (type: `boolean`):

Collect 3D / video tour URLs when the listing exposes them. ⚠️ Virtual-tour extraction is on the roadmap — toggling this today reserves the flag for the upcoming release.

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

This actor **always** runs on Apify **Residential** proxy (3 retry rounds with IP refresh). Apartments.com is too aggressive for direct or datacenter traffic. If you paste **custom proxy URLs** here, those are tried first (3 retry rounds) before falling back to Residential. The `Use Apify Proxy` toggle and group selection are ignored — Residential is enforced.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.apartments.com/brookline-ma/"
  ],
  "search": "Brookline MA",
  "maxItems": 10,
  "endPage": 0,
  "includeAllImages": false,
  "includeVirtualTours": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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.apartments.com/brookline-ma/"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraply/apartments-com-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.apartments.com/brookline-ma/"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("scraply/apartments-com-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.apartments.com/brookline-ma/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call scraply/apartments-com-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🏢 Apartments.com Scraper",
        "description": null,
        "version": "0.7",
        "x-build-id": "MgEqsozwV1xIF8nGn"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scraply~apartments-com-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scraply-apartments-com-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/scraply~apartments-com-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scraply-apartments-com-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/scraply~apartments-com-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scraply-apartments-com-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": "🌐 Apartments.com URLs",
                        "type": "array",
                        "description": "📋 Optional. Paste Apartments.com URLs in bulk — listing URLs **OR** search / map URLs (with `?bb=…`). The actor auto-detects which is which and crawls accordingly. Either fill this OR the **Search term** field below (or both).\n\n**Examples:**\n• `https://www.apartments.com/sobe-apartment-rentals-miami-beach-fl/26xc7jb/`\n• `https://www.apartments.com/brookline-ma/`\n• `https://www.apartments.com/?sk=…&bb=…`",
                        "items": {
                            "type": "string"
                        }
                    },
                    "search": {
                        "title": "🔎 Search term",
                        "type": "string",
                        "description": "Optional. A free-text query for Apartments.com — a city, neighborhood, or ZIP code (e.g. `Brookline MA`, `Miami Beach FL`, `10001`). The actor converts it into an Apartments.com search URL and crawls it just like any other start URL. Combine with `Apartments.com URLs` or use on its own."
                    },
                    "maxItems": {
                        "title": "🔢 Maximum properties to scrape",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Cap the total number of property records returned. Set to 0 for unlimited (up to whatever the page set contains).",
                        "default": 10
                    },
                    "endPage": {
                        "title": "📚 Listing end page",
                        "minimum": 0,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Optional. The page number that you want to end with. By default there is no end page — pagination continues until Apartments.com runs out of results (its own hard cap is 28 pages per search). Set this to stop earlier, e.g. `endPage: 3` only scrapes pages 1–3.",
                        "default": 0
                    },
                    "includeAllImages": {
                        "title": "🖼️ Include all property images",
                        "type": "boolean",
                        "description": "Collect the full image gallery for each property (carousel photos, floor plans, amenities). When off, no image URLs are returned. ⚠️ Image extraction is on the roadmap — toggling this today reserves the flag for the upcoming release.",
                        "default": false
                    },
                    "includeVirtualTours": {
                        "title": "🎥 Include virtual tour links",
                        "type": "boolean",
                        "description": "Collect 3D / video tour URLs when the listing exposes them. ⚠️ Virtual-tour extraction is on the roadmap — toggling this today reserves the flag for the upcoming release.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "🛡️ Proxy configuration",
                        "type": "object",
                        "description": "This actor **always** runs on Apify **Residential** proxy (3 retry rounds with IP refresh). Apartments.com is too aggressive for direct or datacenter traffic. If you paste **custom proxy URLs** here, those are tried first (3 retry rounds) before falling back to Residential. The `Use Apify Proxy` toggle and group selection are ignored — Residential is enforced.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
