Pular para o conteúdo
DocumentaçãoEndpoints do token

Endpoints do token

As quatro operações que a API faz com o token: método, caminho, parâmetros, exemplo e o que volta.

Atualizado em · API v1

URL base

Os caminhos abaixo partem de https://app.oportunidados.com.br/api/v1, com o token no cabeçalho Authorization: Bearer (veja Autenticação). Todas as operações são GET e respondem JSON.

Fazer isso nos primeiros 8 dias encerra a garantia da primeira assinatura. Ver regra

Ficha de um CNPJ

GET/brazilian_companies/{cnpj}/company

Devolve a ficha da empresa: cadastro, endereço, CNAEs, sócios com CPF mascarado, contatos disponíveis e contexto de mercado.

ParâmetroOndeFormato
cnpjcaminho14 caracteres, sem pontuação (veja Formato do CNPJ)
cURL
curl "https://app.oportunidados.com.br/api/v1/brazilian_companies/12345678000190/company" \
  -H "Authorization: Bearer $OPORTUNIDADOS_API_TOKEN"

Resposta 200 com quatro chaves: company, socios, contatos_extras e contexto, descritas em Campos da ficha. CNPJ fora da base responde 404 {"error": "Record not Found"}.

Custo: 1 chamada por requisição admitida, inclusive quando a resposta é 404.

Contagem de empresas

GET/brazilian_companies/count

Conta as empresas de um recorte e, se você pedir, agrupa a contagem por uma ou mais colunas.

ParâmetroO que filtraComo enviar
ufSiglas dos estadosuf=SP,RJ
munCódigos IBGE dos municípiosmun=3550308
cnae_fiscalSubclasses CNAE, só númeroscnae_fiscal=6201501,6202300
include_cnae_secundarioConta também quem tem o CNAE como secundárioinclude_cnae_secundario=true
porte, situacao_cadastral, natureza_juridica, opcao_mei, opcao_simples, matriz_filial, regime_tributarioCódigos da Receita Federal (lista em Campos da ficha)Valores separados por vírgula
cep[], bairro[], data_inicio_interval[], data_situacao_interval[], capital_social_range[]CEP, bairro, intervalos de data e faixa de capital socialRepita o parâmetro: cep[]=01310100&cep[]=01311000
group_byAgrupa por uma colunagroup_by=uf
group_by[]Agrupa por mais de uma colunagroup_by[]=uf&group_by[]=porte

Os valores aceitos em group_by são: uf, cod_municipio, cnae_fiscal, cnae_divisao, cnae_grupo, cnae_classe, porte, situacao_cadastral, opc_simples, opc_mei, cod_nat_juridica, data_inicio_atividade, matriz_filial e bairro. A lista completa de filtros está no Swagger.

cURL
curl -G "https://app.oportunidados.com.br/api/v1/brazilian_companies/count" \
  -H "Authorization: Bearer $OPORTUNIDADOS_API_TOKEN" \
  --data-urlencode "uf=SP" \
  --data-urlencode "cnae_fiscal=6201501" \
  --data-urlencode "group_by=porte"

A resposta sempre traz filter (o eco dos filtros aplicados), group_by e data. Sem agrupamento, group_by é null e data é um número; com agrupamento, data é um objeto do valor para a contagem:

Resposta 200
{
  "filter": { "uf": ["SP"], "cnae_fiscal": ["6201501"] },
  "group_by": "porte",
  "data": { "01": 18240, "03": 5120, "05": 2310 }
}

Erros próprios da contagem:

  • 400 invalid_filter: parâmetro desconhecido. A mensagem cita as chaves recusadas. Não consome chamada.
  • 400 Invalid group_by: agrupamento fora da lista acima. A mensagem traz os valores aceitos.
  • 403 com errors: combinação de filtros recusada. O valor de errors é um texto com JSON dentro.

Custo: 1 chamada por requisição admitida, não importa quantas empresas o recorte tenha.

Ranking do recorte

