# Brico Depot Scraper — French Building Materials & Prices (`studio-amba/bricodepot-scraper`) Actor

Scrape building materials from BricoDepot.fr. Trade-focused pricing on tiles, plumbing, flooring, electrical, insulation, and structural materials.

- **URL**: https://apify.com/studio-amba/bricodepot-scraper.md
- **Developed by:** [Jelle Desramaults](https://apify.com/studio-amba) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## Brico Depot Scraper

Extract product data, prices, and specifications from bricodepot.fr -- France's leading discount DIY and building materials retailer, part of the Kingfisher Group (alongside Castorama and B&Q). Built for trade professionals and serious renovators who need bulk pricing on tiles, plumbing, electrical, insulation, and structural materials.

### What is Brico Depot Scraper?

Brico Depot is France's go-to retailer for budget building materials and renovation supplies. Part of the Kingfisher Group -- the third-largest home improvement retailer globally -- Brico Depot focuses on competitive trade pricing, stocking fewer SKUs than Leroy Merlin but at significantly lower price points. Their catalog is heavy on construction essentials: tiles, plumbing fixtures, electrical components, insulation, kitchen units, and structural materials.

This scraper extracts structured product data from their website. Here is what teams use it for:

- **Trade price intelligence** -- Brico Depot consistently undercuts other French DIY chains on bulk materials. Monitor their pricing for tiles per square meter, plumbing fittings, and electrical supplies to benchmark your own sourcing costs
- **Cross-border building material comparison** -- Compare French construction material prices (insulation, concrete, timber, tiles) against German (Hagebau, Globus), Belgian (Brico, Hubo), and Nordic (Byggmax, K-Rauta) equivalents to find the cheapest supply chain
- **Kingfisher Group analysis** -- Track pricing consistency and product overlap between Brico Depot, Castorama, and B&Q across the Kingfisher portfolio
- **Renovation cost planning** -- Extract pricing data for complete renovation projects: kitchen caissons, bathroom suites, flooring, and paint -- all from one source
- **EAN-based product matching** -- Use EAN barcodes to match identical products across retailers for genuine like-for-like price comparison

### What data does Brico Depot Scraper extract?

Each product includes the following fields when available:

- 🏷️ **Product name** -- Full listing title in French
- 🏢 **Brand** -- Manufacturer name
- 💰 **Price** -- Current retail price in EUR
- 🔖 **Original price** -- Crossed-out price for promotional items
- 🔗 **EAN** -- European Article Number (barcode) from product ID
- 🔢 **SKU** -- Product reference code
- 📦 **In stock** -- Availability status (InStock, InStoreOnly, PreOrder)
- ⭐ **Rating** -- Customer rating (BazaarVoice powered)
- 💬 **Review count** -- Number of customer reviews
- 🖼️ **Image URL** -- Main product image
- 🖼️ **Image URLs** -- Full product gallery
- 📝 **Description** -- Product description (HTML stripped)
- 📂 **Category** -- Product category from JSON-LD
- 📂 **Categories** -- Full breadcrumb path from HTML
- 🌐 **Language** -- Always `"fr"` (French)

### How to scrape Brico Depot

#### Search by keyword

```json
{
    "searchQuery": "carrelage",
    "maxResults": 100
}
````

Useful French search terms: `"carrelage"` (tiles), `"robinet"` (faucet), `"peinture"` (paint), `"meuble cuisine"` (kitchen cabinet), `"radiateur"` (radiator), `"isolant"` (insulation), `"parquet"` (flooring).

#### Scrape a category

```json
{
    "categoryUrl": "https://www.bricodepot.fr/catalogue/amenagement-despaces/cuisine/meuble-de-cuisine/",
    "maxResults": 500
}
```

#### Full catalog via sitemap

If you provide neither a search query nor category URL, the scraper will attempt to discover products via the site's XML sitemap -- useful for comprehensive catalog crawls.

#### Input reference

| Field | Type | Description |
|-------|------|-------------|
| `searchQuery` | String | French keyword (e.g., `"carrelage"`, `"robinet"`) |
| `categoryUrl` | String | A bricodepot.fr category page URL |
| `maxResults` | Integer | Product limit (default: 100, max: 50,000) |
| `proxyConfiguration` | Object | Residential proxies recommended (AWS WAF protection) |

**Important:** Brico Depot uses AWS WAF protection. For reliable results on large scrapes, use Apify residential proxies. Datacenter proxies may work for small runs but can be blocked.

### Output

```json
[
    {
        "name": "Carrelage sol et mur gres cerame 60x60 cm gris clair",
        "brand": "Brico Depot",
        "price": 11.90,
        "currency": "EUR",
        "ean": "3454976512345",
        "sku": "BD-CARR-6060-GC",
        "inStock": true,
        "rating": 4.2,
        "reviewCount": 89,
        "imageUrl": "https://www.bricodepot.fr/images/products/carrelage-gres-cerame-60x60.jpg",
        "description": "Carrelage en gres cerame emaille pour sol et mur. Adapte aux pieces humides. Epaisseur 9 mm. Vendu au m2.",
        "category": "Carrelage",
        "categories": ["Construction & Renovation", "Carrelage, stratifie & parquet", "Carrelage sol"],
        "language": "fr",
        "url": "https://www.bricodepot.fr/catalogue/carrelage-gres-cerame-60x60-gris/prod45678/",
        "scrapedAt": "2026-04-03T10:30:00.000Z"
    },
    {
        "name": "Meuble bas cuisine 80 cm 2 portes blanc",
        "brand": "Brico Depot",
        "price": 49.00,
        "currency": "EUR",
        "originalPrice": 65.00,
        "inStock": true,
        "rating": 3.8,
        "reviewCount": 156,
        "imageUrl": "https://www.bricodepot.fr/images/products/meuble-bas-80cm-blanc.jpg",
        "description": "Caisson bas de cuisine 80 cm avec 2 portes et 1 etagere. Panneau de particules melanine blanc. A assembler.",
        "category": "Meuble de cuisine",
        "categories": ["Amenagement d'espaces", "Cuisine", "Meuble de cuisine", "Caisson bas"],
        "language": "fr",
        "url": "https://www.bricodepot.fr/catalogue/meuble-bas-cuisine-80cm-blanc/prod78901/",
        "scrapedAt": "2026-04-03T10:30:15.000Z"
    },
    {
        "name": "Mitigeur evier cuisine inox brosse",
        "brand": "Essebagno",
        "price": 39.90,
        "currency": "EUR",
        "ean": "3454976598765",
        "inStock": true,
        "rating": 4.0,
        "reviewCount": 43,
        "imageUrl": "https://www.bricodepot.fr/images/products/mitigeur-evier-inox.jpg",
        "description": "Mitigeur pour evier de cuisine, finition inox brosse. Cartouche ceramique. Flexible d'alimentation inclus.",
        "language": "fr",
        "url": "https://www.bricodepot.fr/catalogue/mitigeur-evier-cuisine-inox-brosse/prod23456/",
        "scrapedAt": "2026-04-03T10:30:28.000Z"
    }
]
```

Export in **JSON**, **CSV**, **Excel**, **XML**, or **RSS** from the Apify dataset.

### How much does it cost?

CheerioCrawler-based, so compute costs are low. Proxy costs are the main expense due to AWS WAF.

| Scenario | Products | Estimated cost |
|----------|----------|----------------|
| Quick keyword search | 50 | ~$0.05 |
| Category scrape | 200 | ~$0.15 |
| Multi-category crawl | 1,000 | ~$0.60 |
| Sitemap-based full catalog | 5,000 | ~$3.00 |

Residential proxy usage adds to the cost depending on your Apify plan. The scraper itself is lightweight and runs at high concurrency (10 parallel requests).

### Can I integrate?

Pipe Brico Depot data into your tools:

- **Webhooks** -- Trigger actions when scraping finishes
- **Google Sheets** -- Sync products and prices to spreadsheets
- **Slack / Microsoft Teams** -- Alert on price changes or new products
- **Zapier / Make** -- Connect to thousands of apps
- **Amazon S3 / Google Cloud** -- Store datasets in cloud buckets
- **PostgreSQL / MySQL / BigQuery** -- Direct database push
- **API** -- Programmatic access from any language

### Can I use it as an API?

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("studio-amba/bricodepot-scraper").call(run_input={
    "searchQuery": "carrelage",
    "maxResults": 200,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['name']} - EUR {item['price']}")
```

#### JavaScript

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

const client = new ApifyClient({ token: "YOUR_API_TOKEN" });

const run = await client.actor("studio-amba/bricodepot-scraper").call({
    searchQuery: "carrelage",
    maxResults: 200,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(`${item.name} - EUR ${item.price}`));
```

### FAQ

**Why does Brico Depot matter for price comparison?**
Brico Depot is consistently the cheapest major DIY retailer in France for building materials. If you are tracking European construction costs -- whether for tiles, insulation, plumbing, or kitchen units -- Brico Depot sets the floor price in France.

**Does search work reliably?**
Brico Depot's search is client-side rendered (SenseFuel). The scraper attempts to extract products from server-side HTML first. If search returns empty results, try using a `categoryUrl` instead -- this is more reliable and gives you direct access to products.

**Can I scrape the full Brico Depot catalog?**
Yes. If you provide neither search nor category, the scraper falls back to XML sitemap discovery. It finds product sitemaps, extracts product URLs matching the `/prod{ID}/` pattern, and visits each page. This is the most thorough approach for full catalog extraction.

**What about store-specific prices?**
The scraper extracts online catalog prices only. Brico Depot occasionally shows different prices by store location, which requires selecting a store on the website. The scraper does not simulate store selection.

**Are prices per unit or per square meter?**
Brico Depot lists some products (tiles, flooring) with per-square-meter pricing. The price field reflects whatever the site displays. Check the product description for unit details.

**How does this compare to Castorama Scraper?**
Brico Depot and Castorama are sister companies (both Kingfisher Group). Brico Depot targets trade and budget, while Castorama targets consumers. Scraping both gives you the full Kingfisher picture in France.

### Limitations

- All data is in French from bricodepot.fr
- Search pages are client-side rendered -- `categoryUrl` input is more reliable than `searchQuery`
- AWS WAF can block datacenter proxies; residential proxies strongly recommended for large runs
- Per-unit vs per-square-meter pricing depends on the product category and is not normalized by the scraper
- The scraper does not capture store-specific pricing or local availability
- Sitemap-based crawling may include discontinued or out-of-stock product pages

### Other DIY & hardware scrapers

Build complete European building material price intelligence with our scraper collection:

- [Gamma Scraper](https://apify.com/studio-amba/gamma-scraper) -- Netherlands
- [Leroy Merlin Scraper](https://apify.com/studio-amba/leroymerlin-scraper) -- France
- [Brico Scraper](https://apify.com/studio-amba/brico-scraper) -- Belgium
- [Praxis Scraper](https://apify.com/studio-amba/praxis-scraper) -- Netherlands
- [OBI Scraper](https://apify.com/studio-amba/obi-scraper) -- Germany
- [Hornbach Scraper](https://apify.com/studio-amba/hornbach-scraper) -- Germany/Europe
- [Bauhaus Scraper](https://apify.com/studio-amba/bauhaus-scraper) -- Germany/Europe
- [Castorama Scraper](https://apify.com/studio-amba/castorama-scraper) -- France/Poland
- [Hubo Scraper](https://apify.com/studio-amba/hubo-scraper) -- Belgium/Netherlands
- [Toom Scraper](https://apify.com/studio-amba/toom-scraper) -- Germany
- [Hagebau Scraper](https://apify.com/studio-amba/hagebau-scraper) -- Germany
- [Globus Baumarkt Scraper](https://apify.com/studio-amba/globus-baumarkt-scraper) -- Germany
- [Bricorama Scraper](https://apify.com/studio-amba/bricorama-scraper) -- France
- [Byggmax Scraper](https://apify.com/studio-amba/byggmax-scraper) -- Sweden
- [Bricomarche Scraper](https://apify.com/studio-amba/bricomarche-scraper) -- France
- [Clas Ohlson Scraper](https://apify.com/studio-amba/clasohlson-scraper) -- Scandinavia
- [Jula Scraper](https://apify.com/studio-amba/jula-scraper) -- Sweden
- [K-Rauta Scraper](https://apify.com/studio-amba/krauta-scraper) -- Finland

### Your feedback

Running into problems or want additional features? Let us know through the actor's Apify Store page or the community forum. We maintain all our scrapers actively and prioritize fixes based on user feedback.

# Actor input Schema

## `searchQuery` (type: `string`):

Search for products by keyword (e.g., 'carrelage', 'peinture', 'robinet'). The scraper will visit the search page and extract matching product links.

## `categoryUrl` (type: `string`):

A Brico Depot category page URL to scrape. Example: https://www.bricodepot.fr/catalogue/amenagement-despaces/cuisine/meuble-de-cuisine/caisson-bas/

## `maxResults` (type: `integer`):

Maximum number of products to return.

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

Proxy settings. Recommended to use Apify residential proxies for reliability against AWS WAF.

## Actor input object example

```json
{
  "searchQuery": "carrelage",
  "maxResults": 100
}
```

# 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 = {
    "searchQuery": "carrelage"
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/bricodepot-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 = { "searchQuery": "carrelage" }

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/bricodepot-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 '{
  "searchQuery": "carrelage"
}' |
apify call studio-amba/bricodepot-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Brico Depot Scraper — French Building Materials & Prices",
        "description": "Scrape building materials from BricoDepot.fr. Trade-focused pricing on tiles, plumbing, flooring, electrical, insulation, and structural materials.",
        "version": "0.1",
        "x-build-id": "yli9JJi6abDspPd3g"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/studio-amba~bricodepot-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-studio-amba-bricodepot-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/studio-amba~bricodepot-scraper/runs": {
            "post": {
                "operationId": "runs-sync-studio-amba-bricodepot-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/studio-amba~bricodepot-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-studio-amba-bricodepot-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": {
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Search for products by keyword (e.g., 'carrelage', 'peinture', 'robinet'). The scraper will visit the search page and extract matching product links."
                    },
                    "categoryUrl": {
                        "title": "Category URL",
                        "type": "string",
                        "description": "A Brico Depot category page URL to scrape. Example: https://www.bricodepot.fr/catalogue/amenagement-despaces/cuisine/meuble-de-cuisine/caisson-bas/"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of products to return.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Recommended to use Apify residential proxies for reliability against AWS WAF."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
