Os preços desta página são de tabela, sem assinatura — plano reduz o valor por consulta, e fonte de repasse cobra o emolumento da UF do alvo. O número que vale é o do POST /v1/orcamento/confirmacao-veicular, calculado sobre o alvo real e sem cobrar.

Documentação

Base agregada de terceiro (ponte Telegram)

Confirmação veicular por placa

Proprietário atual, dados e restrições de um veículo a partir da placa.

Em construção
POST /v1/consultas/confirmacao-veicular v1

Tempo típico

não medido

A partir de

R$ 1,00

por consulta, varia por UF

Visão geral

Recebe uma placa e devolve quem consta como proprietário e como possuidor hoje, mais os dados do veículo (chassi, RENAVAM, marca/modelo, ano, município de emplacamento) e as restrições registradas.

É o passo que transforma uma lista de placas em patrimônio: sem ele, uma relação de veículos ligada a um CPF é uma lista de carros que a pessoa JÁ TEVE, misturada com os que ainda tem.

Atenção: Nomeia o proprietário atual, que pode ser um terceiro sem relação com a investigação.

Antes de começar

5 crítico · 1 de atenção

Cada item aqui saiu de um caso real que custou dinheiro. Ler isto é mais barato do que descobrir depois.

Crítico

Fonte sensível: `finalidade` é obrigatória em toda chamada

Esta consulta devolve dado pessoal de terceiro (LGPD art. 11). Diferente das demais, finalidade não é opcional aqui e não vale só no primeiro pedido: ela é exigida a CADA chamada, com no mínimo 10 caracteres, e vai para a trilha de auditoria junto com o token que pediu.

Um cabeçalho Authorization: Bearer não declara finalidade nenhuma — é por isso que o campo existe. Chamada sem ele morre em 422, antes de qualquer efeito e sem cobrança.

A finalidade é SUA e você responde por ela. Escreva o motivo real da diligência, não um texto fixo de dez caracteres: a trilha é o que sustenta a consulta se alguém perguntar.

Crítico

Descoberta, não prova

Nada que sai daqui tem fé pública. É agregação de bases de terceiro: pode estar desatualizada, pode estar errada, e não vira documento anexável.

Serve para achar o fio — o endereço para citar, o telefone para intimar, a empresa para investigar. Quem PROVA é a certidão, que é outro produto e cobra de novo.

Crítico

Não idempotente: nunca retente sozinho

A origem recebe a pergunta como MENSAGEM, e mensagem é at-most-once. Silêncio não significa que a pergunta não chegou — significa só que a resposta não voltou.

Mande Idempotency-Key e, em caso de timeout do seu lado, reenvie com a MESMA chave. Retry automático de biblioteca HTTP, com chave nova, duplica a pergunta na origem.

Crítico

A resposta nomeia um TERCEIRO com frequência

A pergunta é sobre a placa, não sobre o alvo. Se o veículo foi vendido, quem volta é o comprador — alguém que não tem relação nenhuma com a sua investigação e que não pediu nada a ninguém.

Medido em 2026-08-27: dos três veículos que a base ligou ao CPF de um alvo real, os três estavam em nome de outras pessoas. Esse é o caso NORMAL, não a exceção.

Crítico

A data-teto é a emissão do último CRV

A informação de propriedade é tão nova quanto emissao_ultimo_crv. Uma transferência feita depois dessa data pode não estar refletida.

Antes de afirmar "o veículo é de fulano hoje", olhe esse campo. Ele é a diferença entre um indício datado e uma afirmação que não se sustenta.

Atenção

Restrição decide se o bem serve

Um veículo com alienação fiduciária ativa está em nome do devedor mas garante a dívida de outro. Para penhora, restricoes[] importa tanto quanto o nome do proprietário.

Requisição

Autenticação por token no cabeçalho. Parâmetro obrigatório que falta é recusado antes de qualquer cobrança — não vira consulta paga que volta vazia.

cpf_cnpj string obrigatório

Documento do alvo da investigação — a quem o resultado fica associado e quem é cobrado. NÃO é o que se pesquisa.

placa string obrigatório

Atenção: A placa pesquisada, no padrão antigo ou Mercosul. É este campo que vai à origem.

finalidade string obrigatório

Atenção: Fonte sensível: mínimo 10 caracteres, exigida em TODA chamada, gravada na trilha.

curl -X POST https://api.oficialdata.com.br/v1/consultas/confirmacao-veicular \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "cpf_cnpj": "12345678909",
    "placa": "ABC1D23",
    "finalidade": "Verificação de titularidade de veículo indicado para penhora"
}'

O HTTP é sempre 200 quando a requisição chegou. O resultado real está em code, no corpo — trate code, nunca o status.

Resposta

Dentro de data[]: 25 campos em 1 blocos.

25

Campo que a origem não informou volta null — nunca 0 nem string vazia. Um zero inventado vira "nada consta" num laudo.

data[] object
25 campos
status_consulta string

SUCESSO, NAO_ENCONTRADO ou INDISPONIVEL.

nada_consta boolean

true quando a placa não retorna veículo.

placa string null

A placa como a origem devolveu.

situacao string null

Situação do veículo na base.

proprietario_nome string null

Atenção: Quem consta como PROPRIETÁRIO hoje. Pode ser um terceiro — leia a nota.

proprietario_documento string null

Documento do proprietário.

possuidor_nome string null

Possuidor, quando difere do proprietário — o caso do arrendamento e da alienação fiduciária.

possuidor_documento string null

Documento do possuidor.

emissao_ultimo_crv date null

Atenção: A data-teto da informação: quando o último CRV foi emitido. Uma transferência posterior a ela pode não estar refletida.

atualizado_em date null

Atualização declarada pela base.

chassi string null

Chassi.

renavam string null

RENAVAM.

marca_modelo string null

Marca e modelo.

cor string null

Cor predominante.

ano_fabricacao integer null

Ano de fabricação.

ano_modelo integer null

Ano do modelo.

municipio string null

Município de emplacamento.

uf string(2) null

UF de emplacamento.

tipo_veiculo string null

Tipo.

especie string null

Espécie.

combustivel string null

Combustível.

origem string null

Origem (nacional ou importado).

restricoes[] array

Restrições registradas — alienação, roubo/furto, judicial, administrativa. É o que decide se o bem serve de garantia.

total_restricoes integer

Quantidade de restrições.

mensagem string

Frase pronta para tela e laudo.

Códigos de erro

O mesmo mapa que o motor usa em produção. As colunas de estorno e retentativa fazem parte do contrato: nem toda falha devolve o dinheiro, e você tem direito de saber quais antes de integrar.

Classe Códigos Significa Estorna Retenta
sucesso 200 A origem respondeu e entregou.
nao_encontrado 612 A origem respondeu: nada consta para este alvo. Não Não
indeterminado 611 A origem não conseguiu emitir pela internet. Não é irregularidade. Não Não
erro_participante 608 619 620 A origem recusou os DADOS do pedido. Não Sim
retry 600 605 609 610 613 614 615 618 Instabilidade momentânea da origem ou do transporte. Sim Sim
fatal 601 602 603 604 606 607 617 621 622 Defeito de integração — nosso, não seu. Sim Não

A pegadinha do estorno: erro_participante é a única classe que não devolve o dinheiro — nela a origem respondeu, recusando os dados do pedido. Falha nossa é fatal e sempre estorna.

Permanentes: 602 e 603 não se curam sozinhos — não vale retentar. A fonte sai do ar na hora e um humano é avisado.

Preço por UF

É emolumento de cartório, fixado por lei estadual. Orçar antes de disparar em lote não é boa prática, é requisito.

Mais barata

R$ 1,00

BR

Mediana

R$ 1,00

1 UFs vendáveis

Mais cara

R$ 1,00

BR — 1,0× a mais barata

Estes são os preços da sua conta. O valor é o emolumento do cartório mais a nossa margem, e a margem varia conforme o seu plano — planos maiores pagam menos por consulta.

BR

1,00

Limites e desempenho

Números medidos em produção. Onde está "não medido", é porque não medimos — e um número chutado aqui viraria SLA que ninguém verificou.

Tempo típico

não medido

p95

não medido

Teto por hora

Timeout máximo

De onde vem o tempo: dos ~s típicos, cerca de 85% é a origem varrendo os cartórios. Essa parte é intocável — não há otimização nossa que a reduza.

Sobre o teto: a origem exige sessão única por conta, então as corridas são serializadas. O número acima é o limite real de uma conta, não uma cota comercial. Volume acima disso exige combinar antes — não adianta paralelizar do seu lado.

Versionamento

O contrato de resposta é v1, e a versão viaja em header.api_version em toda resposta.

  • Campo novo opcional pode entrar a qualquer momento e não muda a versão. Seu parser precisa ignorar campo que não conhece.
  • Remover campo, renomear campo ou mudar tipo é versão nova, publicada em paralelo, com prazo de desligamento anunciado da anterior.
  • Nunca alteramos o significado de um campo existente mantendo o nome. Se o significado muda, o nome muda junto.

Quer ser dos primeiros a integrar?

A ordem de liberação segue a demanda real. Diga o volume que você espera e em quais UFs.

Falar com a gente →