# Germany Handelsregister Scraper (`automation-lab/germany-handelsregister-scraper`) Actor

Search the official German Handelsregister and export company names, court, HRB/HRA number, seat, status, history, and document metadata.

- **URL**: https://apify.com/automation-lab/germany-handelsregister-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Business
- **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

## Germany Handelsregister Scraper

Extract structured company-search results from the official German Handelsregister portal.

### What does Germany Handelsregister Scraper do?

Germany Handelsregister Scraper searches the public Registerportal der Länder at `handelsregister.de` and turns visible result rows into clean dataset records.

It supports company-name keyword searches and exact register-number lookups for HRB, HRA, VR, GnR, PR, and GsR entries.

### Who is it for?

- 🧾 KYB and AML teams checking German counterparties.
- 🏦 Credit-risk analysts screening company identifiers.
- 🕵️ Corporate-intelligence teams mapping register courts and historical names.
- 🤝 B2B sales operations teams validating legal company names.
- ⚖️ Legal and compliance researchers collecting repeatable public-register evidence.

### Why use this scraper?

The Handelsregister web UI is built around JSF forms, sessions, and paginated result tables. This actor automates that flow and exports a dataset that can be filtered, joined, and imported into due-diligence systems.

### What data can it extract?

| Field | Description |
| --- | --- |
| query | Company name, keyword, or register-number label searched |
| queryType | `companyName` or `registerNumber` |
| resultRank | Rank within the query |
| companyName | Company or register entry name |
| federalState | German federal state shown by the portal |
| registerCourt | Amtsgericht / register court |
| registerType | HRB, HRA, VR, GnR, PR, or GsR |
| registerNumber | Register number |
| formerCourtOrLocalCode | Additional legacy/local code when visible |
| seat | Company seat/location |
| status | Current/deleted status shown by the portal |
| historyNames | Historical names visible in the result row |
| historySeats | Historical seats visible in the result row |
| availableDocumentTypes | Public action codes such as AD, CD, HD, DK, UT, VÖ, SI |
| sourceUrl | Result page URL |
| retrievedAt | ISO timestamp |

### How much does it cost to scrape Germany Handelsregister company data?

This actor uses pay-per-event pricing: a $0.005 start fee plus one charge for each saved company result. Current item pricing is tiered by Apify plan: FREE about $0.000188/item, BRONZE about $0.000163/item, SILVER about $0.000127/item, GOLD about $0.000098/item, PLATINUM about $0.000065/item, and DIAMOND about $0.000046/item.

Example cost estimates: a 10-result KYB lookup is about $0.0069 on FREE or $0.0066 on BRONZE; a 50-result monitoring batch is about $0.0144 on FREE or $0.0132 on BRONZE before any platform-level rounding or plan-specific billing display. The free Apify plan can run small checks, but larger due-diligence batches should set a clear `maxResults` limit and review the run estimate in Apify Console.

### Input: company names

Use `companyNames` when you have names or keywords:

```json
{
  "companyNames": ["Siemens", "Bosch"],
  "maxResults": 50
}
````

### Input: register numbers

Use `registerNumbers` when you know the register identifier:

```json
{
  "registerNumbers": [
    {
      "registerType": "HRB",
      "registerNumber": "174601",
      "registerCourt": "München",
      "queryLabel": "HRB 174601 München"
    }
  ],
  "maxResults": 5
}
```

### Input options

- `companyNames` — German company names or keywords.
- `registerNumbers` — exact register-number lookup objects.
- `maxResults` — maximum dataset records across all searches.
- `exactCompanyName` — use the portal's exact-name mode.
- `searchSeat` — optional seat/location filter.
- `registerCourt` — optional default register court.
- `includeDeleted` — include closed/deleted register sheets.
- `resultsPerPage` — requested portal page size.
- `navigationDelayMs` — advanced delay for slow JSF navigation.

### Output example

```json
{
  "query": "Siemens",
  "queryType": "companyName",
  "resultRank": 1,
  "companyName": "\"Siemens-Sportverein Wesel e. V.\"",
  "federalState": "Nordrhein-Westfalen",
  "registerCourt": "Amtsgericht Duisburg",
  "registerType": "VR",
  "registerNumber": "30227",
  "seat": "Wesel",
  "status": "aktuell",
  "availableDocumentTypes": ["AD", "CD", "HD", "UT", "VÖ", "SI"],
  "sourceUrl": "https://www.handelsregister.de/rp_web/sucheErgebnisse/welcome.xhtml?cid=1",
  "retrievedAt": "2026-07-08T05:14:56.562Z"
}
```

### How to run it

1. Add one or more company names or register-number objects.
2. Set `maxResults` to the number of rows you need.
3. Run the actor.
4. Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.

### Tips for better results

- Use exact register-number lookup when you already know the HRB/HRA number.
- Add `registerCourt` to reduce ambiguous results.
- Use `exactCompanyName` for legal-name checks.
- Keep `maxResults` conservative for first tests.
- Increase `navigationDelayMs` only if the portal is slow.

### What the document codes mean

The actor records public action-code availability as metadata:

- AD — Aktueller Abdruck
- CD — Chronologischer Abdruck
- HD — Historischer Abdruck
- DK — Dokumentenansicht
- UT — Unternehmensträger
- VÖ — Veröffentlichungen
- SI — Strukturierter Registerinhalt

### Current scope

The v1 actor extracts the public search/result row data visible without login. It does not download register documents or printouts. Document download support can be added later if the free/public path is validated safely.

### Integrations

Use the output dataset in:

- CRM enrichment pipelines.
- AML/KYB screening queues.
- Credit-risk research notebooks.
- Procurement due-diligence workflows.
- Data warehouses such as BigQuery, Snowflake, or PostgreSQL.

### API usage: Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/germany-handelsregister-scraper').call({
  companyNames: ['Siemens'],
  maxResults: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

### API usage: Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/germany-handelsregister-scraper').call(run_input={
    'companyNames': ['Siemens'],
    'maxResults': 25,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

### API usage: cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~germany-handelsregister-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"companyNames":["Siemens"],"maxResults":25}'
```

