# Carsales Scraper (`maximedupre/carsales-scraper`) Actor

Scrape public Carsales.com.au vehicle listings from search pages or direct detail URLs. Export prices, specs, seller, location, images, and source URLs. No Carsales login needed.

- **URL**: https://apify.com/maximedupre/carsales-scraper.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 scraped listings

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

### 🚗 Carsales scraper for vehicle listings

Carsales Scraper collects public vehicle listings from [Carsales.com.au](https://www.carsales.com.au/) and saves them as structured rows you can export, schedule, or use through the Apify API. Paste a Carsales search URL, paste direct vehicle detail URLs, or build a simple search from make, model, condition, state, and sort filters.

Use this Carsales scraper when you need clean Australian car listing data for price checks, dealer inventory research, vehicle market analysis, lead lists, valuation workflows, or repeat monitoring. For a small first run, keep the prefilled Toyota Corolla search URL, set `Listing limit` to `25`, and review the dataset before scaling up.

### 🔎 What this Carsales scraper does

- Scrapes Carsales search and listing-results URLs.
- Scrapes direct Carsales vehicle detail URLs.
- Builds Carsales searches from make, model, condition, state, and sort inputs when no URL is provided.
- Saves one dataset row per accepted vehicle listing.
- Extracts listing IDs, source URLs, titles, make, model, year, price, odometer, condition, seller type, state, specs, seller IDs, locations, image URLs, and scrape metadata.
- Deduplicates listings inside each run when the same listing appears across multiple pages or input URLs.
- Supports grouped output for analysis and optional flattened fields for spreadsheets.
- Works with Apify exports, schedules, webhooks, integrations, and API clients.

The Actor focuses on public Carsales listing data. It does not log in, submit enquiry forms, message sellers, scrape private account data, value vehicles, or enrich listings from third-party databases.

### 📦 Data you can extract

Each dataset item is one Carsales vehicle listing. Some fields can be empty when Carsales does not show or return that value for a listing.

- `listingId` - Carsales listing identifier such as `OAG-AD-...` or `SSE-AD-...`
- `url` - source vehicle detail URL
- `title` - listing title shown by Carsales
- `make`, `model`, `year`, `condition`, `sellerType`, and `state`
- `price`, `priceDisplay`, and `currency`
- `odometer`
- `specs` - body type, transmission, engine, fuel type, and odometer display
- `seller` - seller ID, seller type, and visible location text
- `location` - state metadata
- `media` - image URLs, image count, and primary image URL
- `source` - input URL, source type, search URL or detail URL, page number, and result position when applicable
- `scrape` - scrape timestamp and row status

### 🧭 Common use cases

- Track Carsales prices for a make, model, state, or saved search URL.
- Compare dealer and private seller listings in a vehicle segment.
- Build vehicle datasets for market research, valuation support, or inventory checks.
- Monitor newly visible listings from repeat scheduled runs.
- Export Carsales listing data to CSV, JSON, Excel, Google Sheets, webhooks, or your own API workflow.
- Feed structured vehicle rows into dashboards, alerts, or internal pricing tools.

### 🚀 How to run

1. Open the Input tab.
2. Paste one or more Carsales search URLs or direct vehicle detail URLs.
3. If you do not have a URL, enter a make and model to build a Carsales search.
4. Set `Listing limit` to a small number such as `25` for your first run.
5. Choose condition, state, sort, deduplication, or flattened output options if needed.
6. Run the Actor and open the dataset.

You can export the finished dataset as JSON, CSV, Excel, XML, RSS, or HTML. You can also call the Actor from the Apify API, schedule repeat checks, or send results to another tool with webhooks.

### ⚙️ Input options

- `Carsales URLs` - Carsales search/listing-results URLs or direct vehicle detail URLs.
- `Make` - manufacturer used for filter-built searches, such as Toyota, Ford, BMW, or Tesla.
- `Model` - model used with `Make` when the Actor builds a search URL.
- `Condition` - all, new, or Carsales' used/demo/near-new bucket for filter-built searches.
- `State or territory` - optional Australian state or territory for filter-built searches.
- `Sort by` - Carsales sort order for filter-built searches.
- `Listing limit` - maximum vehicle listing rows saved across the whole run.
- `Page limit per search` - maximum Carsales result pages visited per search URL or filter-built search.
- `Deduplicate listings` - saves each listing once across overlapping inputs.
- `Flatten output` - adds spreadsheet-friendly top-level fields while keeping grouped data.

### 🧾 Example input

```json
{
	"startUrls": [
		{
			"url": "https://www.carsales.com.au/cars/used/toyota/corolla/"
		}
	],
	"maxListings": 25,
	"deduplicateListings": true,
	"flattenOutput": false
}
````

### 📊 Example output

```json
{
	"listingId": "OAG-AD-25597260",
	"url": "https://www.carsales.com.au/cars/details/2021-toyota-corolla-ascent-sport-hybrid-auto/OAG-AD-25597260/",
	"title": "2021 Toyota Corolla Ascent Sport Hybrid Auto VIC • Dealer used",
	"make": "Toyota",
	"model": "Corolla",
	"year": 2021,
	"price": 26888,
	"priceDisplay": "$26,888 Drive away $25,758 Excl. Est. Govt. Charges",
	"currency": "AUD",
	"odometer": 81394,
	"condition": "Used",
	"sellerType": "Used",
	"state": "VIC",
	"specs": {
		"bodyType": "Hatch",
		"transmission": "Automatic",
		"engine": "Hybrid",
		"fuelType": "Petrol - Unleaded ULP",
		"odometerDisplay": "81,394km"
	},
	"seller": {
		"id": "AGC-SELLER-55378",
		"type": "Used",
		"locationText": "VIC • Dealer used"
	},
	"location": {
		"state": "VIC"
	},
	"media": {
		"imageCount": 4,
		"primaryImageUrl": "https://carsales.pxcrush.net/carsales/car/dealer/example.jpg"
	},
	"source": {
		"inputUrl": "https://www.carsales.com.au/cars/details/2021-toyota-corolla-ascent-sport-hybrid-auto/OAG-AD-25597260/",
		"type": "detail",
		"detailUrl": "https://www.carsales.com.au/cars/details/2021-toyota-corolla-ascent-sport-hybrid-auto/OAG-AD-25597260/"
	},
	"scrape": {
		"status": "ok"
	}
}
```

### 💳 Pricing

This Actor uses pay-per-event pricing. You are charged for each scraped vehicle listing saved to the dataset.

Keep the `Listing limit` small for your first run so you can inspect the row shape and cost before collecting a larger Carsales dataset.

### ⚠️ Limits and caveats

- The Actor collects public listing data that Carsales returns for the requested pages or detail URLs.
- Carsales may omit some values for a listing, so fields such as price, seller, images, or specs can be `null` or empty.
- Search URLs are paginated up to `Page limit per search`.
- Direct detail URLs return one listing row per usable detail URL.
- The Actor does not contact sellers, submit forms, or scrape private Carsales account areas.

### ❓ FAQ

#### 🔍 Can I paste a Carsales search URL?

Yes. Paste a Carsales search or listing-results URL in `Carsales URLs`. The Actor paginates it until the page limit or listing limit is reached.

#### 🚘 Can I paste direct Carsales vehicle detail URLs?

Yes. Direct detail URLs are accepted and saved as individual vehicle listing rows.

#### 🔐 Do I need a Carsales login or cookies?

No. The Actor is built for public Carsales listing data and does not ask for Carsales cookies, account credentials, or an API key.

#### 📤 Can I export the data to CSV or use it from an API?

Yes. Apify datasets can be exported as CSV, JSON, Excel, XML, RSS, or HTML. You can also consume the dataset through the Apify API, schedules, webhooks, and integrations.

### 📝 Changelog

- 0.1: Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~carsales-scraper/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Other actors

- [Realtor Scraper ↗](https://apify.com/maximedupre/realtor-scraper) - Collect public Realtor.com property listings for real estate market analysis.
- [BusinessesForSale Scraper ↗](https://apify.com/maximedupre/businessesforsale-scraper) - Scrape business-for-sale listings, prices, locations, and seller links.
- [Allegro Scraper ↗](https://apify.com/maximedupre/allegro-scraper) - Export marketplace product listings with prices, sellers, images, and offer metadata.
- [Trendyol Scraper ↗](https://apify.com/maximedupre/trendyol-scraper) - Collect Trendyol product data, prices, sellers, images, and optional review rows.
- [Google Shopping Ads Scraper ↗](https://apify.com/maximedupre/google-shopping-ads-scraper) - Track paid Google Shopping product ads, prices, merchants, and landing pages.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

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

Paste Carsales search results, listing results, or direct vehicle detail URLs. Search URLs are paginated until the listing or page limit is reached; detail URLs save one matching vehicle row.

## `make` (type: `string`):

Vehicle manufacturer, such as Toyota, Ford, BMW, or Tesla. Used when no Carsales URL is provided.

## `model` (type: `string`):

Vehicle model, such as Corolla, Ranger, X5, or Model 3. Used with Make when no Carsales URL is provided.

## `condition` (type: `string`):

Vehicle condition used when the Actor builds a Carsales search from filters. Carsales groups used, demo, and near-new vehicles together.

## `state` (type: `string`):

Australian state or territory used when the Actor builds a Carsales search from filters.

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

Sort order used when the Actor builds a Carsales search from filters. Full Carsales URLs keep their own sort when possible.

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

Maximum vehicle listing rows to save across the whole run. Use a small number such as 25 for your first run.

## `maxPagesPerSearch` (type: `integer`):

Maximum Carsales result pages to visit for each search URL or filter-built search. Direct detail URLs are not paginated.

## `deduplicateListings` (type: `boolean`):

Save each Carsales listing once when it appears on multiple pages or overlapping input URLs.

## `flattenOutput` (type: `boolean`):

Off keeps grouped objects for specs, seller, location, media, source, and scrape metadata. On also adds spreadsheet-friendly top-level fields.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.carsales.com.au/cars/used/toyota/corolla/"
    }
  ],
  "condition": "used",
  "state": "",
  "sortBy": "featured",
  "maxListings": 50,
  "maxPagesPerSearch": 5,
  "deduplicateListings": true,
  "flattenOutput": false
}
```

# Actor output Schema

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

No description

## `media` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.carsales.com.au/cars/used/toyota/corolla/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/carsales-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://www.carsales.com.au/cars/used/toyota/corolla/" }] }

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/carsales-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.carsales.com.au/cars/used/toyota/corolla/"
    }
  ]
}' |
apify call maximedupre/carsales-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Carsales Scraper",
        "description": "Scrape public Carsales.com.au vehicle listings from search pages or direct detail URLs. Export prices, specs, seller, location, images, and source URLs. No Carsales login needed.",
        "version": "0.1",
        "x-build-id": "2QfFRwuaSSfAsCW4g"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/maximedupre~carsales-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-maximedupre-carsales-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/maximedupre~carsales-scraper/runs": {
            "post": {
                "operationId": "runs-sync-maximedupre-carsales-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/maximedupre~carsales-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-maximedupre-carsales-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": "Carsales URLs",
                        "type": "array",
                        "description": "Paste Carsales search results, listing results, or direct vehicle detail URLs. Search URLs are paginated until the listing or page limit is reached; detail URLs save one matching vehicle row.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "title": "URL",
                                    "description": "A Carsales search URL, listing-results URL, or direct vehicle detail URL.",
                                    "type": "string",
                                    "pattern": "^https?://"
                                }
                            }
                        }
                    },
                    "make": {
                        "title": "Make",
                        "type": "string",
                        "description": "Vehicle manufacturer, such as Toyota, Ford, BMW, or Tesla. Used when no Carsales URL is provided."
                    },
                    "model": {
                        "title": "Model",
                        "type": "string",
                        "description": "Vehicle model, such as Corolla, Ranger, X5, or Model 3. Used with Make when no Carsales URL is provided."
                    },
                    "condition": {
                        "title": "Condition",
                        "enum": [
                            "all",
                            "new",
                            "used"
                        ],
                        "type": "string",
                        "description": "Vehicle condition used when the Actor builds a Carsales search from filters. Carsales groups used, demo, and near-new vehicles together.",
                        "default": "used"
                    },
                    "state": {
                        "title": "State or territory",
                        "enum": [
                            "",
                            "nsw",
                            "vic",
                            "qld",
                            "sa",
                            "wa",
                            "tas",
                            "act",
                            "nt"
                        ],
                        "type": "string",
                        "description": "Australian state or territory used when the Actor builds a Carsales search from filters.",
                        "default": ""
                    },
                    "sortBy": {
                        "title": "Sort listings by",
                        "enum": [
                            "featured",
                            "price_asc",
                            "price_desc",
                            "km_asc",
                            "km_desc",
                            "year_desc",
                            "year_asc"
                        ],
                        "type": "string",
                        "description": "Sort order used when the Actor builds a Carsales search from filters. Full Carsales URLs keep their own sort when possible.",
                        "default": "featured"
                    },
                    "maxListings": {
                        "title": "Listing limit",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum vehicle listing rows to save across the whole run. Use a small number such as 25 for your first run.",
                        "default": 50
                    },
                    "maxPagesPerSearch": {
                        "title": "Page limit per search",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum Carsales result pages to visit for each search URL or filter-built search. Direct detail URLs are not paginated.",
                        "default": 5
                    },
                    "deduplicateListings": {
                        "title": "Deduplicate listings",
                        "type": "boolean",
                        "description": "Save each Carsales listing once when it appears on multiple pages or overlapping input URLs.",
                        "default": true
                    },
                    "flattenOutput": {
                        "title": "Flatten output",
                        "type": "boolean",
                        "description": "Off keeps grouped objects for specs, seller, location, media, source, and scrape metadata. On also adds spreadsheet-friendly top-level fields.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
