SkillAgentSearch skills...

OpenCNPJ

API pública de busca e consulta de CNPJs do Brasil

Install / Use

/learn @Hitmasu/OpenCNPJ
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="./src/Page/assets/logo.svg" alt="OpenCNPJ" height="64" />

Projeto aberto para baixar, processar e publicar dados públicos das empresas do Brasil.

Pastas

  • src/ETL/Processor: ETL que baixa, processa e publica dados do CNPJ.
  • src/ETL/Tests: testes do ETL.
  • src/ETL/OpenCNPJ.sln: solution do ETL.
  • src/Page: página/SPA estática para consulta dos dados publicados.
  • src/Worker: Worker Cloudflare que lê shards publicados no R2.

Requisitos

  • .NET SDK 10.0+
  • rclone instalado e autenticado no seu storage (ex.: Backblaze, R2, S3, Azure Storage, ...).
  • Espaço em disco e boa conexão (a primeira execução pode levar tempo -- dias até).

Configuração

  • Ajuste src/ETL/Processor/config.json se desejar mudar pastas locais, destino do storage, memória, paralelismo...
  • No config.json, aponte para o Storage que deseja passando a configuração do rclone.
  • O downloader da Receita agora usa WebDAV no share público do SERPRO+/Nextcloud.

Layout local

  • downloads/YYYY-MM: zips baixados da Receita.
  • extracted_data/YYYY-MM: arquivos extraídos para o mês.
  • parquet_data/YYYY-MM: Parquets gerados para o mês.
  • cnpj_shards/YYYY-MM/shards: shards locais *.ndjson e *.index.json antes do upload.

Os artefatos locais não são apagados automaticamente, exceto quando o pipeline é executado com --cleanup-on-success. O pipeline também não usa mais cache de hash por shard.

Execução

  • Dentro de src/ETL/Processor:
    • dotnet run pipeline
    • dotnet run pipeline -m YYYY-MM (opcional)
    • dotnet run pipeline --cleanup-on-success (opcional, remove artefatos locais do dataset após sucesso)

Sem -m, o pipeline escolhe o mês mais recente publicado no share WebDAV da Receita.

Publicação

  • A API publicada consome shards em shards/{prefix}.ndjson no R2 e shards/{prefix}.index.json como Static Asset do Worker, onde prefix usa os 3 primeiros caracteres do CNPJ normalizado.
  • Cada linha do *.ndjson representa um CNPJ e o *.index.json guarda offsets esparsos para leitura parcial no Worker.
  • O contrato de CNPJ já aceita formato alfanumérico: 12 caracteres alfanuméricos + 2 dígitos finais.
  • O arquivo info.json continua sendo publicado, agora com metadados adicionais de shard.

Contribuição

  • Abra issues para discutir mudanças.
  • Faça fork, crie uma branch descritiva e envie PR.
  • Mantenha commits pequenos e o projeto compilando (dotnet build).
View on GitHub
GitHub Stars316
CategoryDevelopment
Updated2d ago
Forks46

Languages

C#

Security Score

100/100

Audited on Apr 3, 2026

No findings