# Brazil CNPJ Receita Federal Scraper (`jungle_synthesizer/brazil-cnpj-receita-federal-crawler`) Actor

Bulk scraper for Brazilian companies (CNPJ) from Receita Federal's open registry. Filter by state, CNAE industry code, municipality, legal form, or partner CPF. Returns full registry data with partners (QSA), addresses, and tax flags.

- **URL**: https://apify.com/jungle\_synthesizer/brazil-cnpj-receita-federal-crawler.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 4 total users, 2 monthly users, 98.8% 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

## Brazil CNPJ Receita Federal Scraper

Scrape Brazilian companies (CNPJ) from Receita Federal's open registry via [minhareceita.org](https://minhareceita.org), the community mirror that refreshes monthly from the government bulk dumps. Returns the full company record — legal name, trade name, address, partners (QSA), CNAE industry codes, tax-regime flags, and registration status — across all 55M+ active CNPJs.

---

### Brazil CNPJ Receita Federal Scraper Features

- Looks up a single CNPJ or paginates the registry by filter.
- Filters by state (UF), CNAE industry code, IBGE municipality, legal form, or partner CPF — alone or combined.
- Returns 40+ fields per company, including the QSA partner list and tax-regime flags most enrichment APIs gate behind a paywall.
- Flags MEI (micro-entrepreneur), Simples Nacional, and public-sector entities so you can segment the file before it leaves the run.
- Pure JSON API — no browser, no proxy, no captcha. Hard to break.
- Uses the upstream cursor pagination directly, so it does not skip records the way offset-based scrapers do once you cross the 10k mark.

---

### Who Uses Brazil CNPJ Data?

- **B2B prospecting teams** — Pull every company in a CNAE + state combo, drop it into a CRM, and stop buying lead lists.
- **Fintechs and KYC providers** — Verify a customer's CNPJ against the registry and capture the partner network for AML screening.
- **Tax consultancies** — Filter by Simples Nacional opt-ins or specific tax regimes to find the firms whose books you actually want.
- **Trade-credit insurers** — Pre-fill underwriting workflows with status, capital, opening date, and partner data without paying per-call enrichment fees.
- **Researchers and journalists** — Map ownership chains by partner CPF — Receita already masks the CPFs (`***123456**`), so the field is safe to surface.

---

### How Brazil CNPJ Receita Federal Scraper Works

1. Pick a mode. Either supply one CNPJ for a direct lookup, or set at least one filter (UF, CNAE, municipality, legal form, or partner CPF) for a bulk crawl.
2. The scraper hits `minhareceita.org`. For bulk runs it walks the cursor-paginated search until it has `maxItems` records or the cursor runs out.
3. Each upstream record is flattened into the dataset schema below. Nested objects become formatted strings; arrays of objects become lists of human-readable strings; CPFs stay masked.
4. Results stream into the Apify dataset. Stop the run any time — the records already in the dataset are yours.

---

### Input

