Documentação da API

limites e cotas

Todos os números, num lugar só

Dois tetos governam o consumo: os créditos do ciclo (o que as consultas custam) e a vazão (com que velocidade a integração pode chamar). Esta página reúne cada número dos dois — mais os tetos por requisição e por recurso — e o jeito certo de tratar cada recusa. Duas regras valem para tudo: só resposta atendida (2xx) debita crédito, e ler o que já está no acervo não consome o teto diário — ele conta apenas as requisições que consultam a fonte.

Por plano

A tabela é a mesma que o motor aplica; os preços e o que cada plano inclui estão em /precos. Monitores pausados liberam a vaga do plano na hora — a vaga conta só os ativos (inclusive os que estão em erro, que continuam sendo varridos).

LimiteStarterProBusinessEnterprise
Créditos por mês2.00015.00075.000sob contrato
Requisições por minuto603001.000sob contrato
Requisições por dia que consultam a fonte2.00015.00075.000sob contrato
Monitores de processo1001.0005.000sob contrato
Monitores de OAB10100500sob contrato
Monitores de tema10100500sob contrato
Projetos525100sob contrato
Chaves de API1050200sob contrato
Payload original das fontesnãosimsimsim
Consultas de processo em lotenãonãosimsim
Frescor máximo servido do acervo24 horas6 horas1 hora15 minutos
Vazão: as duas janelas, e o 429

O teto por minuto conta toda requisição autenticada, numa janela móvel de 60 segundos — ela não zera na virada do relógio; drena conforme as chamadas antigas saem da janela. O teto por dia funciona igual, em 24 horas móveis, e conta as requisições que consultam a fonte — leitura servida do acervo não gasta.

Nos planos com teto, toda resposta atendida traz os headers RateLimit-Limit, RateLimit-Remaining e RateLimit-Reset referentes à janela por minuto — sua aplicação não precisa adivinhar quanto resta dela; o consumo do dia e do ciclo se consulta em GET /v1/usage, de custo zero. Estourar devolve 429 RATE_LIMITED com Retry-After e a janela que barrou em details.window.

async function comRetentativa(fazerChamada, maxTentativas = 3) {
  for (let tentativa = 0; tentativa < maxTentativas; tentativa += 1) {
    const resposta = await fazerChamada();
    if (resposta.status !== 429) return resposta;

    // O 429 já diz quando tentar de novo — respeite-o em vez de adivinhar.
    const espera =
      Number(resposta.headers.get("retry-after") ?? 2 ** tentativa * 2);
    await new Promise((r) => setTimeout(r, espera * 1000));
  }
  throw new Error("Limite de vazão persistiu após as retentativas.");
}
Créditos: o 402 e os avisos antes dele

A cota de créditos vale pelo ciclo de cobrança: a franquia do plano mais os pacotes avulsos ativos, contra o consumido e os pedidos assíncronos ainda em andamento — um job aceito já comprometeu o crédito dele. Estourar devolve 402 QUOTA_EXCEEDED com o extrato no corpo — e o webhook QUOTA_LOW avisa antes, aos 80% da franquia. Operações de custo zero continuam funcionando com a cota esgotada.

Além da cota da conta, cada chave pode ter um teto diário de créditos próprio — janela móvel de 24 horas, configurável no portal (até 1.000.000). Ele limita o estrago de uma credencial isolada sem parar as outras; estourar devolve 402 API_KEY_DAILY_CAP_EXCEEDED e as operações de custo zero seguem passando. Para conexões de agente de IA, o portal sugere 200 créditos/dia — um agente em loop não gasta o mês numa tarde.

Por requisição

Estourar qualquer um destes é 400 de validação com a mensagem do campo — exceto o corpo, que é 413.

TetoValor
Corpo da requisição1 MiB
Itens por página (pageSize)100 · padrão 20
Consulta de processos em lote50 itens por chamada
Tribunais por busca ou colheita10 siglas
Busca textual de jurisprudênciaconsulta de 3 a 300 caracteres · até 500 resultados congelados
Termo de monitor de temamínimo de 5 caracteres
Export CSV do portal5.000 linhas por arquivo
Vigílias e colheita

Vigílias de texto (a busca salva que o motor repete todo dia): até 50 por conta, em qualquer plano — a 51ª responde 409. Elas não consomem créditos.

Colheita de jurisprudência sob demanda: um pedido cobre até 92 dias de janela (mais que isso é 400 de validação) e vira fatias — um dia de um tribunal ocupa 2 fatias. Os tetos de fatia são 30 por pedido e 300 por conta por dia; o excedente desses tetos volta recortado na resposta (campo rejected), nunca como erro. Só a fatia nova cobra 1 crédito: o que o acervo compartilhado já tem entra de graça.

Frescor: quando a consulta custa 1 em vez de 3

Consulta servida do acervo custa menos porque não vai à fonte. O que decide é o frescor do dado, e a janela é a do seu plano: Starter serve do acervo o processo consultado há menos de 24 horas; Pro, 6 horas; Business, 1 hora; Enterprise, 15 minutos. Processo mais velho que a janela, a consulta revalida na fonte e cobra o preço cheio. A mesma escada dispara a atualização da série de publicações de um processo — em segundo plano, sem segurar a resposta.

O outro lado da moeda, dito com todas as letras: plano com janela mais curta revalida com mais frequência, então paga o preço cheio mais vezes na mesma rotina de consulta. É a troca — dado mais fresco por crédito.

A tabela completa de custos por operação está na página principal da documentação.

O teste grátis

Os 30 dias de avaliação rodam com a franquia e a vazão integrais do Starter — os números da primeira coluna. Durante o teste, o cadastro fica com 1 projeto e 2 chaves de API, o suficiente para ligar a integração de ponta a ponta; os tetos de projeto e chave do plano valem a partir da assinatura.

A chave de teste (sandbox)

Qualquer conta ativa pode criar, no portal, uma chave com prefixo lapi_test. Ela relê do acervo o que a conta já buscou com a chave de produção — consulte primeiro com a chave de produção, e o processo passa a responder à chave de teste. Publicação do diário só pelo número do processo e por 7 dias após a consulta de produção — é o prazo pelo qual o acervo a guarda; o processo não tem esse prazo. A chave de teste não serve busca no diário por OAB, texto, parte ou período.

As regras dela são quatro, e valem sempre: as leituras respondem só do acervo (nada consulta as fontes vivas); nada debita créditos — o extrato registra as chamadas com custo zero e marca própria; ela não cria trabalho em segundo plano — monitores, vigílias, colheita e busca assíncrona respondem 403 SANDBOX_UPSTREAM_DISABLED, nunca um resultado fingido; e a vazão é fixa em 30 requisições por minuto, independente do plano. Webhooks funcionam normalmente — inclusive a entrega de teste, que é exatamente para isso.

Toda recusa da chave de teste traz a causa em error.details.reason, para o código decidir a saída sem interpretar a mensagem:

  • NOT_IN_LAKE — o acervo desta conta ainda não tem este processo: uma consulta com a chave de produção o traz, e ele passa a responder aqui.
  • NOT_SERVED_BY_LAKE — esta forma de consulta não é servida pelo acervo (no diário, busca por OAB, texto, parte ou período) ou a operação cria algo (monitor, vigília, colheita, busca assíncrona): só a chave de produção responde a ela.

Precisa de mais?

Vazão dedicada, franquia maior ou tetos sob medida são o plano Enterprise — fale com a gente e dimensionamos pelo seu volume real.