# Europages Scraper – European B2B Supplier Leads (`plowdata/europages-company-scraper`) Actor

Gather European supplier and manufacturer leads from Europages, europe's leading B2B marketplace with millions of company listings across 35+ countries.
Extract clean company data including contacts, products, locations, and industry tags - ready for Excel, CSV, JSON, CRM, or automation workflows.

- **URL**: https://apify.com/plowdata/europages-company-scraper.md
- **Developed by:** [Frederic](https://apify.com/plowdata) (community)
- **Categories:** Lead generation, E-commerce, Automation
- **Stats:** 7 total users, 0 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

## Europages Scraper

Turn **Europages (europages.com)** into a clean, ready‑to‑use **B2B supplier lead list**.

This actor is built to help **agencies and sales teams** turn Europages search results into **usable lead data** — without fighting pagination limits, inconsistent exports, or brittle scrapers.

> **Prefer usage-based pricing for smaller or variable workloads, or per-client billing?**
> For pay-per-result pricing without a monthly commitment, see the **[Europages Scraper (Pay per Result)](https://apify.com/plowdata/europages-company-scraper-ppr)** version.

---

### 🚀 Built for agencies

This scraper focuses on what agencies actually need: **clean company rows, predictable structure, and data that drops straight into outreach workflows**.

* **One company = one row**
  Results are deduplicated at company level using Europages’ stable company identifiers, so you get a clean dataset — no manual cleanup required.

* **Outreach‑ready data**
  Emails, phone numbers, websites, locations, company size, certificates, and response signals — **flattened for Excel, Google Sheets, or direct CRM imports**.

* **What they actually sell**
  Product names, keywords, and structured portfolio entries make it easy to segment leads and personalize outreach without additional research.

* **Scales beyond Europages’ UI limits**
  An optional *experimental partitioning* mode allows broader searches when Europages’ page limit gets in the way.

* **Built for unattended runs**
  Rate‑limited, resilient, and designed to run reliably on large queries.

* **Clean exports by default**
  Works out of the box with CSV, Excel, JSON, and Apify’s table view.

---

### 🎯 Typical use cases

* **B2B Lead Generation** – Build supplier lists by industry, country, and size
* **Procurement Research** – Identify and compare manufacturers and vendors
* **Market Mapping** – Understand competitive landscapes in specific niches
* **Sales Ops / CRM Enrichment** – Add verified contact and portfolio data
* **Automation Agencies** – Feed Europages data directly into enrichment or outreach pipelines

---

### ⚙️ Input

| Parameter                        |    Type        | Default | Description                                                               |
| -------------------------------- | -------------: | ------: | ------------------------------------------------------------------------- |
| `query`                          |  string        |       — | Search term you’d type on Europages (required).                           |
| `region`                         |  string        |       — | Country filter (alpha‑2, e.g. `DE`, `FR`, `IT`).                          |
| `verifiedOnly`                   | boolean        | `false` | Include only verified Europages companies.                                |
| `maxPages`                       |  number        |       — | Max number of result pages to scrape (Europages hard‑limit ≈ 100).        |
| `enableExperimentalPartitioning` | boolean        | `false` | Attempts to exceed Europages’ page limit. **Advanced / experimental**.    |
| `latitude`                       |  number/string |       — | Center latitude for geo‑radius search (optional).                         |
| `longitude`                      |  number/string |       — | Center longitude for geo‑radius search (optional).                        |
| `radius`                         |  number        |    `50` | Search radius in kilometers. Used only when latitude & longitude are set. |

#### Geo‑radius filtering behavior

* Geo filtering is applied **only if both `latitude` and `longitude` are provided**.
* If only one of `latitude`, `longitude`, or `radius` is set, **no geographic filtering is applied** and a warning is emitted.
* When `latitude` and `longitude` are provided without `radius`, a **default radius of 50 km** is used.

Example:

```json
{
  "query": "CNC machining",
  "region": "DE",
  "latitude": 48.1372,
  "longitude": 11.5756
}
````

***

### 📦 Output: built for spreadsheets & CRMs

Each dataset row represents **one unique company** with flattened, spreadsheet‑friendly fields.

#### ⭐ Recommended columns for outreach

If you just want leads, these columns are usually sufficient:

- `name`
- `website`
- `email`
- `phone`
- `address_countryCode`
- `address_city`
- `tags_employeeCount`
- `tags_supplierTypes`
- `portfolio_productNames`
- `portfolio_productKeywords`

For a complete, field‑by‑field description of all available properties, see the **Detailed output schema** section below.

***

### 🔍 About result counts

Europages sometimes displays **approximate totals** in its UI.

This actor returns **canonical companies**, deduplicated by Europages’ internal company ID. As a result, your final dataset may contain **fewer rows than the UI estimate** — but **no duplicated companies**.

This ensures the dataset represents unique suppliers rather than repeated listings.

***

### 🧪 Experimental partitioning (advanced)

Europages enforces a hard limit of **100 pages per search** (roughly equal to 3000 results).

When `enableExperimentalPartitioning` is enabled, the actor attempts to split the search space using Europages’ own filters (region, supplier type, company size) to collect **larger datasets**.

- May issue significantly more requests
- May generate overlapping queries
- Overlaps are automatically deduplicated

Recommended **only for broad searches**.

***

### 🛡️ Reliability & maintenance

- Automatic retries and rate limiting
- Schema‑validated output
- Continues scraping even if some fields are missing or change shape

If Europages changes their structure, just re‑run and attach the log — fixes are rolled out quickly.

***

### 📘 Detailed output schema

Below is a high‑level explanation of the available output fields. All fields are optional unless stated otherwise.

#### Source & identifiers

- `source` – Always `"europages"`
- `source_companyId` – Stable Europages company ID (primary deduplication key)
- `source_listingId` – Listing‑level identifier (if available)
- `source_epId`, `source_epSlug`, `source_uuid`, `source_slug` – Europages internal references for traceability

#### Core company identity

- `name` – Official company name
- `shortName` – Shortened or alternative company name (if available)
- `description` – Company profile description
- `logoUrl` – Company logo URL

#### Location & geography

- `address` – Full formatted address
- `address_street`, `address_postalCode`, `address_city`, `address_countryCode` – Parsed address components
- `geo_latitude`, `geo_longitude` – Geographic coordinates (if available)

#### Contact channels

- `website` – Company website
- `email` – Public contact email
- `phone` – Public contact phone number

#### Business classification & filters

These fields are especially useful for segmentation and prioritization.

- `tags_supplierTypes` – Supplier / business type labels
- `tags_employeeCount` – Employee count range (as shown on Europages)
- `tags_distributionArea` – Distribution or service area

#### Trust & quality signals

Helpful for lead scoring and prioritization.

- `signals_isCustomer` – Indicates Europages customer status
- `signals_certificatesCount` – Number of certificates
- `signals_responseRate` – Response rate percentage
- `signals_averageResponseTime` – Typical response time
- `signals_foundingYear` – Year the company was founded
- `signals_packageName` – Europages package / tier

#### Portfolio summary

- `portfolio_productCount` – Number of listed products
- `portfolio_productNames` – Flattened list of product names
- `portfolio_productKeywords` – Aggregated product keywords

#### Portfolio products (structured)

Each entry in `portfolio_products` may contain:

- `name` – Product name
- `description` – Product description
- `keywords` – Associated keywords
- `flags_isMatching` – Matches the current search query
- `flags_isShowcased` – Highlighted product
- `imageUrls` – Product images with optional captions

#### Media

- `media` – Images or media assets with title and description

#### Metadata

- `meta.scrapedAt` – Timestamp of the scrape
- `meta.query` – Search query used for this run

***

### 💬 Support

Questions, edge cases, or feature requests?

Open a support ticket or attach a failing run log — we’ll take care of it.

# Actor input Schema

## `query` (type: `string`):

The search query to use for europages search.

## `region` (type: `string`):

Filter the search results by country in (optional). If not provided, searches in all countries.

## `verifiedOnly` (type: `boolean`):

If true, only verified companies will be included in the results. Defaults to false.

## `maxPages` (type: `integer`):

The maximum number of search result pages to process (each contains about 30 entries). If not set, up to 100 pages will be processed (hard limit from europages).

## `enableExperimentalPartitioning` (type: `boolean`):

If enabled, the actor will use attempt to partition the search space to gather more than 100 pages. This is an experimental feature and may not work reliably. Use at your own risk. Defaults to false.

## `latitude` (type: `string`):

The latitude coordinate for location-based searches (optional). (e.g. 50.110924 for Frankfurt am Main)

## `longitude` (type: `string`):

The longitude coordinate for location-based searches (optional). (e.g. 8.682127 for Frankfurt am Main)

## `radius` (type: `string`):

The radius for location-based searches (optional). Defaults to 50km if latitude and longitude are provided.

## Actor input object example

```json
{
  "query": "CNC",
  "verifiedOnly": false,
  "maxPages": 5
}
```

# Actor output Schema

## `companies` (type: `string`):

Extracted companies

# 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 = {
    "query": "CNC",
    "maxPages": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("plowdata/europages-company-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 = {
    "query": "CNC",
    "maxPages": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("plowdata/europages-company-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 '{
  "query": "CNC",
  "maxPages": 5
}' |
apify call plowdata/europages-company-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Europages Scraper – European B2B Supplier Leads",
        "description": "Gather European supplier and manufacturer leads from Europages, europe's leading B2B marketplace with millions of company listings across 35+ countries.\nExtract clean company data including contacts, products, locations, and industry tags - ready for Excel, CSV, JSON, CRM, or automation workflows.",
        "version": "1.0",
        "x-build-id": "Zim9Qb1NQD8n8exdh"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/plowdata~europages-company-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-plowdata-europages-company-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/plowdata~europages-company-scraper/runs": {
            "post": {
                "operationId": "runs-sync-plowdata-europages-company-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/plowdata~europages-company-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-plowdata-europages-company-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",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Query",
                        "type": "string",
                        "description": "The search query to use for europages search."
                    },
                    "region": {
                        "title": "Region",
                        "enum": [
                            "AF",
                            "AX",
                            "AL",
                            "DZ",
                            "AS",
                            "AD",
                            "AO",
                            "AI",
                            "AQ",
                            "AG",
                            "AR",
                            "AM",
                            "AW",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BD",
                            "BB",
                            "BY",
                            "BE",
                            "BZ",
                            "BJ",
                            "BM",
                            "BT",
                            "BO",
                            "BA",
                            "BW",
                            "BV",
                            "BR",
                            "IO",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "KH",
                            "CM",
                            "CA",
                            "CV",
                            "KY",
                            "CF",
                            "TD",
                            "CL",
                            "CN",
                            "CX",
                            "CC",
                            "CO",
                            "KM",
                            "CG",
                            "CD",
                            "CK",
                            "CR",
                            "CI",
                            "HR",
                            "CU",
                            "CY",
                            "CZ",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "ET",
                            "FK",
                            "FO",
                            "FJ",
                            "FI",
                            "FR",
                            "GF",
                            "PF",
                            "TF",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GI",
                            "GR",
                            "GL",
                            "GD",
                            "GP",
                            "GU",
                            "GT",
                            "GG",
                            "GN",
                            "GW",
                            "GY",
                            "HT",
                            "HM",
                            "VA",
                            "HN",
                            "HK",
                            "HU",
                            "IS",
                            "IN",
                            "ID",
                            "IR",
                            "IQ",
                            "IE",
                            "IM",
                            "IL",
                            "IT",
                            "JM",
                            "JP",
                            "JE",
                            "JO",
                            "KZ",
                            "KE",
                            "KI",
                            "KR",
                            "KP",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LY",
                            "LI",
                            "LT",
                            "LU",
                            "MO",
                            "MK",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MH",
                            "MQ",
                            "MR",
                            "MU",
                            "YT",
                            "MX",
                            "FM",
                            "MD",
                            "MC",
                            "MN",
                            "ME",
                            "MS",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NR",
                            "NP",
                            "NL",
                            "AN",
                            "NC",
                            "NZ",
                            "NI",
                            "NE",
                            "NG",
                            "NU",
                            "NF",
                            "MP",
                            "NO",
                            "OM",
                            "PK",
                            "PW",
                            "PS",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PN",
                            "PL",
                            "PT",
                            "PR",
                            "QA",
                            "RE",
                            "RO",
                            "RU",
                            "RW",
                            "BL",
                            "SH",
                            "KN",
                            "LC",
                            "MF",
                            "PM",
                            "VC",
                            "WS",
                            "SM",
                            "ST",
                            "SA",
                            "SN",
                            "RS",
                            "SC",
                            "SL",
                            "SG",
                            "SK",
                            "SI",
                            "SB",
                            "SO",
                            "ZA",
                            "GS",
                            "ES",
                            "LK",
                            "SD",
                            "SR",
                            "SJ",
                            "SZ",
                            "SE",
                            "CH",
                            "SY",
                            "TW",
                            "TJ",
                            "TZ",
                            "TH",
                            "TL",
                            "TG",
                            "TK",
                            "TO",
                            "TT",
                            "TN",
                            "TR",
                            "TM",
                            "TC",
                            "TV",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UM",
                            "UY",
                            "UZ",
                            "VU",
                            "VE",
                            "VN",
                            "VG",
                            "VI",
                            "WF",
                            "EH",
                            "YE",
                            "ZM",
                            "ZW"
                        ],
                        "type": "string",
                        "description": "Filter the search results by country in (optional). If not provided, searches in all countries."
                    },
                    "verifiedOnly": {
                        "title": "Filter by verified companies only",
                        "type": "boolean",
                        "description": "If true, only verified companies will be included in the results. Defaults to false.",
                        "default": false
                    },
                    "maxPages": {
                        "title": "Maximum number of Pages",
                        "minimum": 1,
                        "type": "integer",
                        "description": "The maximum number of search result pages to process (each contains about 30 entries). If not set, up to 100 pages will be processed (hard limit from europages)."
                    },
                    "enableExperimentalPartitioning": {
                        "title": "Enable partitioning (experimental)",
                        "type": "boolean",
                        "description": "If enabled, the actor will use attempt to partition the search space to gather more than 100 pages. This is an experimental feature and may not work reliably. Use at your own risk. Defaults to false."
                    },
                    "latitude": {
                        "title": "Latitude",
                        "type": "string",
                        "description": "The latitude coordinate for location-based searches (optional). (e.g. 50.110924 for Frankfurt am Main)"
                    },
                    "longitude": {
                        "title": "Longitude",
                        "type": "string",
                        "description": "The longitude coordinate for location-based searches (optional). (e.g. 8.682127 for Frankfurt am Main)"
                    },
                    "radius": {
                        "title": "Radius for Location based searches",
                        "enum": [
                            "10km",
                            "25km",
                            "50km",
                            "75km",
                            "100km",
                            "125km",
                            "250km"
                        ],
                        "type": "string",
                        "description": "The radius for location-based searches (optional). Defaults to 50km if latitude and longitude are provided."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
