O seu acervo, no seu programa.
A Lidia API permite que o sistema do seu escritório, uma planilha ou qualquer outro programa leia o que está na sua conta da Lidia: processos, andamentos, publicações, prazos e a lista de documentos. Somente leitura — nada é alterado por aqui. Incluída no seu plano, sem custo extra.
Começar em três passos
- Crie a sua chave no app. Engrenagem → Configurações → Lidia API → Nova chave. Dê um nome (ex.: sistema do escritório) e clique em Criar.
- Copie e guarde a chave. Ela começa com
lid_e aparece uma única vez. A Lidia guarda só uma impressão dela: se perder, revogue e crie outra. Nunca envie a chave por e-mail ou mensagem. - Use a chave em cada consulta, no cabeçalho
Authorization. O endereço é semprehttps://api.lidia.adv.br/v1/. Para testar sem programar, use Experimente a sua chave na mesma tela do app.
GET https://api.lidia.adv.br/v1/eu — devolve a sua conta, o plano e quantas consultas ainda tem hoje.Exemplos prontos
Troque SUA_CHAVE pela chave criada no app.
No Google Planilhas: Extensões → Apps Script, cole, salve e execute trazerProcessos. A lista aparece na aba Processos.
function trazerProcessos() {
var chave = 'SUA_CHAVE';
var r = UrlFetchApp.fetch('https://api.lidia.adv.br/v1/processos?limite=100',
{ headers: { Authorization: 'Bearer ' + chave } });
var d = JSON.parse(r.getContentText());
var aba = SpreadsheetApp.getActive().getSheetByName('Processos')
|| SpreadsheetApp.getActive().insertSheet('Processos');
aba.clear();
aba.appendRow(['Número', 'Pasta', 'Tribunal', 'Situação', 'Alterado em']);
d.itens.forEach(function (p) {
aba.appendRow([p.numero, p.nome_pasta || p.alias || '', p.tribunal || '',
p.inativo ? 'inativo' : 'ativo', p.alterado_em]);
});
}
No Excel: Dados → Obter Dados → De outras fontes → Consulta em branco, abra o Editor Avançado e cole:
let
Fonte = Json.Document(Web.Contents("https://api.lidia.adv.br/v1/processos?limite=100",
[Headers = [Authorization = "Bearer SUA_CHAVE"]])),
Itens = Table.FromList(Fonte[itens], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
Tabela = Table.ExpandRecordColumn(Itens, "Column1",
{"numero", "nome_pasta", "tribunal", "inativo", "alterado_em"},
{"Número", "Pasta", "Tribunal", "Inativo", "Alterado em"})
in
Tabela
import requests
CHAVE = "SUA_CHAVE"
r = requests.get("https://api.lidia.adv.br/v1/publicacoes",
params={"limite": 50, "lida": "false"},
headers={"Authorization": f"Bearer {CHAVE}"})
r.raise_for_status()
for p in r.json()["itens"]:
print(p["capturada_em"], p["numero_processo"], p["resumo_ia"] or "")
const CHAVE = "SUA_CHAVE";
const r = await fetch("https://api.lidia.adv.br/v1/prazos?de=2026-10-01&cumprido=false",
{ headers: { Authorization: `Bearer ${CHAVE}` } });
const d = await r.json();
d.itens.forEach(z => console.log(z.data, z.descricao, z.processo_numero));
curl -H "Authorization: Bearer SUA_CHAVE" "https://api.lidia.adv.br/v1/eu"
curl -H "Authorization: Bearer SUA_CHAVE" "https://api.lidia.adv.br/v1/processos?limite=20"
O que dá para consultar
| Consulta | O que devolve | Filtros |
|---|---|---|
/v1/eu | Sua conta, plano, cota do dia e uso de hoje | — |
/v1/processos | Seus processos, do mais recentemente alterado para o mais antigo. alterado_em é a última novidade no processo (ou a criação) | numero, status, tribunal, tag, inativo, alterado_desde |
/v1/processos/{id} | Um processo | — |
/v1/processos/{id}/andamentos | Andamentos do processo, do mais recente para o mais antigo | origem (datajud · judit · manual), desde |
/v1/publicacoes | Intimações capturadas no DJEN, com o resumo e a leitura da Lidia quando houver | desde, processo_id, lida, tribunal |
/v1/prazos | Prazos, do mais próximo para o mais distante. Traz processo_numero e, quando a pasta existe na conta, processo_id | de, ate, cumprido |
/v1/documentos | Nome, tipo, tamanho e processo dos documentos. O arquivo em si não sai pela API | processo_id |
Páginas
Toda lista devolve até limite itens (padrão 50, máximo 100). Havendo mais, vem um proximo_cursor: repita a mesma consulta acrescentando &cursor=... para a página seguinte, até o cursor vir vazio.
Datas e horas
Sempre no horário do Brasil, com o fuso escrito: 2026-10-11T14:30:00-03:00. Datas sem hora vêm como 2026-10-11.
Para sincronizar
Guarde a hora da última sincronização e peça só o que mudou: /v1/processos?alterado_desde=2026-10-10T00:00:00-03:00 e /v1/publicacoes?desde=.... Duas ou três passadas por dia bastam para a maioria dos escritórios.
Limites e segurança
- 60 consultas por minuto e uma cota diária por plano (veja em
/v1/eu). Acima disso a resposta é429com o cabeçalhoRetry-Afterdizendo quanto esperar. Não há cobrança por consulta. Precisa de mais? Fale com a Lidia pelo chat do app. - Cada resposta traz
X-Cota-DiaeX-Cota-Restante. - Chave inválida ou revogada:
401. Não encontrado:404. Pedido mal formado (cursor inválido, por exemplo):400. - A chave dá acesso a todo o acervo da conta. Quem recebe a chave vê o que o titular vê. Para cortar o acesso de um programa, revogue a chave no app — vale na hora.
- A API só funciona para contas com assinatura ativa.
Referência técnica
A descrição formal de cada consulta, com todos os campos, está em /docs (formato OpenAPI). Para a maioria dos usos, este guia basta.