Pular para o conteúdo principal
TrackJud TrackJud

Developers

Integre dados judiciais brasileiros em minutos

REST API padronizada em OpenAPI 3.1. Autenticação por Bearer token, resposta em JSON estruturado, 12 fontes judiciais cobertas. Dos primeiros 10 CPFs até 100k/mês — sem mensalidade, sem mínimo.

Feito pra produção

<2s

Latência média

Cache-hit em ~90% das consultas

99.5%

Uptime contratual

SLA enterprise disponível

OpenAPI 3.1

Contrato padronizado

Scalar docs em /api/docs

R$ 0,10

Por tribunal

Créditos nunca expiram

Quickstart em 3 passos

Da conta nova à primeira chamada em menos de 5 minutos.

1

Crie uma conta

Cadastro grátis com e-mail em vigilant.trackjud.com.br. 5 créditos na hora, sem cartão de crédito.

2

Gere uma API key

No dashboard, crie uma chave Bearer token em um clique. Copie e use como Authorization: Bearer <token> nas suas chamadas.

3

Chame a API

Um POST /api/v1/consults com CPF + lista de tribunais retorna um consult_id. GET /api/v1/consults/{id} entrega os dados processados.

Exemplos de código

Requisição de consulta em 4 linguagens — escolha a aba.

curl -X POST https://vigilant.trackjud.com.br/api/v1/consults \
  -H "Authorization: Bearer $VIGILANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "document": "529.982.247-25",
    "courts": ["TJSP", "TJRJ", "TJMG"],
    "force_refresh": false
  }'
import os
import requests

API_KEY = os.environ["VIGILANT_API_KEY"]

response = requests.post(
    "https://vigilant.trackjud.com.br/api/v1/consults",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "document": "529.982.247-25",
        "courts": ["TJSP", "TJRJ", "TJMG"],
        "force_refresh": False,
    },
    timeout=30,
)
response.raise_for_status()
print(response.json())
const apiKey = process.env.VIGILANT_API_KEY;

const response = await fetch("https://vigilant.trackjud.com.br/api/v1/consults", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    document: "529.982.247-25",
    courts: ["TJSP", "TJRJ", "TJMG"],
    force_refresh: false,
  }),
});

if (!response.ok) throw new Error(`vigilant: ${response.status}`);
const data = await response.json();
console.log(data);
package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "net/http"
  "os"
)

func main() {
  body, _ := json.Marshal(map[string]interface{}{
    "document":      "529.982.247-25",
    "courts":        []string{"TJSP", "TJRJ", "TJMG"},
    "force_refresh": false,
  })

  req, _ := http.NewRequest("POST",
    "https://vigilant.trackjud.com.br/api/v1/consults",
    bytes.NewBuffer(body))
  req.Header.Set("Authorization", "Bearer "+os.Getenv("VIGILANT_API_KEY"))
  req.Header.Set("Content-Type", "application/json")

  resp, err := http.DefaultClient.Do(req)
  if err != nil {
    panic(err)
  }
  defer resp.Body.Close()
  fmt.Println(resp.Status)
}

Forma da resposta

JSON estruturado com processos, partes, movimentações e assuntos. Um único payload pra qualquer tribunal coberto.

{
  "data": {
    "id": "a3f9c1e2-48b1-4c73-9f0e-6d8b2e5a7c11",
    "document": "529.982.247-25",
    "status": "done",
    "inserted_at": "2026-04-15T10:00:00Z",
    "courts": [
      {
        "court": "TJSP",
        "system": "esaj",
        "status": "completed",
        "started_at": "2026-04-15T10:00:05Z",
        "finished_at": "2026-04-15T10:00:35Z",
        "processes": [
          {
            "numero_processo_unico": "1234567-89.2024.8.26.0100",
            "classe": "Procedimento Comum Civel",
            "situacao": "Em andamento",
            "distribuido_em": "15/01/2024",
            "valor_causa": "R$ 50.000,00",
            "partes": [
              { "tipo": "Autor", "nome": "Joao da Silva" },
              { "tipo": "Reu", "nome": "Empresa XYZ Ltda" }
            ],
            "movimentos": [
              { "data_movimento": "01/03/2024", "descricao": "Juntada de Peticao" }
            ],
            "assuntos": [
              { "cod_assunto": 7619, "ds_assunto": "Indenizacao por Dano Moral" }
            ]
          }
        ]
      }
    ]
  }
}

Padrões de integração

Como empresas reais encaixam o Vigilant no pipeline.

Bureau complementar

Chamada paralela ao Serasa/Boa Vista no onboarding de crédito. Os sinais de litigância entram como features adicionais no seu score.

KYC / EDD

Validação de contraparte no fluxo de KYC. Log auditável por consulta, exportável pra regulador.

Checkout anti-fraude

Chamada paralela ao ClearSale/Konduto no checkout B2C. Threshold configurado no seu motor, sem decisão do lado do Vigilant.

Due diligence em lote

Upload de CPFs/CNPJs (alvo + sócios + controladores) pro red flags memo de M&A. Resposta em JSON/CSV pro time montar o relatório.

Auditoria trabalhista

Re-consulta periódica da base de fornecedores via cron. Seu workflow ranqueia e alerta — o Vigilant entrega os dados atualizados.

Monitoramento contínuo

Cache de 2 dias + refresh assíncrono. Você chama quando precisar; se mudou, retornamos novo dado; se não, cache.

Rate limits, cache e pricing

  • Créditos pré-pagos, 1 crédito = 1 tribunal consultado
  • R$ 0,10 por crédito, sem mensalidade e sem mínimo
  • Cache de 2 dias: consulta repetida do mesmo CPF+tribunal é servida do cache sem custo adicional
  • Refresh assíncrono pra dados stale — responde imediato com stale e agenda atualização
  • Enterprise: rate limit dedicado, SLA 99.5%, endpoint regional, suporte 24x7

Perguntas frequentes

Tem ambiente de sandbox?

A conta nova ganha 5 créditos grátis que funcionam como sandbox — mesma URL de produção, mesma API key, só com saldo de teste. Sem ambiente separado, sem friction.

Como funciona o rate limit?

Contas free têm rate limit por API key suficiente pra desenvolvimento e integração. Contratos enterprise negociam rate limit dedicado e bursting. Respostas 429 sempre trazem Retry-After.

Qual o padrão de erro?

Todas as respostas de erro seguem RFC 7807 (Problem Details) com Content-Type application/problem+json. Campos: type, title, status, detail, instance. Erros de validação incluem um campo errors com detalhes por campo.

Vocês têm webhook de processo novo?

Não out-of-the-box. Pra monitoramento, o padrão é você re-consultar pelo seu scheduler (daily/weekly cron), diff contra a última resposta e disparar alerta interno quando aparecer processo novo. Contratos enterprise podem negociar webhooks custom.

A API retorna dados em tempo real ou com cache?

Fresh cache (< 2 dias) retorna HTTP 200 imediato. Stale cache (>= 2 dias) retorna 200 com stale:true + refresh assíncrono em background. Nenhum cache → 202 com consult_id pra poll.

LGPD: qual a base legal?

Os dados processuais vêm de fontes públicas dos tribunais. Base legal varia por caso de uso (legítimo interesse, cumprimento de obrigação legal, proteção ao crédito). Mantemos audit trail por requisição — a documentação tem a seção completa.

Pronto pra integrar?

5 créditos grátis no cadastro, sem cartão. Documentação OpenAPI 3.1 em vigilant.trackjud.com.br/api/docs. Para volumes enterprise, fale com vendas.