```json
{
  "uf": "SP",
  "cnae": "6209100",
  "pageSize": 100,
  "maxItems": 1000
}
````

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `cnpj` | string | `""` | A single 14-digit CNPJ (dots, slashes, dashes ignored). Overrides every search filter. |
| `uf` | string | `"DF"` | Two-letter Brazilian state code (`SP`, `RJ`, `DF`…). Set to empty for any state. |
| `cnae` | string | `""` | CNAE code (matches both primary and secondary activities). Example: `6209100` (IT support). |
| `municipio` | string | `""` | IBGE or SIAFI municipal code, digits only. Example: `5300108` (Brasília). |
| `naturezaJuridica` | string | `""` | Legal-form code. Example: `2135` (Empresário Individual). |
| `partnerCpf` | string | `""` | Partner CPF/CNPJ in the masked Receita format (`***123456**` for CPF). Use this to find every company an individual sits on. |
| `pageSize` | integer | `100` | Records per upstream API page (1–1000). Larger pages are faster but use more memory. |
| `maxItems` | integer | `50` | Maximum records the run will save across all queries. |

Bulk-search mode requires at least one of `uf`, `cnae`, `municipio`, `naturezaJuridica`, or `partnerCpf`. The upstream API times out on no-filter queries — the scraper rejects them up front so you do not pay for a dead run.

#### Single-CNPJ lookup

```json
{
  "cnpj": "00.000.000/0001-91",
  "maxItems": 1
}
```

#### Find every IT support company in São Paulo

```json
{
  "uf": "SP",
  "cnae": "6209100",
  "maxItems": 5000
}
```

#### Pull every MEI in a city

```json
{
  "municipio": "5300108",
  "naturezaJuridica": "2135",
  "maxItems": 1000
}
```

***

### Brazil CNPJ Receita Federal Scraper Output Fields

```json
{
  "cnpj": "00000000000191",
  "razao_social": "BANCO DO BRASIL SA",
  "nome_fantasia": "DIRECAO GERAL",
  "matriz_filial": "MATRIZ",
  "situacao_cadastral": "ATIVA",
  "situacao_cadastral_motivo": "SEM MOTIVO",
  "data_situacao_cadastral": "2005-11-03",
  "data_abertura": "1966-08-01",
  "cnae_principal_codigo": "6422100",
  "cnae_principal_descricao": "Bancos múltiplos, com carteira comercial",
  "cnaes_secundarios": ["6499999 — Outras atividades de serviços financeiros"],
  "natureza_juridica_codigo": "2038",
  "natureza_juridica": "Sociedade de Economia Mista",
  "porte": "DEMAIS",
  "capital_social": 120000000000,
  "logradouro": "QUADRA SAUN QUADRA 5 BLOCO B TORRE I, II, III",
  "numero": "SN",
  "complemento": "ANDAR T I SL S101 A S1602",
  "bairro": "ASA NORTE",
  "municipio": "BRASILIA",
  "uf": "DF",
  "cep": "70040912",
  "pais": "",
  "telefone1": "6134939002",
  "telefone2": "",
  "fax": "6134931040",
  "email": "secex@bb.com.br",
  "simples_nacional": false,
  "data_opcao_simples": "2007-07-01",
  "data_exclusao_simples": "2007-07-01",
  "mei": false,
  "data_opcao_mei": "2009-07-01",
  "data_exclusao_mei": "2009-07-01",
  "regime_tributario": ["LUCRO REAL (2020)", "LUCRO REAL (2021)"],
  "ente_federativo": "",
  "orgao_publico": false,
  "qsa": ["TARCIANA PAULA GOMES MEDEIROS — Presidente — id: ***128734** — entry: 2023-01-26"],
  "qsa_count": 42,
  "ultima_atualizacao": "",
  "source_url": "https://minhareceita.org/00000000000191"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `cnpj` | string | 14-digit CNPJ — Brazil's company tax/registry ID. |
| `razao_social` | string | Legal name of the company. |
| `nome_fantasia` | string | Trade name (DBA). |
| `matriz_filial` | string | `MATRIZ` (head office) or `FILIAL` (branch). |
| `situacao_cadastral` | string | `ATIVA`, `SUSPENSA`, `INAPTA`, `BAIXADA`, or `NULA`. |
| `situacao_cadastral_motivo` | string | Reason text for the current status. |
| `data_situacao_cadastral` | string | Date the status took effect (YYYY-MM-DD). |
| `data_abertura` | string | Date the company started operating (YYYY-MM-DD). |
| `cnae_principal_codigo` | string | Primary CNAE industry code. |
| `cnae_principal_descricao` | string | Primary CNAE description. |
| `cnaes_secundarios` | string\[] | Secondary CNAE codes formatted as `CODE — Description`. |
| `natureza_juridica_codigo` | string | Legal-form code. |
| `natureza_juridica` | string | Legal-form description. |
| `porte` | string | Size class: `MICRO EMPRESA`, `EPP`, `DEMAIS`. |
| `capital_social` | number | Declared capital in BRL. |
| `logradouro` | string | Street address line, prefixed with the type (e.g. `AVENIDA Brasil`). |
| `numero` | string | Street number. |
| `complemento` | string | Suite, floor, room. |
| `bairro` | string | Neighborhood. |
| `municipio` | string | City name. |
| `uf` | string | Two-letter state code. |
| `cep` | string | Postal code (8 digits). |
| `pais` | string | Country (only when registered abroad). |
| `telefone1` | string | Primary phone (DDD + number, concatenated). |
| `telefone2` | string | Secondary phone. |
| `fax` | string | Fax number. |
| `email` | string | Contact email reported to Receita Federal. |
| `simples_nacional` | boolean | Opted into Simples Nacional. |
| `data_opcao_simples` | string | Simples Nacional opt-in date. |
| `data_exclusao_simples` | string | Simples Nacional opt-out date. |
| `mei` | boolean | MEI (Micro Empreendedor Individual). |
| `data_opcao_mei` | string | MEI opt-in date. |
| `data_exclusao_mei` | string | MEI opt-out date. |
| `regime_tributario` | string\[] | Tax regimes by year (`LUCRO REAL (2020)`, `SIMPLES (2021)`…). |
| `ente_federativo` | string | Federative entity (only on public-sector CNPJs). |
| `orgao_publico` | boolean | True when the legal-form code identifies a public-sector body. |
| `qsa` | string\[] | Partner list. Each entry is `NAME — ROLE — id: ***123456** — entry: YYYY-MM-DD`. CPFs are pre-masked by Receita Federal. |
| `qsa_count` | number | Number of partners. |
| `ultima_atualizacao` | string | Upstream record's last-updated timestamp (when present). |
| `source_url` | string | Direct upstream URL for the record. |

***

### FAQ

#### How do I scrape Brazilian companies by CNAE and state?

Brazil CNPJ Receita Federal Scraper takes a `uf` plus a `cnae` and walks every match through the registry. A São Paulo IT-support sweep is `{ "uf": "SP", "cnae": "6209100" }`. The cursor pagination handles the rest.

#### Does Brazil CNPJ Receita Federal Scraper need proxies?

No. The data sits behind Cloudflare CDN with caching enabled, so plain HTTP requests work fine. No proxy, no captcha, no anti-bot to dodge.

#### How current is the Receita Federal data?

The upstream mirror reloads from Receita Federal's monthly bulk dumps, so most records are 0–45 days behind the official source. Active/baixada status flips and partner changes show up on the next refresh — not the same day, but better than the Receita website which itself is on the same cycle.

#### Can I look up a single CNPJ instead of running a bulk crawl?

Yes. Set the `cnpj` field to a 14-digit CNPJ (formatting is stripped) and ignore everything else. The actor returns one record and exits. Useful for KYC enrichment.

#### What about the partner CPFs — is that legal to surface?

Receita Federal already publishes the QSA with masked CPFs in the format `***123456**`. The scraper passes those through as-is — you never see a complete unmasked CPF, so there is nothing to redact downstream.

#### How much does a typical run cost?

The actor uses standard PPE pricing: $0.10 per run start plus $0.001 per record. A 10,000-record state-wide CNAE sweep is about $10.10. The math is unambitious because the data is.

***

### Need More Features?

Need additional filters, custom fields, or a different Brazilian dataset wired in? [File an issue](https://console.apify.com/actors/issues) or get in touch.

### Why Use Brazil CNPJ Receita Federal Scraper?

- **Bulk discovery, not just enrichment** — Most CNPJ actors on the market take a known CNPJ and return one record. This one finds the CNPJs in the first place by CNAE, state, city, or legal form.
- **Full registry data** — Returns the partner list (QSA), tax-regime history, MEI flag, and Simples Nacional status — fields that competitors typically gate behind premium tiers.
- **Cheap and fast** — Pure JSON API, no browser, no proxy. ~$0.001 per record and several hundred records per minute on a single instance.

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

## `cnpj` (type: `string`):

Look up a single CNPJ (14 digits, dashes/dots ignored). Overrides all search filters.

## `uf` (type: `string`):

Brazilian state code. Required for bulk search unless cnae or municipio is set.

## `cnae` (type: `string`):

CNAE industry code (matches primary or secondary activities). Example: 6209100 (IT support services).

## `municipio` (type: `string`):

IBGE or SIAFI municipal code (digits only). Example: 5300108 (Brasília).

## `naturezaJuridica` (type: `string`):

Code of legal form (natureza jurídica). Example: 2135 (Empresário Individual / sole proprietor).

## `partnerCpf` (type: `string`):

CPF or CNPJ of a person/entity in the company's QSA partner list. Use the masked Receita format \***123456** for CPF (no dots, no dashes).

## `pageSize` (type: `integer`):

Records per API page (1-1000). Larger values are faster but use more memory per request.

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

Maximum number of CNPJ records to scrape across all queries. Keep low for first runs to validate output.

## 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...",
  "uf": "DF",
  "pageSize": 100,
  "maxItems": 50
}
```

# 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...",
    "cnpj": "",
    "uf": "DF",
    "cnae": "",
    "municipio": "",
    "naturezaJuridica": "",
    "partnerCpf": "",
    "pageSize": 100,
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/brazil-cnpj-receita-federal-crawler").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...",
    "cnpj": "",
    "uf": "DF",
    "cnae": "",
    "municipio": "",
    "naturezaJuridica": "",
    "partnerCpf": "",
    "pageSize": 100,
    "maxItems": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/brazil-cnpj-receita-federal-crawler").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...",
  "cnpj": "",
  "uf": "DF",
  "cnae": "",
  "municipio": "",
  "naturezaJuridica": "",
  "partnerCpf": "",
  "pageSize": 100,
  "maxItems": 50
}' |
apify call jungle_synthesizer/brazil-cnpj-receita-federal-crawler --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=jungle_synthesizer/brazil-cnpj-receita-federal-crawler",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Brazil CNPJ Receita Federal Scraper",
        "description": "Bulk scraper for Brazilian companies (CNPJ) from Receita Federal's open registry. Filter by state, CNAE industry code, municipality, legal form, or partner CPF. Returns full registry data with partners (QSA), addresses, and tax flags.",
        "version": "0.1",
        "x-build-id": "QAOgyFX73baP4ubcW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~brazil-cnpj-receita-federal-crawler/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-brazil-cnpj-receita-federal-crawler",
                "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~brazil-cnpj-receita-federal-crawler/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-brazil-cnpj-receita-federal-crawler",
                "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~brazil-cnpj-receita-federal-crawler/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-brazil-cnpj-receita-federal-crawler",
                "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."
                    },
                    "cnpj": {
                        "title": "Single CNPJ",
                        "type": "string",
                        "description": "Look up a single CNPJ (14 digits, dashes/dots ignored). Overrides all search filters."
                    },
                    "uf": {
                        "title": "State (UF)",
                        "enum": [
                            "",
                            "AC",
                            "AL",
                            "AP",
                            "AM",
                            "BA",
                            "CE",
                            "DF",
                            "ES",
                            "GO",
                            "MA",
                            "MT",
                            "MS",
                            "MG",
                            "PA",
                            "PB",
                            "PR",
                            "PE",
                            "PI",
                            "RJ",
                            "RN",
                            "RS",
                            "RO",
                            "RR",
                            "SC",
                            "SP",
                            "SE",
                            "TO"
                        ],
                        "type": "string",
                        "description": "Brazilian state code. Required for bulk search unless cnae or municipio is set."
                    },
                    "cnae": {
                        "title": "CNAE Code",
                        "type": "string",
                        "description": "CNAE industry code (matches primary or secondary activities). Example: 6209100 (IT support services)."
                    },
                    "municipio": {
                        "title": "Municipality Code",
                        "type": "string",
                        "description": "IBGE or SIAFI municipal code (digits only). Example: 5300108 (Brasília)."
                    },
                    "naturezaJuridica": {
                        "title": "Legal Form Code",
                        "type": "string",
                        "description": "Code of legal form (natureza jurídica). Example: 2135 (Empresário Individual / sole proprietor)."
                    },
                    "partnerCpf": {
                        "title": "Partner CPF/CNPJ",
                        "type": "string",
                        "description": "CPF or CNPJ of a person/entity in the company's QSA partner list. Use the masked Receita format ***123456** for CPF (no dots, no dashes)."
                    },
                    "pageSize": {
                        "title": "Page Size",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Records per API page (1-1000). Larger values are faster but use more memory per request.",
                        "default": 100
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of CNPJ records to scrape across all queries. Keep low for first runs to validate output.",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
