Busca por telefone
curl --request POST \
--url https://api.lazydata.com.br/v1/search/person/phone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "<string>",
"page": 123
}
'import requests
url = "https://api.lazydata.com.br/v1/search/person/phone"
payload = {
"phone": "<string>",
"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({phone: '<string>', page: 123})
};
fetch('https://api.lazydata.com.br/v1/search/person/phone', 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/person/phone",
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([
'phone' => '<string>',
'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/person/phone"
payload := strings.NewReader("{\n \"phone\": \"<string>\",\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/person/phone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"<string>\",\n \"page\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/person/phone")
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 \"phone\": \"<string>\",\n \"page\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"items": [
{
"taxid": "00000000000",
"name": "PESSOA EXEMPLO DOS SANTOS",
"birthdate": "1988-04-22",
"age": 38,
"mother_name": "ANA DOS SANTOS",
"father_name": "CARLOS DOS SANTOS",
"location": "São Paulo/SP",
"city": "São Paulo",
"state": "SP",
"synthetic": true
}
],
"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 física
Busca por telefone
Busque pessoas físicas vinculadas a um telefone com DDD.
POST
https://api.lazydata.com.br/
/
v1
/
search
/
person
/
phone
Busca por telefone
curl --request POST \
--url https://api.lazydata.com.br/v1/search/person/phone \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"phone": "<string>",
"page": 123
}
'import requests
url = "https://api.lazydata.com.br/v1/search/person/phone"
payload = {
"phone": "<string>",
"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({phone: '<string>', page: 123})
};
fetch('https://api.lazydata.com.br/v1/search/person/phone', 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/person/phone",
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([
'phone' => '<string>',
'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/person/phone"
payload := strings.NewReader("{\n \"phone\": \"<string>\",\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/person/phone")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"phone\": \"<string>\",\n \"page\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/person/phone")
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 \"phone\": \"<string>\",\n \"page\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"items": [
{
"taxid": "00000000000",
"name": "PESSOA EXEMPLO DOS SANTOS",
"birthdate": "1988-04-22",
"age": 38,
"mother_name": "ANA DOS SANTOS",
"father_name": "CARLOS DOS SANTOS",
"location": "São Paulo/SP",
"city": "São Paulo",
"state": "SP",
"synthetic": true
}
],
"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 paginada de pessoa física a partir de um telefone com DDD.
Use esta rota quando você possui um telefone e precisa localizar possíveis pessoas físicas relacionadas a ele.
Estrutura de
Estrutura de
{
"code": 200,
"message": "Consulta realizada com sucesso.",
"result": {
"items": [
{
"taxid": "00000000000",
"name": "PESSOA EXEMPLO DOS SANTOS",
"birthdate": "1988-04-22",
"age": 38,
"mother_name": "ANA DOS SANTOS",
"father_name": "CARLOS DOS SANTOS",
"location": "São Paulo/SP",
"city": "São Paulo",
"state": "SP",
"synthetic": true
}
],
"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
required
Telefone com DDD. Pontuação é aceita e removida automaticamente.
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 do telefone
O telefone deve conter DDD e 10 ou 11 dígitos após normalização. O prefixo internacional55 é aceito e removido automaticamente quando informado.
Exemplo de corpo
{
"phone": "11999990000",
"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 o telefone informado. |
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 | CPF encontrado. |
name | string | Nome da pessoa. |
birthdate | string | Data de nascimento no formato yyyy-mm-dd, quando disponível. |
age | integer | Idade calculada, quando disponível. |
mother_name | string | Nome da mãe, quando disponível. |
father_name | string | Nome do pai, quando disponível. |
location | string | Localização resumida, quando disponível. |
city | string | Cidade, quando disponível. |
state | string | UF, quando disponível. |
synthetic | boolean | Indica retorno sintético em chamadas sandbox, quando aplicável. |
Campos de
items[] podem não ser retornados em todas as consultas. A disponibilidade depende do telefone informado e dos dados existentes para os registros encontrados.Paginação
Quandohas_more retornar true, envie a mesma requisição incrementando page.
{
"phone": "11999990000",
"page": 2
}
Respostas esperadas
As respostas possíveis estão exemplificadas no painel lateral da página.| Status | Quando ocorre |
|---|---|
200 | Busca executada com sucesso. |
400 | Requisição inválida, telefone ausente ou telefone 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
- Informe o telefone com DDD.
- Leia
itemse verifiquehas_more. - Se
has_morefortrue, consulte a próxima página. - Use
x-ambient: sandboxpara validar integração sem consumir saldo.
⌘I

