Busca por CPF/CNPJ
curl --request POST \
--url https://api.lazydata.com.br/v1/search/process \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"taxid": "<string>",
"datasets": [
"<string>"
],
"additional": {}
}
'import requests
url = "https://api.lazydata.com.br/v1/search/process"
payload = {
"taxid": "<string>",
"datasets": ["<string>"],
"additional": {}
}
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: {}})
};
fetch('https://api.lazydata.com.br/v1/search/process', 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/process",
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' => [
]
]),
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/process"
payload := strings.NewReader("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {}\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/process")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/process")
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}"
response = http.request(request)
puts response.read_body{
"code": 202,
"message": "Consulta iniciada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "queued",
"status_values": ["queued", "processing", "completed", "failed"],
"datasets": ["process_cnj_pje"]
}
}
{
"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."
}
Processos
Busca por CPF/CNPJ
Inicie uma consulta processual por CPF ou CNPJ nos datasets selecionados.
POST
https://api.lazydata.com.br/
/
v1
/
search
/
process
Busca por CPF/CNPJ
curl --request POST \
--url https://api.lazydata.com.br/v1/search/process \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"taxid": "<string>",
"datasets": [
"<string>"
],
"additional": {}
}
'import requests
url = "https://api.lazydata.com.br/v1/search/process"
payload = {
"taxid": "<string>",
"datasets": ["<string>"],
"additional": {}
}
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: {}})
};
fetch('https://api.lazydata.com.br/v1/search/process', 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/process",
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' => [
]
]),
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/process"
payload := strings.NewReader("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {}\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/process")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"taxid\": \"<string>\",\n \"datasets\": [\n \"<string>\"\n ],\n \"additional\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lazydata.com.br/v1/search/process")
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}"
response = http.request(request)
puts response.read_body{
"code": 202,
"message": "Consulta iniciada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "queued",
"status_values": ["queued", "processing", "completed", "failed"],
"datasets": ["process_cnj_pje"]
}
}
{
"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."
}
Inicia uma consulta processual usando um CPF ou CNPJ e os datasets processuais informados no corpo da requisição.
Consultas processuais são sempre assíncronas. A resposta inicial retorna um
Estrutura de
Onde
id, e o resultado deve ser consultado posteriormente no endpoint de resultado assíncrono.
{
"code": 202,
"message": "Consulta iniciada com sucesso.",
"result": {
"id": "9fcb573b-7f62-4774-978b-07e89dfef5f2",
"status": "queued",
"status_values": ["queued", "processing", "completed", "failed"],
"datasets": ["process_cnj_pje"]
}
}
{
"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
CPF ou CNPJ que será pesquisado nos módulos processuais selecionados. Pontuação é aceita e removida automaticamente.
string[]
required
Lista de IDs dos datasets processuais que serão consultados.
object
Dados adicionais por dataset, quando algum dataset exigir parâmetros extras.
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": "00000000000",
"datasets": ["process_cnj_pje"],
"additional": {}
}
O documento acima é fictício e serve apenas para demonstrar a estrutura da requisição. Em chamadas reais ou sandbox, informe um CPF ou CNPJ válido para o ambiente utilizado.
Datasets processuais
Antes de iniciar a consulta, liste os datasets disponíveis em Datasets e preços usando o tipoprocess.
Use apenas datasets com active: true.
Parâmetros adicionais por dataset
Alguns datasets podem exigir campos adicionais. Consulteadditional_fields no endpoint de datasets e preços para saber quais campos devem ser enviados.
Exemplo de envio de dados adicionais:
{
"taxid": "00000000000000",
"datasets": ["process_example_dataset"],
"additional": {
"process_example_dataset": {
"state": "SP"
}
}
}
Resposta
integer
required
Código da resposta da API.
string
required
Mensagem descritiva da resposta.
object
required
Objeto principal com os dados de acompanhamento da consulta assíncrona.
Estrutura de result
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da consulta assíncrona. Use este valor para consultar o resultado depois. |
status | string | Status atual da consulta. Na resposta inicial, normalmente retorna queued. |
status_values | array<string> | Lista de status possíveis da consulta assíncrona. |
datasets | array<string> | Datasets processuais solicitados na consulta. |
Status possíveis
| Status | Descrição |
|---|---|
queued | Consulta criada e aguardando processamento. |
processing | Consulta em processamento. |
completed | Consulta finalizada. Verifique o resultado, erros e status por dataset no endpoint de resultado. |
failed | Consulta finalizada com falha geral. |
Consulta do resultado
Após receber oid, consulte o andamento e o resultado final em:
GET /v1/search/process/{history_id}
history_id é o id retornado na criação da consulta.
Consulte a página de resultado assíncrono para ver a estrutura completa do retorno final.
Retorno final
Quando a consulta for finalizada, o resultado assíncrono retorna a estrutura completa da busca, incluindo:| Campo | Descrição |
|---|---|
query | Documento, datasets e campos adicionais usados na consulta. |
cost | Valores debitados e estornados por dataset. |
timing | Tempo total e tempo individual por dataset, quando disponível. |
errors | Erros por dataset, quando ocorrerem. |
datasets_status | Status individual de cada dataset consultado. |
result | Dados retornados por cada dataset processual. |
Campos descritos na estrutura dos datasets podem não aparecer em todas as consultas. A disponibilidade depende da fonte, do documento consultado e do dataset selecionado.
Respostas esperadas
As respostas possíveis estão exemplificadas no painel lateral da página.| Status | Quando ocorre |
|---|---|
202 | Consulta processual iniciada com sucesso. |
400 | Requisição inválida, documento inválido, dataset ausente ou parâmetro 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
- Liste os datasets disponíveis em Datasets e preços usando
target: process. - Selecione apenas datasets processuais ativos.
- Envie o CPF ou CNPJ, os datasets e os campos adicionais necessários.
- Guarde o
idretornado. - Consulte o resultado em Resultado assíncrono usando
target: process.
Evite polling agressivo. Consultas processuais podem levar mais tempo por dependerem de múltiplas fontes e tribunais.