### MCP usage with Claude

Connect through Apify MCP using the actor-specific tools URL:

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

Claude Code setup example:

```bash
claude mcp add apify-handelsregister --transport http "https://mcp.apify.com/?tools=automation-lab/germany-handelsregister-scraper"
```

Claude Desktop JSON configuration example:

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

Example prompts showing MCP usage:

- "Use the Germany Handelsregister scraper to find entries for Siemens and return HRB/HRA identifiers."
- "Run the Apify MCP germany-handelsregister-scraper tool for Bosch and give me court, register number, seat, and status."
- "Check this German company name with the Apify MCP tool and summarize court, number, seat, and status."
- "Export Handelsregister result rows for these KYB targets, then flag entries with deleted status."

### Legality and ethical notes

This actor accesses publicly available Handelsregister pages. You are responsible for using the data lawfully, respecting applicable privacy and database rules, and avoiding abusive request volumes.

### Reliability notes

The official portal uses JSF/PrimeFaces state. The actor keeps concurrency conservative and uses one browser session to reduce ViewState failures.

### Troubleshooting: no results

Check spelling, try a broader keyword, remove the court filter, or disable `exactCompanyName`.

### Troubleshooting: slow runs

The Handelsregister portal can be slow. Lower `maxResults` or increase `navigationDelayMs` if navigation is unstable.

### Related scrapers

- https://apify.com/automation-lab/bundesanzeiger-filings-scraper

### Changelog

#### 0.1

Initial private build for Germany Handelsregister company result extraction.

### FAQ

#### Does it download official register PDFs?

No. v1 records which public document actions are available but does not download AD/CD/HD/DK/UT/VÖ/SI files.

#### Can I search by HRB number?

Yes. Use `registerNumbers` with `registerType`, `registerNumber`, and optionally `registerCourt`.

#### Can I include deleted companies?

Yes. Set `includeDeleted` to true.

#### Is a login required?

No login is required for the public search-result metadata extracted by this actor.

#### Why are results capped?

The `maxResults` cap keeps runs predictable and helps control cost.

### Support

If you need additional fields or document-download support, open an issue on the actor page with an example company and the fields you need.

# Actor input Schema

## `companyNames` (type: `array`):

German company names or keywords to search in the normal Handelsregister search form.

## `registerNumbers` (type: `array`):

Optional exact register-number lookups. Use when you already know an HRB/HRA/VR/GnR/PR/GsR number.

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

Maximum dataset rows to save across all searches.

## `exactCompanyName` (type: `boolean`):

Use the portal's exact company-name option instead of all-keywords search.

## `searchSeat` (type: `string`):

Optional Niederlassung / Sitz filter.

## `registerCourt` (type: `string`):

Optional court filter applied to company-name searches and register-number entries without their own court.

## `includeDeleted` (type: `boolean`):

Enable the portal option for closed register sheets or deleted branch offices.

## `resultsPerPage` (type: `integer`):

Requested page size on the Handelsregister result page. The portal may still paginate at its own limit.

## `navigationDelayMs` (type: `integer`):

Extra delay after JSF navigation. Increase only if the portal is slow.

## Actor input object example

