A API v2 da Nuvnia permite que você integre dados de 28,2 milhões de empresas ativas diretamente ao seu CRM, ERP ou qualquer sistema próprio. Neste tutorial, mostramos como configurar a autenticação, fazer sua primeira consulta e automatizar o fluxo.

Autenticação

A API usa autenticação por API key enviada no header Authorization. Para gerar sua chave, acesse o painel da Nuvnia em Configurações > API.

Authorization: Bearer sua_api_key_aqui

Segurança

Sua API key é hasheada (SHA-256) antes de ser armazenada. Nunca a compartilhe em repositórios públicos ou no frontend. Use variáveis de ambiente.

Endpoint principal: busca de empresas

GET /api/v2/leads?uf=SP&cnae=5611&porte=ME&limit=50

Headers:
  Authorization: Bearer sua_api_key_aqui
  Content-Type: application/json

Parâmetros de busca

ParâmetroTipoDescrição
ufstringEstado (ex: SP, RJ, MG)
cnaestringCódigo CNAE (ex: 5611, 6201)
portestringME, EPP, DEMAIS
municipiostringCódigo do município
capital_minnumberCapital social mínimo
capital_maxnumberCapital social máximo
limitnumberResultados por página (max 100)
offsetnumberPaginação

Exemplo com cURL

curl -s "https://api.leads.nuvnia.com/api/v2/leads?uf=SP&cnae=5611&porte=ME&limit=10" \
  -H "Authorization: Bearer $NUVNIA_API_KEY" | jq '.leads[0]'

Exemplo com Python

import requests
import os

API_KEY = os.environ["NUVNIA_API_KEY"]
BASE_URL = "https://api.leads.nuvnia.com/api/v2"

response = requests.get(f"{BASE_URL}/leads", params={
    "uf": "SP",
    "cnae": "5611",
    "porte": "ME",
    "limit": 50
}, headers={
    "Authorization": f"Bearer {API_KEY}"
})

data = response.json()
for lead in data["leads"]:
    print(f"{lead['razao_social']} - {lead['cnpj']}")

Exemplo com JavaScript (Node.js)

const response = await fetch(
  'https://api.leads.nuvnia.com/api/v2/leads?uf=SP&cnae=5611&limit=50',
  { headers: { 'Authorization': `Bearer ${process.env.NUVNIA_API_KEY}` } }
);

const { leads } = await response.json();
leads.forEach(lead =>
  console.log(`${lead.razao_social} - ${lead.cnpj}`)
);

Endpoint de consulta CNPJ

GET /api/v2/cnpj/:cnpj

# Retorna dados completos: empresa, estabelecimento, socios,
# gov data (PGFN, TCU, IBAMA...), score de risco e badges

Rate limits

PlanoRequests/minLeads/mês
Starter30500
Pro601.500
Business1205.000

Headers de rate limit retornados em cada resposta:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1711929600

Integração com CRMs populares

Em 15 minutos, você pode ter um script Python rodando que importa 50 leads qualificados por dia para seu CRM — com dados de compliance inclusos. Sem copiar e colar planilhas.