Skip to content

raphaelmarra/cnpj-cli-nestjs

Repository files navigation

CNPJ CLI NestJS

API REST para consulta de 23.8M+ empresas brasileiras com busca geografica, IA, ICP scoring, conteudo viral e integracao WhatsApp.

Status: Producao | Endpoints: 118 | Porta: 3015 | Versao: 1.3.0

Quick Start

# Configurar
cp .env.example .env
# Editar .env com credenciais PostgreSQL

# Rodar
npm run start:dev

# Testar
curl http://localhost:3015/api/cnpj/health

Endpoints por Controller (118 total)


cnpj.controller.ts (70 endpoints)

Prefixo: /api/cnpj

Health (1)

Metodo Path Descricao
GET /health Health check com contagem de empresas

Validacao (5)

Metodo Path Descricao
GET /validar/cnpj/:cnpj Valida CNPJ (algoritmo mod 11)
GET /validar/cpf/:cpf Valida CPF
GET /validar/email/:email Valida email (RFC 5322)
GET /validar/telefone/:telefone Valida telefone BR
GET /validar/cep/:cep Valida CEP

Consulta CNPJ (6)

Metodo Path Descricao
GET /:cnpj Dados basicos da empresa
GET /:cnpj/completo Dados completos com socios
GET /:cnpj/filiais Filiais da empresa
GET /:cnpj/socios Lista de socios
GET /:cnpj/regime Regime tributario (Simples/MEI)
GET /:cnpj/similares Empresas similares (scoring 0-100)

Busca (12)

Metodo Path Descricao
GET /buscar/nome Busca por razao social/nome fantasia
GET /buscar/socio Busca por nome de socio
GET /buscar/cnae/:cnae Busca por codigo CNAE
GET /buscar/cep/:cep Busca por CEP
GET /buscar/municipio/:codigo Busca por codigo municipio IBGE
GET /buscar/natureza/:codigo Busca por natureza juridica
GET /buscar/porte/:porte Busca por porte (00-05)
GET /buscar/situacao/:codigo Busca por situacao cadastral
GET /buscar/bairro Busca por bairro e municipio
GET /buscar/logradouro Busca por logradouro
GET /buscar/atividade Busca por texto de atividade
POST /buscar/avancada Busca multi-criterio

Geo (10)

Metodo Path Descricao
POST /geo/raio Empresas em raio (km) de coordenada
POST /geo/bounding-box Empresas em area retangular
POST /geo/rota Empresas ao longo de rota
POST /geo/clusters Clusters geograficos de empresas
GET /geo/municipio/:codigo/coords Coordenadas do municipio
GET /geo/densidade/:uf Densidade empresarial por UF
GET /geo/vizinhos/:cnpj Empresas proximas a CNPJ
GET /geo/concorrentes/:cnpj Concorrentes proximos (mesmo CNAE)
GET /geo/coordenadas/:cnpj Coordenadas da empresa

CNAE (2)

Metodo Path Descricao
GET /cnae/buscar-texto Buscar CNAE por descricao
GET /cnae/sugestoes/:texto Autocomplete de CNAE

Filtros (9)

Metodo Path Descricao
GET /filtrar/simples-nacional Empresas no Simples Nacional
GET /filtrar/mei Apenas MEIs
GET /filtrar/capital-minimo/:valor Capital social minimo
GET /filtrar/capital-faixa Por faixa de capital
GET /filtrar/idade/:anos Por idade minima
GET /filtrar/abertas-periodo Por periodo de abertura
GET /filtrar/abertas-desde/:data Abertas desde data
GET /filtrar/novas/:dias Abertas nos ultimos N dias
POST /contar/filtrado Contagem com filtros

Stats (13)

Metodo Path Descricao
GET /stats/por-uf Distribuicao por UF
GET /stats/por-cnae Distribuicao por CNAE
GET /stats/por-porte Distribuicao por porte
GET /stats/por-situacao Distribuicao por situacao
GET /stats/por-natureza Distribuicao por natureza juridica
GET /stats/por-municipio Distribuicao por municipio
GET /stats/por-bairro/:municipio Distribuicao por bairro
GET /stats/capital-social Distribuicao de capital social
GET /stats/capital-medio/:cnae Capital medio por CNAE
GET /stats/evolucao-mensal Evolucao mensal de aberturas
GET /stats/crescimento/:cnae Taxa de crescimento por CNAE
GET /stats/abertas-por-mes/:ano Abertas por mes no ano
GET /stats/resumo-geral Resumo geral do banco

Socios (6)

Metodo Path Descricao
GET /socios/buscar Buscar socios por nome/CPF
GET /socios/rede/:cnpj Rede societaria de empresa
GET /socios/cpf/:cpf Empresas de um CPF
GET /socios/participacoes/:cpf Participacoes societarias detalhadas
GET /socios/empresas-comuns Empresas com socios em comum
GET /socios/qualificacao/:codigo Socios por qualificacao

IA (3)

Metodo Path Descricao
POST /ia/query-natural Query em linguagem natural (Groq)
POST /ia/classificar/:cnpj Classificar empresa com IA
POST /ia/segmentar Segmentar lista de empresas

Historico (3)

Metodo Path Descricao
GET /historico/:cnpj Timeline completa da empresa
GET /historico/situacoes/:cnpj Historico de situacoes
GET /historico/socios/:cnpj Historico de socios