GET/brazilian_companies/top

Lista as empresas com maior capital social e as abertas mais recentemente numa atividade, num município ou nos dois.

ParâmetroO que éLimites
cnae_fiscalSubclasse CNAE com 7 dígitosEnvie ao menos um dos dois
cod_municipioCódigo SIAFI do município
limitTamanho de cada listaPadrão 10, máximo 12. Zero ou valor inválido volta a 10
opc_meiExclui os optantes do MEI das duas listasÚnico valor aceito: 0
cURL
curl -G "https://app.oportunidados.com.br/api/v1/brazilian_companies/top" \
  -H "Authorization: Bearer $OPORTUNIDADOS_API_TOKEN" \
  --data-urlencode "cnae_fiscal=6201501" \
  --data-urlencode "limit=5"

A resposta traz filter, maiores_capital_social e abertas_recentes. Cada empresa das listas tem cnpj, razao_social, nome_fantasia, capital_social, data_inicio_atividade, cnae_fiscal e opc_mei (verdadeiro ou falso).

Erros próprios do ranking:

  • 400 Missing filter: faltou cnae_fiscal e cod_municipio.
  • 400 Invalid opc_mei: opc_mei com valor diferente de 0.

Custo: 1 chamada por requisição admitida, com as duas listas na mesma resposta.

Contagem de obras

GET/constructions/count

Conta as obras do Cadastro Nacional de Obras (CNO) de um recorte, com agrupamento opcional.

ParâmetroO que filtraComo enviar
ufSiglas dos estadosuf=PR
munCódigos SIAFI dos municípiosValores separados por vírgula
situacao, destinacao, categoria, tipo_obra, tipo_responsavel, qualificacao_responsavelCódigos do CNOValores separados por vírgula
cno, ni_responsavel, cnae_responsavel, cnae, cepObra, responsável, atividade e CEPValores separados por vírgula
data_inicio_interval, area_total_rangePeríodo de início e faixa de áreaInício e fim separados por vírgula
group_byuf, cod_municipio, situacao, tipo_responsavel, qualificacao_responsavel ou data_inicio_yeargroup_by=situacao
cURL
curl -G "https://app.oportunidados.com.br/api/v1/constructions/count" \
  -H "Authorization: Bearer $OPORTUNIDADOS_API_TOKEN" \
  --data-urlencode "uf=PR" \
  --data-urlencode "group_by=situacao"

Sem agrupamento, a resposta é {"filter": {...}, "total": ...}. Com agrupamento, vem também group_by e data, uma lista de {"code", "label", "count"} da maior contagem para a menor. Em cod_municipio, o code da resposta é o código IBGE.

Erros próprios da contagem de obras:

  • 422 Unsupported filter combination: cno ou ni_responsavel junto com situacao ou cnae_responsavel.
  • 400 Invalid group_by: agrupamento fora da lista acima.

Custo: 1 chamada por requisição admitida, não importa quantas obras o recorte tenha.

Limite das buscas

Contagem de empresas, ranking e contagem de obras têm um limite próprio por minuto, por conta, que vale junto com o limite do plano. Passou dele, a resposta é 429 e a chamada não conta na cota. Plano sem acesso a essas operações recebe 403 Search endpoints are not enabled for your plan. A ficha de um CNPJ não entra nesse limite das buscas: vale o limite do plano, em Cota e limites, e uma proteção da plataforma contra rajadas por conta, que também responde 429.

Formato do CNPJ

O CNPJ tem 14 caracteres, entre dígitos e letras. Envie sem pontos, barras nem hífen. Letras minúsculas são convertidas em maiúsculas. Guarde e envie o CNPJ como texto: ele pode ter zeros à esquerda e, nos novos cadastros da Receita Federal, letras.

Referência interativa

Todos os parâmetros, os esquemas de resposta e os exemplos estão no Swagger do app, onde você também testa cada operação com o seu token.

Referência interativa: Swagger do app, com todos os parâmetros e exemplos de resposta.