Pular para o conteúdo
LeadIA by Reveno

API e MCP do LeadIA

A mesma base do app, por HTTP ou dentro do seu agente: empresas brasileiras com cadastro da Receita, quadro societário, eventos recentes e decisores. Buscar e ver a ficha não gastam crédito; abrir um contato gasta 1 crédito, como no app.

1. Crie uma chave

Entre na sua conta, vá em Conta e planos, API e MCP e clique em Criar chave. A chave começa com lia_ e aparece uma vez só. Envie em todas as chamadas:

Authorization: Bearer lia_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2. Use no Claude e em outros agentes (MCP)

Servidor MCP remoto em https://leadia.reveno.com.br/mcp (Streamable HTTP). No Claude Code:

claude mcp add --transport http leadia https://leadia.reveno.com.br/mcp \
  --header "Authorization: Bearer lia_SUA_CHAVE"

Cada ferramenta diz no começo da descrição se é grátis ou se gasta crédito, e o agente pede confirmação antes de abrir contatos em quantidade.

Ferramentas do MCP
FerramentaO que fazCusto
dimensionar_mercadoTamanho do mercado do filtro, aberto por estado, setor, porte, funcionários, atividade ou cidadegrátis
buscar_empresasLista de empresas com nota de prioridadegrátis
empresas_parecidasMesma atividade, estado e tamanho de um CNPJgrátis
novidadesAberturas, sócios novos e encerramentos da Receitagrátis
ver_empresaFicha com contatos mascaradosgrátis
dossie_empresaPor que a nota, sinais, decisores-chave e próximos passosgrátis
abrir_contatoRevela o e-mail de um decisor ou os telefones1 crédito
enriquecer_cnpjsLista de CNPJs enriquecida na mesma ordemgrátis; abrir decisores gasta
listar_listas, salvar_listaListas salvas com alerta de empresas novasgrátis (número de listas pelo plano)
sincronizar_listaManda a lista para o CRM pelos webhooksplanos pagos; conta na cota de sync
uso_e_limites, minha_contaConsumo no minuto, na hora e no dia, cota de sync e saldográtis

Peça em linguagem natural, por exemplo: "qual o tamanho do mercado de indústrias de embalagem em Minas por cidade? Depois me mostre as 10 melhores com decisor de compras".

3. API REST

Rotas da API
RotaO que fazCrédito
GET /v1/empresasBusca com filtros na query: uf, cidade, cnae, porte, funcionarios, faturamento, temDecisor, evento, pagina (listas separadas por vírgula)não
POST /v1/empresas/buscaMesma busca com o filtro em JSON: {"filtro": {...}, "pagina": 1}não
GET /v1/empresas/{cnpj}Ficha: cadastro, sócios, eventos, decisores e telefones mascaradosnão
POST /v1/revelar{"cnpj": "...", "tipo": "decisor", "id": "..."} ou {"cnpj": "...", "tipo": "telefones"}1 (repetir é grátis)
GET /v1/novidadesAberturas, sócios novos e encerramentos recentes: tipos, dias (7, 30, 90, 180, 365) e os filtros da buscanão
POST /v1/enriquecerLista de CNPJs ({"cnpjs": [...]}) devolvida na mesma ordem, com status por linha; "abrir": "decisor" abre o melhor decisor de cada uma (planos pagos)só com abrir
GET /v1/contaSaldo, plano e limitesnão
POST /v1/mercadoTamanho do mercado: {"filtro": {...}, "por": "uf"}; por aceita uf, regiao (mesorregião do IBGE, no formato "UF:Nome" do filtro), setor, porte, funcionarios, cnae, cidadenão
GET /v1/parecidas?cnpj=Empresas da mesma atividade, estado e tamanhonão
GET /v1/dossie?cnpj=Dossiê para abordar: fatores da nota, sinais, decisores-chave (mascarados) e próximos passosnão
GET /v1/listas, POST /v1/listasListas salvas; criar com {"nome": "...", "filtro": {...}, "alerta": true}não
GET /v1/webhooks, POST /v1/webhooks, POST /v1/webhooks/removerDestinos de sync: {"url": "https://...", "listaId": 12} (sem listaId, recebe todas as listas)não (planos pagos)
POST /v1/listas/sincronizarManda agora as melhores empresas da lista: {"id": 12, "max": 200} (até 500)não (conta na cota de sync)
GET /v1/usoConsumo no minuto, na hora e no dia, fichas do dia, cota de sync e saldonão
curl -s "https://leadia.reveno.com.br/v1/empresas?uf=SP&cnae=6201&temDecisor=true" \
  -H "Authorization: Bearer lia_SUA_CHAVE"