```json
{
  "companyNames": [
    "Siemens",
    "Bosch"
  ],
  "registerNumbers": [
    {
      "registerType": "HRB",
      "registerNumber": "12300",
      "registerCourt": "Berlin (Charlottenburg)",
      "queryLabel": "HRB 12300 Berlin"
    }
  ],
  "maxResults": 20,
  "exactCompanyName": false,
  "includeDeleted": false,
  "resultsPerPage": 10,
  "navigationDelayMs": 750
}
```

# 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 = {
    "companyNames": [
        "Siemens",
        "Bosch"
    ],
    "registerNumbers": [
        {
            "registerType": "HRB",
            "registerNumber": "12300",
            "registerCourt": "Berlin (Charlottenburg)",
            "queryLabel": "HRB 12300 Berlin"
        }
    ],
    "maxResults": 20,
    "resultsPerPage": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/germany-handelsregister-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 = {
    "companyNames": [
        "Siemens",
        "Bosch",
    ],
    "registerNumbers": [{
            "registerType": "HRB",
            "registerNumber": "12300",
            "registerCourt": "Berlin (Charlottenburg)",
            "queryLabel": "HRB 12300 Berlin",
        }],
    "maxResults": 20,
    "resultsPerPage": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/germany-handelsregister-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 '{
  "companyNames": [
    "Siemens",
    "Bosch"
  ],
  "registerNumbers": [
    {
      "registerType": "HRB",
      "registerNumber": "12300",
      "registerCourt": "Berlin (Charlottenburg)",
      "queryLabel": "HRB 12300 Berlin"
    }
  ],
  "maxResults": 20,
  "resultsPerPage": 10
}' |
apify call automation-lab/germany-handelsregister-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Germany Handelsregister Scraper",
        "description": "Search the official German Handelsregister and export company names, court, HRB/HRA number, seat, status, history, and document metadata.",
        "version": "0.1",
        "x-build-id": "JU16cfklbGqsOeJ7m"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~germany-handelsregister-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-germany-handelsregister-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~germany-handelsregister-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-germany-handelsregister-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~germany-handelsregister-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-germany-handelsregister-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": {
                    "companyNames": {
                        "title": "🏢 Company names or keywords",
                        "type": "array",
                        "description": "German company names or keywords to search in the normal Handelsregister search form.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "registerNumbers": {
                        "title": "# Register numbers",
                        "type": "array",
                        "description": "Optional exact register-number lookups. Use when you already know an HRB/HRA/VR/GnR/PR/GsR number.",
                        "items": {
                            "type": "object",
                            "required": [
                                "registerNumber"
                            ],
                            "properties": {
                                "registerType": {
                                    "type": "string",
                                    "enum": [
                                        "HRA",
                                        "HRB",
                                        "GnR",
                                        "PR",
                                        "VR",
                                        "GsR"
                                    ],
                                    "title": "Register type",
                                    "description": "Register category such as HRB or HRA.",
                                    "editor": "select"
                                },
                                "registerNumber": {
                                    "type": "string",
                                    "title": "Register number",
                                    "description": "The numeric register identifier without the register type prefix.",
                                    "editor": "textfield"
                                },
                                "registerCourt": {
                                    "type": "string",
                                    "title": "Register court",
                                    "description": "Court label as displayed on handelsregister.de, e.g. München or Berlin (Charlottenburg).",
                                    "editor": "textfield"
                                },
                                "queryLabel": {
                                    "type": "string",
                                    "title": "Query label",
                                    "description": "Optional label stored in the output query field.",
                                    "editor": "textfield"
                                }
                            }
                        }
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum dataset rows to save across all searches.",
                        "default": 20
                    },
                    "exactCompanyName": {
                        "title": "Exact company-name mode",
                        "type": "boolean",
                        "description": "Use the portal's exact company-name option instead of all-keywords search.",
                        "default": false
                    },
                    "searchSeat": {
                        "title": "Seat / location filter",
                        "type": "string",
                        "description": "Optional Niederlassung / Sitz filter."
                    },
                    "registerCourt": {
                        "title": "Default register court",
                        "type": "string",
                        "description": "Optional court filter applied to company-name searches and register-number entries without their own court."
                    },
                    "includeDeleted": {
                        "title": "Include closed/deleted register sheets",
                        "type": "boolean",
                        "description": "Enable the portal option for closed register sheets or deleted branch offices.",
                        "default": false
                    },
                    "resultsPerPage": {
                        "title": "Results per portal page",
                        "minimum": 10,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Requested page size on the Handelsregister result page. The portal may still paginate at its own limit.",
                        "default": 10
                    },
                    "navigationDelayMs": {
                        "title": "Navigation delay (ms)",
                        "minimum": 0,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Extra delay after JSF navigation. Increase only if the portal is slow.",
                        "default": 750
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
