{
  "openapi": "3.0.1",
  "info": {
    "title": "Brazil CNPJ Scraper - Receita Federal Company Data",
    "description": "Bulk-look up Brazilian companies by CNPJ, straight from Receita Federal open data: legal name, status, CNAE activities, full address, email, phone, capital, size, Simples/MEI status and partners (QSA). Filter by state, status or CNAE. No API key, no browser.",
    "version": "0.1",
    "x-build-id": "NVWDox6T0I9bAdvFn"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapesage~brazil-cnpj-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapesage-brazil-cnpj-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/scrapesage~brazil-cnpj-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapesage-brazil-cnpj-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/scrapesage~brazil-cnpj-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapesage-brazil-cnpj-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": {
          "cnpjs": {
            "title": "CNPJ numbers",
            "type": "array",
            "description": "The Brazilian companies to look up, one CNPJ per line - with or without punctuation, e.g. <code>00.000.000/0001-91</code> or <code>00000000000191</code>. <b>Leave empty and the run returns a small free sample.</b>",
            "items": {
              "type": "string"
            }
          },
          "cnpjsFromFile": {
            "title": "Import CNPJs from a file",
            "type": "string",
            "description": "Bulk-load CNPJs. Either <b>paste the whole list</b> (one per line), or give <b>a single link</b> to a public <code>.txt</code>/<code>.csv</code>, a Google Sheet/Drive link, or an Apify key-value-store record. A file that cannot be read says so and charges nothing."
          },
          "states": {
            "title": "Only these states (UF)",
            "type": "array",
            "description": "Keep only companies whose registered address is in the selected states. Leave empty for all of Brazil.",
            "items": {
              "type": "string",
              "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"
              ],
              "enumTitles": [
                "Acre (AC)",
                "Alagoas (AL)",
                "Amapa (AP)",
                "Amazonas (AM)",
                "Bahia (BA)",
                "Ceara (CE)",
                "Distrito Federal (DF)",
                "Espirito Santo (ES)",
                "Goias (GO)",
                "Maranhao (MA)",
                "Mato Grosso (MT)",
                "Mato Grosso do Sul (MS)",
                "Minas Gerais (MG)",
                "Para (PA)",
                "Paraiba (PB)",
                "Parana (PR)",
                "Pernambuco (PE)",
                "Piaui (PI)",
                "Rio de Janeiro (RJ)",
                "Rio Grande do Norte (RN)",
                "Rio Grande do Sul (RS)",
                "Rondonia (RO)",
                "Roraima (RR)",
                "Santa Catarina (SC)",
                "Sao Paulo (SP)",
                "Sergipe (SE)",
                "Tocantins (TO)"
              ]
            }
          },
          "statuses": {
            "title": "Only these registration statuses",
            "type": "array",
            "description": "Keep only companies in the selected Receita Federal registration statuses. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "Ativa",
                "Baixada",
                "Inapta",
                "Suspensa",
                "Nula"
              ],
              "enumTitles": [
                "Active (Ativa)",
                "Closed (Baixada)",
                "Delinquent (Inapta)",
                "Suspended (Suspensa)",
                "Annulled (Nula)"
              ]
            }
          },
          "sizes": {
            "title": "Only these company sizes",
            "type": "array",
            "description": "Keep only companies of the selected Receita Federal size class. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "MICRO EMPRESA",
                "EMPRESA DE PEQUENO PORTE",
                "DEMAIS"
              ],
              "enumTitles": [
                "Micro company (MICRO EMPRESA)",
                "Small company (EMPRESA DE PEQUENO PORTE)",
                "Mid-size and large (DEMAIS)"
              ]
            }
          },
          "headquartersOnly": {
            "title": "Headquarters only",
            "type": "boolean",
            "description": "Keep only headquarters (matriz) records and drop branch (filial) CNPJs.",
            "default": false
          },
          "cnaePrefix": {
            "title": "Only this CNAE activity (code prefix)",
            "type": "string",
            "description": "Keep only companies whose main or secondary CNAE activity code starts with these digits - e.g. <code>47</code> (retail), <code>6201</code> (software development). Digits only; leave empty for all activities."
          },
          "maxItems": {
            "title": "Max companies",
            "minimum": 1,
            "type": "integer",
            "description": "Overall cap on saved companies. You are only charged for companies actually saved.",
            "default": 1000
          },
          "outputFields": {
            "title": "Output fields (leave empty for all)",
            "type": "array",
            "description": "Pick the fields you want and every record is trimmed to exactly those - handy for lean CSV/Sheets exports.",
            "items": {
              "type": "string",
              "enum": [
                "type",
                "cnpj",
                "cnpjFormatted",
                "legalName",
                "tradeName",
                "status",
                "statusDate",
                "statusReason",
                "isHeadquarters",
                "openedDate",
                "mainActivityCode",
                "mainActivity",
                "secondaryActivities",
                "secondaryActivitiesCount",
                "legalNature",
                "addressType",
                "street",
                "number",
                "complement",
                "district",
                "city",
                "cityCode",
                "state",
                "zip",
                "country",
                "email",
                "phones",
                "fax",
                "capital",
                "companySize",
                "simplesOptant",
                "simplesSince",
                "meiOptant",
                "meiSince",
                "specialSituation",
                "specialSituationDate",
                "partners",
                "partnersCount",
                "responsibleQualification",
                "federativeEntity",
                "source",
                "scrapedAt"
              ],
              "enumTitles": [
                "Record type (type)",
                "CNPJ digits (cnpj)",
                "CNPJ formatted (cnpjFormatted)",
                "Legal name (legalName)",
                "Trade name (tradeName)",
                "Registration status (status)",
                "Status date (statusDate)",
                "Status reason (statusReason)",
                "Is headquarters (isHeadquarters)",
                "Opened date (openedDate)",
                "Main CNAE code (mainActivityCode)",
                "Main activity (mainActivity)",
                "Secondary activities (secondaryActivities)",
                "Secondary activities count (secondaryActivitiesCount)",
                "Legal nature (legalNature)",
                "Address type (addressType)",
                "Street (street)",
                "Number (number)",
                "Complement (complement)",
                "District (district)",
                "City (city)",
                "City code (cityCode)",
                "State UF (state)",
                "ZIP / CEP (zip)",
                "Country (country)",
                "Email (email)",
                "Phones (phones)",
                "Fax (fax)",
                "Capital R$ (capital)",
                "Company size (companySize)",
                "Simples optant (simplesOptant)",
                "Simples since (simplesSince)",
                "MEI optant (meiOptant)",
                "MEI since (meiSince)",
                "Special situation (specialSituation)",
                "Special situation date (specialSituationDate)",
                "Partners QSA (partners)",
                "Partners count (partnersCount)",
                "Responsible qualification (responsibleQualification)",
                "Federative entity (federativeEntity)",
                "Data source (source)",
                "Scraped at (scrapedAt)"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}