Valores aceitos nos filtros

Exemplo de resposta de GET /v1/empresas

{ "total": 1428, "visivel": 1428, "pagina": 1, "paginas": 58, "plano": "pro",
  "itens": [ { "cnpj": "...", "razaoSocial": "...", "cidade": "Campinas", "uf": "SP",
    "cnae": "2539001", "funcionarios": "11 a 50", "decisores": 7, "decisoresChave": 2,
    "telefones": 3, "whatsapp": 1, "prioridade": 85 } ] }

Enriquecer uma lista

curl -s https://leadia.reveno.com.br/v1/enriquecer -H "Authorization: Bearer lia_SUA_CHAVE" \
  -H "content-type: application/json" -d '{"cnpjs": ["12345678000190", "98.765.432/0001-10"], "abrir": "decisor"}'

Sem abrir, não gasta crédito. Com "abrir": "decisor", abre o melhor decisor de cada empresa (1 crédito cada, reabrir é grátis).

Limites por plano

Limites da API e do MCP por plano
PlanoPor minutoPor horaPor diaEmpresas por buscaSync
Grátis1060100100não incluso
Essencial601.0005.0002.0001 webhook, 2.000 registros por mês
Pro1203.00020.00010.0005 webhooks, 20.000 registros por mês
Escala30010.000100.00050.00020 webhooks, 100.000 registros por mês

Os limites valem por conta (time inteiro), somando API e MCP. Toda resposta da API traz X-RateLimit-Limit-Minute, -Hour e -Day e os X-RateLimit-Remaining-*. Acima do limite, a resposta é 429 com Retry-After em segundos. Erros trazem {"erro": "..."}: 401 sem chave válida, 402 sem crédito ou fora do plano, 404 sem contato (nada é cobrado), 429 acima do limite. Contato inválido pode ser reportado no app em até 30 dias, e o crédito volta.

Sync com CRM, n8n e Make

Nos planos pagos, cada webhook recebe um POST em JSON a cada mês novo da Receita que traga empresas que batem com a lista (a Receita publica uma vez por mês) ("evento": "lista.empresas_novas") e quando você manda a lista na hora ("lista.sincronizada"). Até 500 empresas por envio. Vão só dados da empresa: CNPJ, razão social, cidade, atividade, porte, prioridade, quantos decisores e telefones ela tem, o sinal da Receita e o link da ficha. Contato de pessoa nunca vai no envio: ele abre na ficha, com crédito.

Confira a origem: o cabeçalho X-LeadIA-Assinatura traz sha256= seguido do HMAC-SHA256 do corpo com o segredo do webhook (mostrado uma vez, na criação). Responda com 2xx; depois de 10 falhas seguidas o webhook é desligado.

// Node.js: conferir a assinatura
const ok = req.headers['x-leadia-assinatura'] ===
  'sha256=' + crypto.createHmac('sha256', SEGREDO).update(corpoBruto).digest('hex');

Sobre os dados

Cadastro, situação, endereço, porte, sócios e eventos vêm dos dados abertos de CNPJ da Receita Federal, carregados a cada mês que a Receita publica (a referência do mês aparece em cada ficha, em receitaReferencia). Decisores e telefones vêm da base própria da Reveno. Quem não quiser aparecer pede a remoção em remover meus dados. Use os contatos de acordo com a LGPD e com os Termos.