Busca por CNPJ
curl --request POST \
--url https://api.lazydata.com.br/v1/search/company \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"taxid": "<string>",
"datasets": [
"<string>"
],
"additional": {},
"mode": "<string>"
}
'import requests
url = "https://api.lazydata.com.br/v1/search/company"
payload = {
"taxid": "<string>",
"datasets": ["<string>"],
"additional": {},
"mode": "<string>"
}
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({taxid: '<string>', datasets: ['<string>'], additional: {}, mode: '<string>'})
};
fetch('https://api.lazydata.com.br/v1/search/company', 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://api.lazydata.com.br/v1/search/company",
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([
'taxid' => '<string>',
'datasets' => [
'<string>'
],
'additional' => [
],
'mode' => '<string>'
]),
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://api.lazydata.com.br/v1/search/company"
payload := strings.NewReader("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {},\n \"mode\": \"<string>\"\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://api.lazydata.com.br/v1/search/company")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {},\n \"mode\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/company")
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 \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {},\n \"mode\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "completed",
"target": "company",
"query": {
"taxid": "00000000000000",
"datasets": ["company_basic_data"],
"additional": {}
},
"cost": {
"total": 0.05,
"refunded": 0,
"datasets": {
"company_basic_data": {
"charged": 0.05,
"refunded": 0
}
}
},
"timing": {
"total": 0.42,
"datasets": {
"company_basic_data": 0.42
}
},
"errors": {},
"datasets_status": {
"company_basic_data": "completed"
},
"result": {
"company_basic_data": {
"tax_id": "00000000000000",
"name": "EMPRESA EXEMPLO LTDA",
"fantasy_name": "EXEMPLO",
"status": "ATIVA",
"opening_date": "2020-01-15"
}
},
"created_at": "2026-06-22T12:00:00Z",
"last_updated_at": "2026-06-22T12:00:01Z"
}
}
{
"code": 202,
"message": "Consulta iniciada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "queued",
"status_values": ["queued", "processing", "completed", "failed"],
"datasets": ["company_basic_data"]
}
}
{
"code": 400,
"message": "Um ou mais parâmetros informados são inválidos."
}
{
"code": 401,
"message": "Credencial da API inválida."
}
{
"code": 403,
"message": "A credencial da API não possui permissão para este recurso."
}
Pessoa jurídica
Busca por CNPJ
Execute consultas de pessoa jurídica por CNPJ nos datasets selecionados.
POST
https://api.lazydata.com.br/
/
v1
/
search
/
company
Busca por CNPJ
curl --request POST \
--url https://api.lazydata.com.br/v1/search/company \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"taxid": "<string>",
"datasets": [
"<string>"
],
"additional": {},
"mode": "<string>"
}
'import requests
url = "https://api.lazydata.com.br/v1/search/company"
payload = {
"taxid": "<string>",
"datasets": ["<string>"],
"additional": {},
"mode": "<string>"
}
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({taxid: '<string>', datasets: ['<string>'], additional: {}, mode: '<string>'})
};
fetch('https://api.lazydata.com.br/v1/search/company', 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://api.lazydata.com.br/v1/search/company",
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([
'taxid' => '<string>',
'datasets' => [
'<string>'
],
'additional' => [
],
'mode' => '<string>'
]),
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://api.lazydata.com.br/v1/search/company"
payload := strings.NewReader("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {},\n \"mode\": \"<string>\"\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://api.lazydata.com.br/v1/search/company")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {},\n \"mode\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/company")
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 \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {},\n \"mode\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "completed",
"target": "company",
"query": {
"taxid": "00000000000000",
"datasets": ["company_basic_data"],
"additional": {}
},
"cost": {
"total": 0.05,
"refunded": 0,
"datasets": {
"company_basic_data": {
"charged": 0.05,
"refunded": 0
}
}
},
"timing": {
"total": 0.42,
"datasets": {
"company_basic_data": 0.42
}
},
"errors": {},
"datasets_status": {
"company_basic_data": "completed"
},
"result": {
"company_basic_data": {
"tax_id": "00000000000000",
"name": "EMPRESA EXEMPLO LTDA",
"fantasy_name": "EXEMPLO",
"status": "ATIVA",
"opening_date": "2020-01-15"
}
},
"created_at": "2026-06-22T12:00:00Z",
"last_updated_at": "2026-06-22T12:00:01Z"
}
}
{
"code": 202,
"message": "Consulta iniciada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "queued",
"status_values": ["queued", "processing", "completed", "failed"],
"datasets": ["company_basic_data"]
}
}
{
"code": 400,
"message": "Um ou mais parâmetros informados são inválidos."
}
{
"code": 401,
"message": "Credencial da API inválida."
}
{
"code": 403,
"message": "A credencial da API não possui permissão para este recurso."
}
Executa uma consulta de pessoa jurídica por CNPJ usando os datasets informados no corpo da requisição.
Essa consulta pode ser executada em modo síncrono ou assíncrono. No modo assíncrono, a API retorna um
Valores aceitos para
Estrutura de
Para consultar o resultado final, use o
id para acompanhamento posterior do resultado.
{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "completed",
"target": "company",
"query": {
"taxid": "00000000000000",
"datasets": ["company_basic_data"],
"additional": {}
},
"cost": {
"total": 0.05,
"refunded": 0,
"datasets": {
"company_basic_data": {
"charged": 0.05,
"refunded": 0
}
}
},
"timing": {
"total": 0.42,
"datasets": {
"company_basic_data": 0.42
}
},
"errors": {},
"datasets_status": {
"company_basic_data": "completed"
},
"result": {
"company_basic_data": {
"tax_id": "00000000000000",
"name": "EMPRESA EXEMPLO LTDA",
"fantasy_name": "EXEMPLO",
"status": "ATIVA",
"opening_date": "2020-01-15"
}
},
"created_at": "2026-06-22T12:00:00Z",
"last_updated_at": "2026-06-22T12:00:01Z"
}
}
{
"code": 202,
"message": "Consulta iniciada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "queued",
"status_values": ["queued", "processing", "completed", "failed"],
"datasets": ["company_basic_data"]
}
}
{
"code": 400,
"message": "Um ou mais parâmetros informados são inválidos."
}
{
"code": 401,
"message": "Credencial da API inválida."
}
{
"code": 403,
"message": "A credencial da API não possui permissão para este recurso."
}
Corpo da requisição
string
required
CNPJ da empresa consultada. Pontuação é aceita e removida automaticamente.
string[]
required
Lista de IDs dos datasets que serão consultados.
object
Dados adicionais por dataset, quando algum dataset exigir parâmetros extras.
string
default:"async"
Modo da consulta.
mode:
| Valor | Descrição |
|---|---|
async | Inicia a consulta e retorna um id para acompanhar o resultado depois. |
sync | Aguarda a conclusão da consulta e retorna os dados diretamente na resposta. |
string
Use
sandbox para executar uma chamada de teste sem consumo de saldo.Para detalhes sobre chamadas de teste, consulte Ambiente de teste.
Exemplo de corpo
{
"taxid": "00000000000000",
"mode": "async",
"datasets": ["company_basic_data"],
"additional": {}
}
O CNPJ acima é fictício e serve apenas para demonstrar a estrutura da requisição. Em chamadas reais ou sandbox, informe um CNPJ válido para o ambiente utilizado.
Parâmetros adicionais por dataset
Alguns datasets podem exigir campos adicionais. Consulteadditional_fields em Datasets e preços para saber quais campos devem ser enviados.
Exemplo de envio de dados adicionais:
{
"taxid": "00000000000000",
"mode": "async",
"datasets": ["company_example_dataset"],
"additional": {
"company_example_dataset": {
"state": "SP"
}
}
}
Resposta
integer
required
Código da resposta da API.
string
required
Mensagem descritiva da resposta.
object
required
Objeto principal da consulta. A estrutura varia de acordo com o modo de execução.
Retorno síncrono
Quandomode é sync, a resposta pode retornar code: 200 com os dados completos da consulta.
Estrutura de result
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador único da consulta. |
status | string | Status final da consulta. Normalmente completed. |
target | string | Tipo da consulta. Para esta rota, retorna company. |
query | object | Dados usados na consulta. |
cost | object | Valores cobrados e estornados. |
timing | object | Tempo total e tempo individual por dataset. |
errors | object | Erros por dataset, quando ocorrerem. |
datasets_status | object | Status individual de cada dataset. |
result | object | Resultado agrupado por dataset. |
created_at | string | Data de criação da consulta em ISO 8601. |
last_updated_at | string | Data da última atualização da consulta em ISO 8601. |
Retorno assíncrono
Quandomode é async, a resposta inicial retorna code: 202 e o processamento continua em segundo plano.
Status possíveis:
| Status | Descrição |
|---|---|
queued | Consulta criada e aguardando processamento. |
processing | Consulta em processamento. |
completed | Consulta finalizada com sucesso. |
failed | Consulta finalizada com falha. |
id retornado no endpoint de resultado assíncrono.
Campos descritos na estrutura do dataset podem não ser retornados em todas as consultas. Alguns dados dependem da disponibilidade da fonte e do CNPJ consultado.
Fluxo recomendado
- Liste os datasets disponíveis em Datasets e preços.
- Selecione apenas datasets com
active: true. - Envie o CNPJ, os datasets e os campos adicionais necessários.
- Use
mode: "async"para consultas com múltiplos datasets ou fontes online. - Consulte o resultado pelo
idretornado quando a chamada for assíncrona.
⌘I

