Busca avançada
curl --request POST \
--url https://api.lazydata.com.br/v1/search/company/advanced \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"taxid": "<string>",
"name": "<string>",
"fantasy": "<string>",
"address": "<string>",
"uf": "<string>",
"zipcode": "<string>",
"similar_name": true,
"page": 123
}
'import requests
url = "https://api.lazydata.com.br/v1/search/company/advanced"
payload = {
"taxid": "<string>",
"name": "<string>",
"fantasy": "<string>",
"address": "<string>",
"uf": "<string>",
"zipcode": "<string>",
"similar_name": True,
"page": 123
}
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>',
name: '<string>',
fantasy: '<string>',
address: '<string>',
uf: '<string>',
zipcode: '<string>',
similar_name: true,
page: 123
})
};
fetch('https://api.lazydata.com.br/v1/search/company/advanced', 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/advanced",
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>',
'name' => '<string>',
'fantasy' => '<string>',
'address' => '<string>',
'uf' => '<string>',
'zipcode' => '<string>',
'similar_name' => true,
'page' => 123
]),
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/advanced"
payload := strings.NewReader("{\n \"taxid\": \"<string>\",\n \"name\": \"<string>\",\n \"fantasy\": \"<string>\",\n \"address\": \"<string>\",\n \"uf\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"similar_name\": true,\n \"page\": 123\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/advanced")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxid\": \"<string>\",\n \"name\": \"<string>\",\n \"fantasy\": \"<string>\",\n \"address\": \"<string>\",\n \"uf\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"similar_name\": true,\n \"page\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/company/advanced")
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 \"name\": \"<string>\",\n \"fantasy\": \"<string>\",\n \"address\": \"<string>\",\n \"uf\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"similar_name\": true,\n \"page\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"items": [
{
"taxid": "00.000.000/0000-00",
"name": "EMPRESA EXEMPLO LTDA",
"fantasy": "EXEMPLO",
"location": "São Paulo/SP",
"status": "ATIVA",
"activity_start_date": "2020-01-15",
"address": "AVENIDA EXEMPLO, 100 - CENTRO - São Paulo - SP - 00000-000",
"uf": "SP",
"zipcode": "00000000",
"score": 18.4
}
],
"has_more": false,
"page": 1,
"price": 0.09,
"charged": 0.09,
"debit_only_if_found": false,
"time": 0.42,
"test": false
}
}
{
"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 avançada
Busque pessoas jurídicas por razão social, nome fantasia, CNPJ, endereço, UF ou CEP.
POST
https://api.lazydata.com.br
/
v1
/
search
/
company
/
advanced
Busca avançada
curl --request POST \
--url https://api.lazydata.com.br/v1/search/company/advanced \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"taxid": "<string>",
"name": "<string>",
"fantasy": "<string>",
"address": "<string>",
"uf": "<string>",
"zipcode": "<string>",
"similar_name": true,
"page": 123
}
'import requests
url = "https://api.lazydata.com.br/v1/search/company/advanced"
payload = {
"taxid": "<string>",
"name": "<string>",
"fantasy": "<string>",
"address": "<string>",
"uf": "<string>",
"zipcode": "<string>",
"similar_name": True,
"page": 123
}
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>',
name: '<string>',
fantasy: '<string>',
address: '<string>',
uf: '<string>',
zipcode: '<string>',
similar_name: true,
page: 123
})
};
fetch('https://api.lazydata.com.br/v1/search/company/advanced', 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/advanced",
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>',
'name' => '<string>',
'fantasy' => '<string>',
'address' => '<string>',
'uf' => '<string>',
'zipcode' => '<string>',
'similar_name' => true,
'page' => 123
]),
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/advanced"
payload := strings.NewReader("{\n \"taxid\": \"<string>\",\n \"name\": \"<string>\",\n \"fantasy\": \"<string>\",\n \"address\": \"<string>\",\n \"uf\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"similar_name\": true,\n \"page\": 123\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/advanced")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxid\": \"<string>\",\n \"name\": \"<string>\",\n \"fantasy\": \"<string>\",\n \"address\": \"<string>\",\n \"uf\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"similar_name\": true,\n \"page\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/company/advanced")
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 \"name\": \"<string>\",\n \"fantasy\": \"<string>\",\n \"address\": \"<string>\",\n \"uf\": \"<string>\",\n \"zipcode\": \"<string>\",\n \"similar_name\": true,\n \"page\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"items": [
{
"taxid": "00.000.000/0000-00",
"name": "EMPRESA EXEMPLO LTDA",
"fantasy": "EXEMPLO",
"location": "São Paulo/SP",
"status": "ATIVA",
"activity_start_date": "2020-01-15",
"address": "AVENIDA EXEMPLO, 100 - CENTRO - São Paulo - SP - 00000-000",
"uf": "SP",
"zipcode": "00000000",
"score": 18.4
}
],
"has_more": false,
"page": 1,
"price": 0.09,
"charged": 0.09,
"debit_only_if_found": false,
"time": 0.42,
"test": false
}
}
{
"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 busca avançada de pessoa jurídica em formato paginado.
Use esta rota quando você não possui o CNPJ exato ou precisa localizar empresas por dados parciais, como razão social, nome fantasia, logradouro, UF ou CEP.
Estrutura de
Estrutura de
{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"items": [
{
"taxid": "00.000.000/0000-00",
"name": "EMPRESA EXEMPLO LTDA",
"fantasy": "EXEMPLO",
"location": "São Paulo/SP",
"status": "ATIVA",
"activity_start_date": "2020-01-15",
"address": "AVENIDA EXEMPLO, 100 - CENTRO - São Paulo - SP - 00000-000",
"uf": "SP",
"zipcode": "00000000",
"score": 18.4
}
],
"has_more": false,
"page": 1,
"price": 0.09,
"charged": 0.09,
"debit_only_if_found": false,
"time": 0.42,
"test": false
}
}
{
"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
CNPJ da empresa. Pontuação é aceita e removida automaticamente.
string
Razão social ou parte da razão social.
string
Nome fantasia ou parte do nome fantasia.
string
Logradouro ou parte do endereço.
string
Sigla da unidade federativa com 2 letras.
string
CEP com 8 dígitos. Pontuação é aceita e removida automaticamente.
boolean
default:"false"
Quando
true, permite busca aproximada por razão social ou nome fantasia.integer
default:"1"
Página dos resultados. Use a próxima página enquanto
has_more for true.string
Use
sandbox para executar uma chamada de teste sem consumo de saldo.Para detalhes sobre chamadas de teste, consulte Ambiente de teste.
Regras dos filtros
É necessário informar pelo menos um dos campos aceitos:taxid, name, fantasy, address ou zipcode.
Quando taxid for informado, ele deve conter um CNPJ válido após normalização.
Quando uf for informado, ele deve conter uma sigla válida com 2 letras.
Exemplo de corpo
{
"name": "EMPRESA EXEMPLO LTDA",
"uf": "SP",
"similar_name": true,
"page": 1
}
Resposta
integer
required
Código da resposta da API.
string
required
Mensagem descritiva da resposta.
object
required
Objeto principal com os registros encontrados, dados de paginação, cobrança e tempo de execução.
Estrutura de result
| Campo | Tipo | Descrição |
|---|---|---|
items | array<object> | Registros encontrados para os filtros enviados. |
has_more | boolean | Indica se existe próxima página disponível. |
page | integer | Página retornada. |
price | number | Preço da busca para a conta autenticada. |
charged | number | Valor debitado nesta chamada. Em sandbox, retorna 0. |
debit_only_if_found | boolean | Indica se a cobrança ocorre apenas quando houver resultado útil. |
time | number | Tempo de execução em segundos. |
test | boolean | Indica se a chamada foi executada em ambiente de teste. |
Estrutura de result.items[]
| Campo | Tipo | Descrição |
|---|---|---|
taxid | string | CNPJ encontrado. |
name | string | Razão social. |
fantasy | string | Nome fantasia, quando disponível. |
location | string | Localização resumida, quando disponível. |
status | string | Situação cadastral. |
activity_start_date | string | Data de abertura ou início de atividade no formato yyyy-mm-dd, quando disponível. |
address | string | Endereço resumido, quando disponível. |
uf | string | UF. |
zipcode | string | CEP, quando disponível. |
score | number | Indicador de similaridade ou relevância do resultado, quando disponível. |
Campos de
items[] podem não ser retornados em todas as consultas. A disponibilidade depende dos filtros enviados e dos dados existentes para o registro encontrado.Paginação
Quandohas_more retornar true, envie a mesma requisição incrementando page.
{
"name": "EMPRESA EXEMPLO LTDA",
"uf": "SP",
"similar_name": true,
"page": 2
}
Respostas esperadas
| Status | Quando ocorre |
|---|---|
200 | Busca executada com sucesso. |
400 | Requisição inválida, filtro ausente ou campo em formato incompatível. |
401 | A chave da API está ausente, inválida ou não pôde ser autenticada. |
403 | A credencial não possui escopo de consulta, o plano não permite acesso ou há bloqueio financeiro. |
Fluxo recomendado
- Envie os filtros mais específicos disponíveis.
- Use
similar_name: truequando precisar aceitar variações de razão social ou nome fantasia. - Leia
itemse verifiquehas_more. - Se
has_morefortrue, consulte a próxima página. - Use
x-ambient: sandboxpara validar integração sem consumir saldo.

