# Dealabs Scraper (`automation-lab/dealabs-scraper`) Actor

Scrape Dealabs deals, prices, merchants, temperatures, coupons, comments, categories, authors, images, and outbound URLs from public pages.

- **URL**: https://apify.com/automation-lab/dealabs-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 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.
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

## Dealabs Scraper

Extract public deal data from Dealabs category, search, and listing pages.

### What does Dealabs Scraper do?

Dealabs Scraper collects structured French deal marketplace data from public Dealabs pages.

It turns deal cards into clean dataset rows with prices, merchants, temperatures, comments, coupon codes, categories, authors, images, and URLs.

Use it when you need repeatable deal monitoring instead of manually checking Dealabs throughout the day.

### Who is it for?

Dealabs Scraper is built for teams that follow French ecommerce promotions.

- 🛒 Ecommerce sellers tracking competitor discounts.
- 🤝 Affiliate publishers looking for trending deals to feature.
- 📈 Pricing teams monitoring merchant price drops and old prices.
- 🔥 Deal hunters watching hot temperatures and comment velocity.
- 🧾 Coupon analysts collecting voucher codes and merchant mentions.
- 🧪 Data teams feeding deal intelligence into BI, alerts, or notebooks.

### Why use this Dealabs extractor?

Dealabs has high-signal community metadata that is useful for market monitoring.

This actor extracts those signals in a repeatable format.

- ✅ Public category and search pages.
- ✅ No account required for listing data.
- ✅ Search terms and category URLs in one run.
- ✅ Pagination support.
- ✅ Optional detail enrichment.
- ✅ Pay per saved deal.

### What Dealabs data can I extract?

The default dataset contains one row per deal.

| Field | Description |
| --- | --- |
| `id` | Dealabs thread id when available. |
| `title` | Deal title. |
| `price` | Current deal price. |
| `oldPrice` | Previous or next best price when available. |
| `discountPercentage` | Discount percentage reported by Dealabs. |
| `merchant` | Merchant or host name. |
| `temperature` | Community deal temperature. |
| `commentCount` | Number of comments. |
| `couponCode` | Voucher code when present. |
| `category` | Dealabs category. |
| `author` | Deal author username. |
| `postedAt` | Publication timestamp. |
| `imageUrl` | Main image URL. |
| `dealUrl` | Dealabs deal URL. |
| `outboundUrl` | Outbound/visit URL when available. |
| `sourceUrl` | Listing or search URL where the deal was found. |

### How much does it cost to scrape Dealabs deals?

This actor uses pay-per-event pricing.

You pay a small run start fee and then a per-deal charge for each saved dataset item.

Use lower `maxItems` values for cheap tests.

Increase `maxPagesPerSource` only when you need deeper history.

### Quick start

1. Open the actor on Apify.
2. Add Dealabs category URLs or search terms.
3. Set `maxItems`.
4. Keep `includeDetails` off for fast monitoring.
5. Run the actor.
6. Export JSON, CSV, Excel, or connect the dataset to your workflow.

### Input options

#### Start URLs

Use public Dealabs URLs such as:

- `https://www.dealabs.com/groupe/high-tech`
- `https://www.dealabs.com/groupe/gratuit`
- `https://www.dealabs.com/search?q=iphone`

#### Category URLs

Add category pages when you want one source per Dealabs category.

#### Search terms

Search terms are converted to Dealabs search URLs.

For example, `iphone` becomes a Dealabs search page for iPhone deals.

#### Maximum deals

`maxItems` controls total output size across all sources.

#### Maximum pages per source

`maxPagesPerSource` controls pagination depth.

One page usually includes about 30 deal cards.

#### Include detail enrichment

Turn on `includeDetails` to open each deal page and try to fill description and outbound visit URLs.

Leave it off for fast recurring monitoring.

### Example input