Bulk (1)

Metodo Path Descricao
POST /bulk Consulta ate 100 CNPJs

export.controller.ts (7 endpoints)

Prefixo: /api/cnpj/export

Metodo Path Descricao
POST /csv Exportar para CSV
POST /json Exportar para JSON
POST /xlsx Exportar para Excel
POST /pdf Exportar para PDF
POST /email-list Lista de emails
POST /telefone-list Lista de telefones
POST /mailing Gerar mailing completo

listas.controller.ts (9 endpoints)

Prefixo: /api/cnpj/listas

Metodo Path Descricao
GET / Listar todas as listas
POST / Criar nova lista
GET /:id Detalhes da lista
PUT /:id Atualizar lista
DELETE /:id Remover lista
GET /:id/empresas Empresas da lista
POST /:id/adicionar Adicionar empresas
DELETE /:id/remover Remover empresas
POST /:id/exportar Exportar lista

icp.controller.ts (9 endpoints)

Prefixo: /api/icp

CRUD Perfis ICP (5)

Metodo Path Descricao
GET / Listar perfis ICP
GET /:id Detalhes do perfil
POST / Criar novo ICP
PUT /:id Atualizar ICP
DELETE /:id Remover ICP

Scoring (3)

Metodo Path Descricao
GET /:id/score/:cnpj Calcular score de empresa para ICP
GET /:id/leads Buscar leads qualificados
GET /:id/stats Estatisticas do ICP

Lookalike (1)

Metodo Path Descricao
GET /lookalike/:cnpj Empresas similares (lookalike)

viral.controller.ts (7 endpoints)

Prefixo: /api/viral

Modulo para geracao de conteudo viral sobre empresas (Instagram Reels, YouTube Shorts, TikTok).

Metodo Path Descricao Query Params
GET /ranking Rankings flexiveis metrica, cnae, agrupar, uf, ordem, top
GET /extremos Maiores/menores/mais antigos tipo, extremo, cnae, uf, top
GET /comparativo Comparar X vs Y tipo, item1, item2, cnae
GET /temporal Dados temporais tipo, data, ano, mes, cnae, uf
GET /nomes Nomes curiosos tipo, termo, cnae, uf, top
GET /geografico Densidade geografica tipo, cnae, uf, populacao_min, top
GET /health Health check -

Exemplos:

# Ranking estados por empresas
curl "https://api-cnpj.sdebot.top/api/viral/ranking?agrupar=uf&top=10"

# Empresa mais antiga
curl "https://api-cnpj.sdebot.top/api/viral/extremos?tipo=idade&extremo=maior&top=1"

# SP vs RJ
curl "https://api-cnpj.sdebot.top/api/viral/comparativo?tipo=uf&item1=SP&item2=RJ"

gmaps-enrichment.controller.ts (7 endpoints)

Prefixo: /api/cnpj

Metodo Path Descricao
GET /:cnpj/enriched Dados enriquecidos (RF + GMaps)
GET /:cnpj/gmaps Apenas dados Google Maps
POST /enrich/batch Enriquecimento em lote (max 100)
GET /enrich/find Buscar empresas enriquecidas
GET /enrich/prospects Prospects com score
GET /enrich/stats Estatisticas enrichment
GET /enrich/health Health do servico

whatsapp.controller.ts (5 endpoints)

Prefixo: /api/whatsapp

Metodo Path Descricao
POST /webhook Recebe mensagens Evolution API
POST /configure-webhook Configurar webhook
GET /webhook-status Status do webhook
POST /send-test Enviar mensagem teste
GET /health Health do servico

mcp-http.controller.ts (4 endpoints)

Prefixo: /mcp

Metodo Path Descricao
POST / Executar query MCP (JSON-RPC 2.0)
GET / Stream SSE para notificacoes
GET /health Health do MCP
GET /tools Listar 16 tools disponiveis

Configuracao

Variavel Obrigatoria Descricao
PORT Nao Porta (default: 3015)
PG_HOST Sim Host PostgreSQL
PG_PORT Sim Porta PostgreSQL (5432)
PG_DATABASE Sim Database (cnpj_intelligence)
PG_USER Sim Usuario
PG_PASSWORD Sim Senha
GROQ_API_KEY Nao Chave Groq (para IA)
GOSOM_API_URL Nao URL Google Maps scraper
EVOLUTION_API_URL Nao URL Evolution API
EVOLUTION_API_KEY Nao Chave Evolution
EVOLUTION_INSTANCE Nao Instancia WhatsApp
ALLOWED_ORIGINS Nao CORS origins
ALLOWED_NUMBER Nao Numero WhatsApp permitido

Stack

  • Framework: NestJS 10
  • Runtime: Node.js 20
  • Database: PostgreSQL (23.8M empresas)
  • Container: Docker + Tini
  • Porta: 3015

URLs

Ambiente URL
Interno http://localhost:3015/api/cnpj
Externo https://api-cnpj.sdebot.top/api/cnpj
Swagger http://localhost:3015/api/docs

Gerado: 2026-01-08 | Controllers: 8 | Endpoints: 118 | Fonte: Codigo (controllers/*.ts)

About

CLI NestJS para consulta CNPJ (ReceitaWS + Cache)

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors