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/visualizacao-matricula, calculado sobre o alvo real e sem cobrar.

Documentação

Operador Nacional do Sistema de Registro Eletrônico de Imóveis (ONR)

Visualização de Matrícula

O inteiro conteúdo de uma matrícula de imóvel, direto do registro de imóveis, em minutos.

Site oficial da fonte ↗
Beta
POST /v1/consultas/visualizacao-matricula v1

Tempo típico

não medido

A partir de

R$ 12,84

por consulta, varia por UF

Visão geral

Devolve o conteúdo da matrícula do imóvel no registro de imóveis: quem é o titular, os ônus e gravames averbados, penhoras, hipotecas, área, confrontações e a cadeia de atos. É o documento que responde "o que está registrado sobre este imóvel".

Atenção: É fonte de DADO, não certidão. O PDF sai do sistema do cartório, mas **não tem fé pública nem validade declarada** — não é oponível a terceiros e não serve para instruir processo ou fechar negócio. Serve para due diligence, análise e decisão. Quem tem fé pública é a Certidão de Inteiro Teor, que é outro produto, mais caro e mais lento.

O endereçamento é pelo IMÓVEL, não pela pessoa: matrícula + cartório + município + UF. Se você só tem o CPF/CNPJ do titular e não sabe onde ele tem imóvel, comece pela Pesquisa Prévia de Bens — ela faz a busca reversa e devolve exatamente estes quatro campos.

Antes de começar

5 crítico · 3 de atenção

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

Crítico

Não tem fé pública — e a diferença é jurídica, não de formato

A visualização entrega o MESMO conteúdo da certidão de inteiro teor, e é aí que mora o risco: o PDF parece um documento oficial, mas não é assinado digitalmente pelo oficial do registro e não declara validade.

Não use para instruir processo, registrar ato, fechar financiamento ou provar titularidade perante terceiro. Para isso existe a Certidão de Inteiro Teor (/v1/consultas/certidao-inteiro-teor), que é o mesmo conteúdo com assinatura do cartório — e custa cerca de 3,3× mais, porque o emolumento é outro.

Use a visualização para o que ela é boa: due diligence, triagem, decisão interna, conferência antes de pedir a certidão paga.

Crítico

Cada chamada gasta emolumento de cartório, e não tem desfazer

O preço não é tarifa nossa: é o emolumento que o registro de imóveis cobra, fixado por tabela estadual, mais a nossa margem. Ele sai da nossa conta pré-paga no portal no momento do pedido, e ato registral não estorna.

Atenção: Por isso Idempotency-Key é obrigatória. Mesma chave devolve a mesma resposta, sem protocolar de novo e sem cobrar de novo. Chave nova é pedido novo, ainda que o imóvel seja o mesmo.

Cuidado com retry automático de biblioteca HTTP: um timeout do SEU lado não significa que o pedido não saiu do nosso — significa que você não viu a resposta. Reenvie com a MESMA chave.

Crítico

O preço só se sabe orçando — varia por cartório

Não existe tabela nacional. O emolumento muda por estado e por serventia, então o valor publicado no card é PISO ("a partir de"), nunca o preço do seu pedido.

Use POST /v1/orcamento/visualizacao-matricula com os mesmos quatro campos do imóvel: ele cota na origem, não cobra e devolve preco.total com estimado: true. É o único número que bate com a fatura.

Atenção: Cartório que não cota não é vendido. Município escrito errado, serventia inexistente ou tabela indisponível fazem a consulta responder 602 (indisponível) SEM chamar a origem e SEM cobrar — em vez de protocolar um pedido que ninguém sabe quanto custa.

Crítico

O bloqueio de pedido repetido é da CONTA, não da sua

O RI Digital recusa um segundo pedido da mesma matrícula, no mesmo cartório, enquanto o anterior estiver vigente. A recusa vem faturada pela origem e não entrega documento nenhum — por isso nós barramos antes, e a resposta é 602 sem cobrança.

Atenção: A plataforma opera com UMA conta no portal para toda a carteira. Isso significa que um pedido feito por outro cliente nosso, do mesmo imóvel, bloqueia o seu enquanto estiver vigente. A janela em uso é de 7 dias, e ela é estimativa: o portal não devolve o prazo real de vigência.

A resposta diz a data a partir da qual o pedido volta a ser aceito. Se o volume do seu produto tornar isso frequente, o caminho é uma credencial dedicada no portal — fale com o suporte antes de escalar.

Atenção

O link da origem morre em 7 dias — use o nosso

A URL do PDF que o cartório devolve é assinada e expira: medido em 2026-08-11, validade de 7 dias. Guardar essa URL e abrir semanas depois entrega link morto de um documento que já custou emolumento.

Nós arquivamos os bytes na entrega. Use documento_url da resposta — ela aponta para o nosso arquivo, autentica com o mesmo Bearer e não expira. site_receipts[] continua trazendo a URL da origem para conferência.

Crítico

Finalidade é declaração legal

O campo imovel_finalidade é declarado AO CARTÓRIO em nome de quem pede. Não é filtro de busca nem preferência técnica.

Atenção: O valor 3 afirma que o solicitante É titular de direito real registrado sobre o imóvel. Due diligence de imóvel de terceiro não é titularidade — mandar 3 ali é declaração falsa feita em nome do seu cliente. Por isso o padrão é 2, e o 3 só vai à origem se você o enviar explicitamente.

Atenção

A resposta é 202: o pedido roda na fila

O portal do cartório leva de dezenas de segundos a poucos minutos, e segurar a conexão até lá deixa pedido órfão pago quando o seu HTTP desiste. Por isso o POST responde 202 com data[0].protocolo na hora, e o documento chega depois.

Consulte GET /v1/consultas/{protocolo} para acompanhar. Ele **não cobra e não fala com a origem** — lê a linha que o motor já escreveu, então pode ser consultado à vontade. Enquanto estiver rodando ele responde 202; quando terminar, 200 com o documento (ou um 6xx dizendo o que houve).

O header.billable já vem true no 202: o valor foi debitado na aceitação. Não some o preço de novo quando o 200 chegar.

Atenção

Timeout da origem não quer dizer que nada foi protocolado

Quando o portal não responde a tempo (605), a pergunta que fica é de dinheiro: o ato saiu ou não? Nós não chutamos — perguntamos à lista de pedidos da origem antes de decidir.

Achou o protocolo: o valor fica, o documento é entregue e você recebe normalmente. Não achou: o valor é estornado integralmente e a resposta diz que nada foi cobrado pelo cartório. A reconciliação roda sozinha a cada 30 min.

Atenção: Não reenvie com chave de idempotência nova depois de um timeout. É exatamente o caso em que um segundo ato registral seria protocolado e pago.

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

Atenção: O CONSULENTE, não o dono do imóvel. É a quem a consulta fica associada na sua conta e no seu extrato — o documento sai do imóvel, não deste CPF/CNPJ. Aceita com ou sem máscara.

imovel_matricula string obrigatório

Número da matrícula OU o CNM (Código Nacional de Matrícula). Zeros à esquerda são aceitos.

imovel_cartorio integer obrigatório

Atenção: O NÚMERO do registro de imóveis, inteiro: 1 para o 1º RI. Mandar "1º RI - Taquaritinga" é 607 faturado pela origem.

imovel_municipio string obrigatório

Atenção: Município DO CARTÓRIO, não do imóvel. Medido em 2026-08-11: um imóvel de Fernando Prestes está matriculado no RI de Taquaritinga. Errar aqui não protocola nada — a cotação falha e a consulta fica indisponível sem cobrar.

imovel_uf string(2) obrigatório

UF do cartório.

imovel_finalidade integer opcional

Atenção: Declaração AO CARTÓRIO, não parâmetro técnico. 1 = investigação para avaliação de crédito ou solvência · 2 = investigação jurídica sobre o imóvel e sua titularidade (padrão) · 3 = o solicitante É titular de direito real sobre o imóvel. Ver a nota "Finalidade é declaração legal".

Idempotency-Key header (UUID) obrigatório

Atenção: Cabeçalho HTTP, obrigatório: cada chamada debita emolumento de cartório. Janela de 24 h. Nunca use CPF/CNPJ como chave — documento pessoal em header fica em log de acesso.

curl -X POST https://api.oficialdata.com.br/v1/consultas/visualizacao-matricula \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "cpf_cnpj": "12345678000190",
    "imovel_matricula": "21916",
    "imovel_cartorio": 1,
    "imovel_municipio": "Taquaritinga",
    "imovel_uf": "SP",
    "imovel_finalidade": 2
}'

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[]: 11 campos em 3 blocos.

11

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

data[] object
4 campos
status_consulta string

SUCESSO quando o documento foi entregue. É o estado da CONSULTA, não um veredito sobre o imóvel — a visualização não tem veredito.

documento_url string (URL) null

Atenção: A ENTREGA. Aponta para o nosso arquivo, autentica com o mesmo Bearer e NÃO expira. Use esta, nunca a de site_receipts[] — aquela é da origem e morre em 7 dias.

mensagem string

Frase pronta para tela, já com o aviso de que a visualização não tem fé pública.

site_receipts[] array<string>

⚠️ URL do PDF NA ORIGEM. Expira em 7 dias — está aqui para conferência e auditoria, não para ser o seu link.

identificadores object
2 campos
identificadores.numero_pedido string null

Atenção: Protocolo do pedido no cartório (ex.: VM030158741). GUARDE: é por ele que se reconcilia um emolumento pago, e é o que o cartório pede no balcão.

identificadores.matricula string null

Matrícula efetivamente atendida. Quando o cartório devolve o número, ele tem precedência sobre o que você mandou.

dados object
5 campos
dados.conteudo string null

Texto da matrícula, quando o cartório devolve a camada de texto. Muitas serventias entregam só o PDF — null aqui não significa documento faltando.

dados.cartorio string null

Serventia por extenso ("1º RI de Taquaritinga/SP").

dados.municipio string null

Município do cartório.

dados.uf string(2) null

UF do cartório.

dados.total_pago string null

Total cobrado, formatado em reais. O mesmo valor de header.price.

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$ 12,84

BR

Mediana

R$ 12,84

1 UFs vendáveis

Mais cara

R$ 12,84

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

12,84

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

540s

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 →