curl --request POST \
--url https://{instancia}/api/v1/consultas \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"produto": "receita-federal-pj",
"documento": "11222333000181"
}
'import requests
url = "https://{instancia}/api/v1/consultas"
payload = {
"produto": "receita-federal-pj",
"documento": "11222333000181"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({produto: 'receita-federal-pj', documento: '11222333000181'})
};
fetch('https://{instancia}/api/v1/consultas', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{instancia}/api/v1/consultas",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'produto' => 'receita-federal-pj',
'documento' => '11222333000181'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{instancia}/api/v1/consultas"
payload := strings.NewReader("{\n \"produto\": \"receita-federal-pj\",\n \"documento\": \"11222333000181\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{instancia}/api/v1/consultas")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"produto\": \"receita-federal-pj\",\n \"documento\": \"11222333000181\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instancia}/api/v1/consultas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"produto\": \"receita-federal-pj\",\n \"documento\": \"11222333000181\"\n}"
response = http.request(request)
puts response.read_body{
"consulta": {
"id": "cmtsr515m1uxzjn04ta469e3q",
"produto": "search-pf",
"documento": "12345678909",
"cache": false,
"consultadoEm": "2023-11-07T05:31:56Z",
"duracaoMs": 609
},
"pessoa": {
"cpf": "<string>",
"nome": "<string>",
"nomeMae": "<string>",
"nascimento": "<string>",
"idade": 123,
"sexo": "<string>",
"escolaridade": "<string>",
"rendaPresumida": "<string>",
"situacaoCadastral": "<string>",
"obito": true,
"telefones": [
{
"numero": "11987654321",
"ddd": "11",
"tipo": "TELEFONE MÓVEL",
"whatsapp": true,
"ranking": 1
}
],
"emails": [
"<string>"
],
"enderecos": [
{
"logradouro": "<string>",
"numero": "<string>",
"complemento": "<string>",
"bairro": "<string>",
"cidade": "<string>",
"uf": "<string>",
"cep": "<string>"
}
]
},
"empresa": {
"cnpj": "<string>",
"razaoSocial": "<string>",
"nomeFantasia": "<string>",
"abertura": "<string>",
"situacaoCadastral": "<string>",
"naturezaJuridica": "<string>",
"atividadePrincipal": "<string>",
"porte": "<string>",
"capitalSocial": "<string>",
"faixaFaturamento": "<string>",
"faixaFuncionarios": "<string>",
"socios": [
{
"nome": "<string>",
"documento": "<string>",
"qualificacao": "<string>",
"participacao": "<string>",
"desde": "<string>"
}
],
"telefones": [
{
"numero": "11987654321",
"ddd": "11",
"tipo": "TELEFONE MÓVEL",
"whatsapp": true,
"ranking": 1
}
],
"emails": [
"<string>"
],
"enderecos": [
{
"logradouro": "<string>",
"numero": "<string>",
"complemento": "<string>",
"bairro": "<string>",
"cidade": "<string>",
"uf": "<string>",
"cep": "<string>"
}
]
},
"dados": {},
"bruto": {}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}Consultar por produto
Atende o catálogo inteiro, inclusive o que não tem rota dedicada: situação na Receita, óbito, participação societária, protestos, score, veículo por placa e validação de email.
É a rota que não envelhece: produto novo passa a ser atendido aqui sem versão nova da API.
curl --request POST \
--url https://{instancia}/api/v1/consultas \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"produto": "receita-federal-pj",
"documento": "11222333000181"
}
'import requests
url = "https://{instancia}/api/v1/consultas"
payload = {
"produto": "receita-federal-pj",
"documento": "11222333000181"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({produto: 'receita-federal-pj', documento: '11222333000181'})
};
fetch('https://{instancia}/api/v1/consultas', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{instancia}/api/v1/consultas",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'produto' => 'receita-federal-pj',
'documento' => '11222333000181'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{instancia}/api/v1/consultas"
payload := strings.NewReader("{\n \"produto\": \"receita-federal-pj\",\n \"documento\": \"11222333000181\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{instancia}/api/v1/consultas")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"produto\": \"receita-federal-pj\",\n \"documento\": \"11222333000181\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instancia}/api/v1/consultas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"produto\": \"receita-federal-pj\",\n \"documento\": \"11222333000181\"\n}"
response = http.request(request)
puts response.read_body{
"consulta": {
"id": "cmtsr515m1uxzjn04ta469e3q",
"produto": "search-pf",
"documento": "12345678909",
"cache": false,
"consultadoEm": "2023-11-07T05:31:56Z",
"duracaoMs": 609
},
"pessoa": {
"cpf": "<string>",
"nome": "<string>",
"nomeMae": "<string>",
"nascimento": "<string>",
"idade": 123,
"sexo": "<string>",
"escolaridade": "<string>",
"rendaPresumida": "<string>",
"situacaoCadastral": "<string>",
"obito": true,
"telefones": [
{
"numero": "11987654321",
"ddd": "11",
"tipo": "TELEFONE MÓVEL",
"whatsapp": true,
"ranking": 1
}
],
"emails": [
"<string>"
],
"enderecos": [
{
"logradouro": "<string>",
"numero": "<string>",
"complemento": "<string>",
"bairro": "<string>",
"cidade": "<string>",
"uf": "<string>",
"cep": "<string>"
}
]
},
"empresa": {
"cnpj": "<string>",
"razaoSocial": "<string>",
"nomeFantasia": "<string>",
"abertura": "<string>",
"situacaoCadastral": "<string>",
"naturezaJuridica": "<string>",
"atividadePrincipal": "<string>",
"porte": "<string>",
"capitalSocial": "<string>",
"faixaFaturamento": "<string>",
"faixaFuncionarios": "<string>",
"socios": [
{
"nome": "<string>",
"documento": "<string>",
"qualificacao": "<string>",
"participacao": "<string>",
"desde": "<string>"
}
],
"telefones": [
{
"numero": "11987654321",
"ddd": "11",
"tipo": "TELEFONE MÓVEL",
"whatsapp": true,
"ranking": 1
}
],
"emails": [
"<string>"
],
"enderecos": [
{
"logradouro": "<string>",
"numero": "<string>",
"complemento": "<string>",
"bairro": "<string>",
"cidade": "<string>",
"uf": "<string>",
"cep": "<string>"
}
]
},
"dados": {},
"bruto": {}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}{
"erro": {
"codigo": "nao_encontrado",
"mensagem": "Documento não localizado.",
"detalhe": {}
}
}Obrigatório
produto e documento. A lista de produtos que a sua chave pode pedir sai em
listar produtos, que não gera cobrança.{
"produto": "receita-federal-pj",
"documento": "11222333000181"
}
{
"produto": "receita-federal-pj",
"documento": "11222333000181",
"atualizar": true
}
pessoa para produto de
pessoa, empresa para produto de empresa, e dados para o que não é nenhum dos dois,
como veículo e validação de email.
Só os produtos de ficha têm forma conhecida. Nos demais o objeto de dados vem null e a
informação está inteira em bruto, o que é mais honesto do que devolver um objeto de
campos vazios parecendo dizer que o bureau não achou nada.Authorizations
Chave de API criada em Configurações, Integrações, Chaves de API. Começa com sk_live_ e aparece uma vez só. O cabeçalho X-API-Key também é aceito, com o mesmo valor.
Body
Response
Consulta concluída. O nome do objeto de dados segue o assunto do produto: pessoa, empresa, ou dados para o que não é nenhum dos dois. Produto sem forma conhecida devolve o objeto nulo e a informação inteira em bruto.
Metadados da chamada.
Show child attributes
Show child attributes
A ficha em campos estáveis. Campo que o bureau não tem vem null, nunca preenchido por dedução.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
A resposta original do bureau, sem tratamento. Existe para você não ficar sem informação que já foi paga, e é onde estão as coisas que ainda não têm campo próprio, como latitude do endereço, operadora do telefone e CBO do sócio. Programe contra os campos nomeados, que são o contrato.