```json
{
  "startUrls": [
    { "url": "https://www.dealabs.com/groupe/high-tech" }
  ],
  "searchTerms": ["iphone", "amazon"],
  "maxItems": 100,
  "maxPagesPerSource": 4,
  "includeDetails": false
}
````

### Example output

```json
{
  "id": "3350035",
  "title": "VPN intégré Firefox avec bande passante illimitée...",
  "price": 0,
  "oldPrice": 0,
  "merchant": "blog.mozilla.org",
  "temperature": 11333.7,
  "commentCount": 392,
  "category": "High-Tech",
  "author": "Bye67",
  "dealUrl": "https://www.dealabs.com/bons-plans/...",
  "sourceUrl": "https://www.dealabs.com/groupe/high-tech",
  "scrapedAt": "2026-06-24T02:27:04.422Z"
}
```

### Tips for better Dealabs monitoring

- Use search terms for brands, products, and merchants.
- Use category URLs for broader market surveillance.
- Keep detail enrichment disabled for high-volume monitoring.
- Run on a schedule for recurring alerts.
- Filter by `temperature` to find unusually hot deals.
- Filter by `commentCount` to identify active discussions.

### Integrations

You can connect Dealabs Scraper to many workflows.

- 📊 Send datasets to Google Sheets for deal tracking.
- 🔔 Trigger Make or Zapier alerts for hot deal thresholds.
- 🧮 Load results into BigQuery, Snowflake, or a warehouse.
- 📰 Feed affiliate publishing queues with fresh French deals.
- 🛍️ Compare merchant promotions with your ecommerce catalog.
- 📦 Archive daily snapshots for price intelligence.

### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/dealabs-scraper').call({
  searchTerms: ['iphone'],
  maxItems: 50,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/dealabs-scraper').call(run_input={
    'searchTerms': ['iphone'],
    'maxItems': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

### API usage with cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~dealabs-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"searchTerms":["iphone"],"maxItems":50}'
```

### MCP integration

Use Dealabs Scraper from Claude Desktop, Claude Code, or other MCP clients through Apify MCP.

MCP URL:

```text
https://mcp.apify.com/?tools=automation-lab/dealabs-scraper
```

Claude Code setup:

```bash
claude mcp add apify-dealabs "https://mcp.apify.com/?tools=automation-lab/dealabs-scraper"
```

Claude Desktop JSON config:

```json
{
  "mcpServers": {
    "apify-dealabs": {
      "url": "https://mcp.apify.com/?tools=automation-lab/dealabs-scraper"
    }
  }
}
```

Example prompts:

- "Scrape the Dealabs High-Tech category and summarize the hottest deals."
- "Find current Dealabs iPhone offers and return merchants with temperatures."
- "Monitor Dealabs for Amazon coupon codes and export results as CSV."

### Scheduling

Dealabs Scraper works well as a scheduled actor.

Set a schedule such as hourly, twice daily, or daily depending on your monitoring needs.

Use smaller `maxItems` values for frequent schedules.

Use larger values for daily archive jobs.

### Data quality notes

Dealabs listing pages include many key fields in embedded page data.

Some optional fields may be null when Dealabs does not publish them on a listing card.

Examples include coupon code, merchant URL, or outbound URL.

Turn on detail enrichment if you need more page-level data.

### FAQ

#### Is Dealabs Scraper a Dealabs API?

No. It extracts structured data from public Dealabs pages and stores it in an Apify dataset.

#### Can I scrape Dealabs search results?

Yes. Add search terms such as product names, brands, merchants, or coupon phrases.

### Troubleshooting

#### Why are some prices zero?

Some Dealabs posts are freebies, discussions, or non-standard deals. Dealabs may publish price as `0`.

#### Why is outboundUrl empty?

Listing cards often include Dealabs metadata but not the final merchant visit link. Enable `includeDetails` to try detail page enrichment.

#### Why did I get fewer deals than expected?

The actor deduplicates deals across pages and sources. Increase `maxPagesPerSource` or add more sources.

### Legality

This actor extracts publicly available Dealabs pages.

You are responsible for using the data in a lawful way and respecting Dealabs terms, privacy rules, and applicable regulations.

Do not scrape personal data unless you have a lawful basis.

### Related scrapers

Explore related Automation Lab actors:

- https://apify.com/automation-lab/amazon-search-scraper
- https://apify.com/automation-lab/ebay-scraper
- https://apify.com/automation-lab/google-shopping-scraper
- https://apify.com/automation-lab/website-contact-finder

### Changelog

#### 0.1

Initial private build with category URL, search term, pagination, Dealabs deal extraction, and optional detail enrichment.

### Support

If you need a field that is visible on Dealabs but missing from the output, open an issue on the Apify actor page.

Include the Dealabs URL and a sample expected field.

# Actor input Schema

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

Dealabs category, search, or listing URLs to scrape. Leave empty to use the default High-Tech category.

## `categoryUrls` (type: `array`):

Additional Dealabs category URLs, for example /groupe/gratuit or /groupe/smartphones.

## `searchTerms` (type: `array`):

Dealabs search terms to monitor, such as merchant names, product keywords, or coupon phrases.

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

Maximum number of deal records to save across all sources.

## `maxPagesPerSource` (type: `integer`):

Pagination depth for each source URL or search term. Each page usually contains about 30 deals.

## `includeDetails` (type: `boolean`):

Open each deal page to try to extract the description and outbound visit link. Slower and more requests; listings are enough for most monitoring jobs.

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

Optional Apify proxy settings. Leave disabled unless Dealabs starts rate-limiting your run.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.dealabs.com/groupe/high-tech"
    }
  ],
  "categoryUrls": [
    {
      "url": "https://www.dealabs.com/groupe/high-tech"
    }
  ],
  "searchTerms": [
    "iphone",
    "amazon"
  ],
  "maxItems": 20,
  "maxPagesPerSource": 2,
  "includeDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (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.dealabs.com/groupe/high-tech"
        }
    ],
    "categoryUrls": [
        {
            "url": "https://www.dealabs.com/groupe/high-tech"
        }
    ],
    "searchTerms": [
        "iphone",
        "amazon"
    ],
    "maxItems": 20,
    "maxPagesPerSource": 2,
    "includeDetails": false,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/dealabs-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.dealabs.com/groupe/high-tech" }],
    "categoryUrls": [{ "url": "https://www.dealabs.com/groupe/high-tech" }],
    "searchTerms": [
        "iphone",
        "amazon",
    ],
    "maxItems": 20,
    "maxPagesPerSource": 2,
    "includeDetails": False,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/dealabs-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.dealabs.com/groupe/high-tech"
    }
  ],
  "categoryUrls": [
    {
      "url": "https://www.dealabs.com/groupe/high-tech"
    }
  ],
  "searchTerms": [
    "iphone",
    "amazon"
  ],
  "maxItems": 20,
  "maxPagesPerSource": 2,
  "includeDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call automation-lab/dealabs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Dealabs Scraper",
        "description": "Scrape Dealabs deals, prices, merchants, temperatures, coupons, comments, categories, authors, images, and outbound URLs from public pages.",
        "version": "0.1",
        "x-build-id": "6VWlWIFeZhG1NchLC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~dealabs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-dealabs-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/automation-lab~dealabs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-dealabs-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/automation-lab~dealabs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-dealabs-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": "Start URLs",
                        "type": "array",
                        "description": "Dealabs category, search, or listing URLs to scrape. Leave empty to use the default High-Tech category.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "categoryUrls": {
                        "title": "Category URLs",
                        "type": "array",
                        "description": "Additional Dealabs category URLs, for example /groupe/gratuit or /groupe/smartphones.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "searchTerms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Dealabs search terms to monitor, such as merchant names, product keywords, or coupon phrases.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum deals",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of deal records to save across all sources.",
                        "default": 20
                    },
                    "maxPagesPerSource": {
                        "title": "Maximum pages per source",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Pagination depth for each source URL or search term. Each page usually contains about 30 deals.",
                        "default": 2
                    },
                    "includeDetails": {
                        "title": "Include detail enrichment",
                        "type": "boolean",
                        "description": "Open each deal page to try to extract the description and outbound visit link. Slower and more requests; listings are enough for most monitoring jobs.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify proxy settings. Leave disabled unless Dealabs starts rate-limiting your run."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
