# France Pappers + BODACC + INPI Scraper (`jungle_synthesizer/france-pappers-bodacc-inpi-scraper`) Actor

Unified French company data: SIREN/SIRET + BODACC announcements + INPI beneficial owners + actes + financials. Replaces Société.com Pro and 5 fragmented actors. KYC/KYB and B2B leads.

- **URL**: https://apify.com/jungle\_synthesizer/france-pappers-bodacc-inpi-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business, Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

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

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

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

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

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

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

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


# README

## France Pappers + BODACC + INPI Scraper

Scrape unified French company data from four official sources in a single run: [Recherche Entreprises](https://recherche-entreprises.api.gouv.fr/), [BODACC](https://bodacc-datadila.opendatasoft.com/), [INPI RNE](https://data.inpi.fr/), and [Pappers](https://pappers.fr/). Returns SIREN/SIRET identifiers, legal officers, revenue figures, and legal announcement history for any of the 26 million French companies on record.

---

### France Pappers + BODACC + INPI Scraper Features

- Searches by company name, SIREN/SIRET, NAF/APE industry code, or director name
- Returns canonical Sirene data: legal name, legal form, NAF code, incorporation date, registered address, employee band
- Extracts up to 15 officers (dirigeants) per company with role and birth year
- Pulls revenue and net income from the most recent fiscal year — no Pappers key required for this
- Fetches BODACC legal announcements for a configurable lookback window (1–10 years): insolvencies, acquisitions, capital changes, accounts filed
- Flags `has_insolvency` and `has_acquisition` as booleans for instant screening
- Optional Pappers integration: supply an API key to add EBITDA, total assets, equity, and beneficial owners
- Pure API scraping — no browser, no proxy, no Cloudflare to fight
- Outputs one flat record per company, ready for KYC/KYB pipelines and CRM ingestion

---

### Who Uses French Registry Data?

- **KYC/KYB analysts** — screen counterparties against BODACC for insolvency proceedings before onboarding
- **B2B sales teams** — filter active companies by NAF code and revenue, feed into outreach sequences
- **M&A and due-diligence teams** — retrieve officer lists, capital history, and BODACC acquisition filings
- **Compliance and legal teams** — monitor corporate clients for modifications, liquidations, and new insolvency filings
- **Researchers and journalists** — trace company structures, beneficial ownership, and historical legal events
- **Data engineers** — replace a Societe.com Pro subscription or a chain of five separate Apify actors with one output schema

---

### How France Pappers + BODACC + INPI Scraper Works

1. Input a query — company name, SIREN, NAF code, or director name — and choose how many records to fetch.
2. The actor searches Recherche Entreprises, which aggregates Sirene, RNE, and financial data across all 26M French companies.
3. For each matching company, it optionally fetches BODACC announcements filtered to your lookback window and SIREN.
4. If you supply a Pappers API key, it enriches each record with EBITDA, total assets, and beneficial owner data.

---

### Input

```json
{
  "mode": "by_name",
  "query": "TotalEnergies SE",
  "includeBodacc": true,
  "bodaccLookbackYears": 3,
  "includePappersFinancials": false,
  "pappersApiKey": "",
  "maxItems": 10
}
````

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `mode` | string | `by_name` | Query mode: `by_name`, `by_siren`, `by_naf_code`, `by_director_name` |
| `query` | string | `TotalEnergies SE` | Company name, 9-digit SIREN, 14-digit SIRET, NAF code (e.g. `6201Z`), or director name |
| `includeBodacc` | boolean | `true` | Fetch BODACC legal announcements for each company |
| `bodaccLookbackYears` | integer | `3` | Years of BODACC history to include (1-10) |
| `includePappersFinancials` | boolean | `false` | Enrich with Pappers premium financials and beneficial owners |
| `pappersApiKey` | string | — | Pappers API token. Required when `includePappersFinancials` is `true`. Free tier at pappers.fr |
| `maxItems` | integer | `10` | Maximum companies to return |

**By SIREN lookup:**

```json
{
  "mode": "by_siren",
  "query": "542051180",
  "includeBodacc": true,
  "maxItems": 1
}
```

**By NAF code (industry):**

```json
{
  "mode": "by_naf_code",
  "query": "6201Z",
  "includeBodacc": false,
  "maxItems": 25
}
```

***

### France Pappers + BODACC + INPI Output Fields

```json
{
  "siren": "542051180",
  "siret": "54205118000066",
  "legal_name": "TOTALENERGIES SE",
  "trade_name": "",
  "legal_form": "5800",
  "naf_ape_code": "7010Z",
  "naf_description": "Professional, scientific and technical activities",
  "status": "A",
  "incorporation_date": "1954-01-01",
  "cessation_date": null,
  "registered_address": "2 PLACE JEAN MILLIER LA DEFENSE 6 92400 COURBEVOIE",
  "employees_range": "51",
  "employees_year": 2023,
  "category": "GE",
  "dirigeants": [
    "POUYANNE PATRICK — (President du conseil d'administration et directeur general) — born 1963",
    "ASCHENBROICH JACQUES ANDRE — (Administrateur) — born 1954"
  ],
  "revenue_eur": 214550000000,
  "net_income_eur": 16031000000,
  "fiscal_year": "2024",
  "has_filed_accounts": true,
  "bodacc_count": 17,
  "bodacc_announcements": [
    "2026-04-02 | Avis initial | Greffe du TAE de Nanterre | Modification survenue sur l'administration.",
    "2025-11-18 | Avis initial | Greffe du TAE de Nanterre | Modification survenue sur le capital."
  ],
  "has_insolvency": false,
  "has_acquisition": false,
  "pappers_ebitda_eur": null,
  "pappers_total_assets_eur": null,
  "pappers_equity_eur": null,
  "pappers_beneficial_owners": [],
  "source_url": "https://recherche-entreprises.api.gouv.fr/search?q=542051180"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `siren` | string | 9-digit SIREN — canonical French company identifier |
| `siret` | string | 14-digit SIRET of the head office |
| `legal_name` | string | Legal company name (raison sociale) |
| `trade_name` | string | Trade name or acronym (sigle) |
| `legal_form` | string | Legal form code |
| `naf_ape_code` | string | NAF/APE industry code |
| `naf_description` | string | Industry section label |
| `status` | string | `A` (active) or `C` (ceased) |
| `incorporation_date` | string | YYYY-MM-DD |
| `cessation_date` | string or null | YYYY-MM-DD if closed |
| `registered_address` | string | Full registered address |
| `employees_range` | string | INSEE employee band code |
| `employees_year` | number | Reference year for employee band |
| `category` | string | Company size: PME, ETI, GE, or empty |
| `dirigeants` | string\[] | Officers: `NAME (role) — born YYYY` |
| `revenue_eur` | number | Most recent annual revenue (EUR) |
| `net_income_eur` | number | Most recent annual net income (EUR) |
| `fiscal_year` | string | Year of the most recent financial data |
| `has_filed_accounts` | boolean | True if BODACC depot de comptes found |
| `bodacc_count` | number | Total BODACC announcements in lookback window |
| `bodacc_announcements` | string\[] | `DATE \| TYPE \| COURT \| SUMMARY` per row |
| `has_insolvency` | boolean | True if collective proceedings found |
| `has_acquisition` | boolean | True if business sale/acquisition found |
| `pappers_ebitda_eur` | number | EBITDA from Pappers (requires key) |
| `pappers_total_assets_eur` | number | Total assets from Pappers (requires key) |
| `pappers_equity_eur` | number | Equity from Pappers (requires key) |
| `pappers_beneficial_owners` | string\[] | Beneficial owners from Pappers (requires key) |
| `source_url` | string | Source API URL |

***

### FAQ

#### What data sources does this scraper use?

It combines four sources. Recherche Entreprises is the primary source — it aggregates INSEE Sirene and INPI RNE into a single free API. BODACC is the official Journal of Legal Announcements, published by the Prime Minister's office. Pappers is an optional private enrichment layer requiring a paid API key.

#### Do I need any API keys?

No. The primary data (Sirene, RNE, BODACC) comes from free government APIs that require no registration. The Pappers integration is optional and only activates when you provide a key.

#### What is the `employees_range` field?

It is the INSEE tranche d'effectif code. Code `21` means 50-99 employees, code `51` means 10,000 or more. The full table is available from INSEE.

#### How do I find companies by industry sector?

Use `mode: by_naf_code` with a NAF/APE code. The actor accepts both dot format (`62.01Z`) and compact format (`6201Z`).

#### Can I use this for KYC screening?

The BODACC data covers collective proceedings (insolvency, liquidation, safeguard procedures) and is the official record for French legal announcements. The `has_insolvency` field is a fast screening flag. For full KYC compliance, supplement with `pappers_beneficial_owners` via a Pappers key.

#### How current is the data?

Recherche Entreprises syncs daily from Sirene and RNE. BODACC publishes new announcements every business day. There is no cached or stale layer.

***

### Need More Features?

Open a request at <actor-support@orbtop.com> to request NAF-code bulk export, INPI actes PDF download, or historical Sirene snapshots.

### Why Use France Pappers + BODACC + INPI Scraper?

- **Four sources, one schema** — no stitching together recherche-entreprises-scraper, bodacc-announcements-scraper, and pappers-sirene-scraper on your own
- **Government data, not a scrape** — primary sources are official public APIs; no HTML parsing, no rate-limit battles
- **BODACC insolvency flags** — `has_insolvency` and `has_acquisition` as top-level booleans make screening trivial
- **Revenue without a Pappers key** — Recherche Entreprises includes annual revenue from RNE filings, covering most large and mid-cap companies
- **KYC-ready output schema** — flat records, consistent field names, array fields as formatted strings

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `mode` (type: `string`):

No description

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

Company name, SIREN (9 digits), SIRET (14 digits), director name, or NAF/APE code (e.g. 6201Z).

## `includeBodacc` (type: `boolean`):

Fetch legal announcements (modifications, accounts filed, insolvencies, acquisitions) from BODACC for each company.

## `bodaccLookbackYears` (type: `integer`):

Number of years of BODACC history to include (1-10).

## `includePappersFinancials` (type: `boolean`):

Requires a Pappers API key. Adds detailed financials: EBITDA, total assets, equity, beneficial owners.

## `pappersApiKey` (type: `string`):

Required only when Include Pappers Financials is enabled. Free tier available at pappers.fr.

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

Maximum number of company records to return.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "by_name",
  "query": "TotalEnergies SE",
  "includeBodacc": true,
  "bodaccLookbackYears": 3,
  "maxItems": 10
}
```

# Actor output Schema

## `results` (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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "by_name",
    "query": "TotalEnergies SE",
    "includeBodacc": true,
    "bodaccLookbackYears": 3,
    "includePappersFinancials": false,
    "pappersApiKey": "",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/france-pappers-bodacc-inpi-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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "mode": "by_name",
    "query": "TotalEnergies SE",
    "includeBodacc": True,
    "bodaccLookbackYears": 3,
    "includePappersFinancials": False,
    "pappersApiKey": "",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/france-pappers-bodacc-inpi-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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "mode": "by_name",
  "query": "TotalEnergies SE",
  "includeBodacc": true,
  "bodaccLookbackYears": 3,
  "includePappersFinancials": false,
  "pappersApiKey": "",
  "maxItems": 10
}' |
apify call jungle_synthesizer/france-pappers-bodacc-inpi-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "France Pappers + BODACC + INPI Scraper",
        "description": "Unified French company data: SIREN/SIRET + BODACC announcements + INPI beneficial owners + actes + financials. Replaces Société.com Pro and 5 fragmented actors. KYC/KYB and B2B leads.",
        "version": "0.1",
        "x-build-id": "lIHeLxUBAdphuYORc"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~france-pappers-bodacc-inpi-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-france-pappers-bodacc-inpi-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/jungle_synthesizer~france-pappers-bodacc-inpi-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-france-pappers-bodacc-inpi-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/jungle_synthesizer~france-pappers-bodacc-inpi-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-france-pappers-bodacc-inpi-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": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "mode": {
                        "title": "Query Mode",
                        "enum": [
                            "by_name",
                            "by_siren",
                            "by_naf_code",
                            "by_director_name"
                        ],
                        "type": "string",
                        "description": ""
                    },
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Company name, SIREN (9 digits), SIRET (14 digits), director name, or NAF/APE code (e.g. 6201Z)."
                    },
                    "includeBodacc": {
                        "title": "Include BODACC Announcements",
                        "type": "boolean",
                        "description": "Fetch legal announcements (modifications, accounts filed, insolvencies, acquisitions) from BODACC for each company."
                    },
                    "bodaccLookbackYears": {
                        "title": "BODACC Lookback Years",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of years of BODACC history to include (1-10).",
                        "default": 3
                    },
                    "includePappersFinancials": {
                        "title": "Include Pappers Financial Data",
                        "type": "boolean",
                        "description": "Requires a Pappers API key. Adds detailed financials: EBITDA, total assets, equity, beneficial owners."
                    },
                    "pappersApiKey": {
                        "title": "Pappers API Key (optional)",
                        "type": "string",
                        "description": "Required only when Include Pappers Financials is enabled. Free tier available at pappers.fr."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of company records to return.",
                        "default": 10
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
