# PublicaBR — Monitor de Publicações Processuais (DataJud/CNJ) (`joaosbp/publicacoes-processuais-br`) Actor

Monitore movimentações de processos judiciais brasileiros pela base oficial do CNJ (DataJud). Cole os números CNJ — o tribunal é detectado sozinho. Dedup entre execuções para schedule diário: receba só o que é novo. Sem scraping, sem login. JSON/CSV prontos para planilha e alertas.

- **URL**: https://apify.com/joaosbp/publicacoes-processuais-br.md
- **Developed by:** [João Victor](https://apify.com/joaosbp) (community)
- **Categories:** Business, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## PublicaBR — Monitor de Publicações Processuais (DataJud/CNJ)

**Monitor diário de movimentações processuais.** Cole os números dos processos que você acompanha e o PublicaBR consulta a base pública oficial do CNJ (DataJud — 90+ tribunais brasileiros), emite apenas **o que é novo desde a última execução** e entrega tudo em JSON/CSV pronto para planilha, e-mail ou webhook.

Feito para **advogados, departamentos jurídicos e legal ops** que perdem tempo todo dia abrindo o site de cada tribunal para conferir se algum processo andou.

> ⚖️ **Sem scraping, sem login, sem certificado.** Usa a API pública oficial do CNJ, a mesma que alimenta as estatísticas do Judiciário.

### Por que usar

- **Zero configuração de tribunal** — o número CNJ do processo já carrega o tribunal (J.TR.OOOO). Cole números de TJSP, TRF4, TST, TRT, TJRS… na mesma lista; o Actor roteia sozinho
- **Só o que mudou** — dedup persistente entre execuções (`apenasNovos`): num schedule diário, cada run traz apenas as movimentações novas
- **Uma linha por movimentação** — o quê, quando, qual órgão, com os metadados do processo (classe, órgão julgador, assuntos) em cada linha
- **Cobre o Judiciário inteiro** — TJs estaduais, TRFs, TRTs, TST, STJ, STF, TSE, TJMs
- **Resistente a instabilidade** — retry com backoff exponencial; se um tribunal falha, os demais ainda retornam (resultados parciais + relatório de falhas)

### O que você recebe

| Campo | Descrição |
|---|---|
| `numeroProcesso` | Número formatado (NNNNNNN-DD.AAAA.J.TR.OOOO) |
| `tribunal`, `grau` | Tribunal e grau (G1/G2/…) |
| `classeNome` | Classe processual (ex.: Ação Penal — Procedimento Ordinário) |
| `orgaoJulgador` | Vara/câmara atual |
| `assuntos` | Árvore de assuntos CNJ |
| `dataAjuizamento` | Data de distribuição |
| `movimentoDataHora` | Quando a movimentação aconteceu |
| `movimentoNome` | O que aconteceu (ex.: Petição, Conclusos para Decisão) |
| `movimentoComplementos` | Detalhes tabelados (espécie de petição, documento, etc.) |
| `movimentoOrgao` | Órgão onde a movimentação ocorreu |
| `ultimaAtualizacaoDatajud` | Quando o CNJ atualizou a ficha do processo |

O **resumo do run** (Key-Value Store → `OUTPUT`) traz: processos encontrados/não encontrados, movimentações novas vs. já vistas, tribunais consultados, retries e o aviso de defasagem.

### Como usar (3 passos)

1. **Cole os números** dos processos (com ou sem pontuação) em `processos`
2. **Rode uma vez** para ver o histórico recente
3. **Crie um Schedule diário** (Apify → Schedules) com `apenasNovos` ligado — todo dia de manhã você recebe só o que andou

Integrações: exporte para **Google Sheets**, receba **e-mail/Slack** via integrações da Apify, ou chame via API no seu sistema.

### ⚠️ Limitações importantes (leia antes de comprar)

- **Defasagem de ~5–7 dias**: a base DataJud é estatística — uma movimentação publicada hoje no DJe aparece aqui dias depois. Para urgência absoluta (prazo correndo hoje), confira também o DJe do tribunal
- **Sem inteiro teor**: você recebe os metadados da movimentação (tipo, data, órgão), não o texto da decisão/petição
- **Nomes de movimento genéricos**: alguns tribunais reportam apenas "Documento"/"Petição" — o valor está em saber *que* o processo andou e *quando*
- **Processos sigilosos** não aparecem na base pública (contados como "não encontrados" no resumo)

### Input

| Campo | Tipo | Default | Descrição |
|---|---|---|---|
| `processos` | array | *(obrigatório)* | Números CNJ, com ou sem pontuação |
| `apenasNovos` | boolean | `true` | Dedup entre runs (ligue para schedule diário) |
| `dataInicialMovimentos` | string | — | Filtra movimentações a partir da data (YYYY-MM-DD) |
| `maxMovimentosPorProcesso` | integer | `200` | Teto por processo |
| `maxProcessos` | integer | `50` | Teto da lista (máx. 500) |
| `apiKey` | string | — | Chave própria do DataJud (a pública já vem embutida) |

### Custos

Determinístico, sem navegador e sem proxy: ~50 processos por run custam **centavos de dólar**. Um schedule diário com 50 processos cabe tranquilamente no plano FREE da Apify.

### Parte de uma suite jurídica BR

- **AutosTimeline BR** — cronologia de autos e pendências a partir de PDFs
- **PrazoBR** — extração de prazos processuais de textos de peças/decisões
- **ComplianceBR** — screening CNPJ (CEIS/CNEP/CEAF)
- **LicitacoesBR** — radar de licitações PNCP
- **PublicaBR** — este Actor

***

## *Dados: API pública DataJud/CNJ. Feedback e bugs: abra uma issue na aba Issues.*

### 🇧🇷 Suite de Dados Públicos BR / BR Public Data Suite

Este Actor faz parte de uma suite brasileira de dados públicos e jurídicos. Combine-os em pipelines:

- **LicitacoesBR** — radar de licitações PNCP (editais e vencedores): https://apify.com/joaosbp/licitacoes-pncp-br
- **CNPJ Lookup BR** — consulta CNPJ em lote com dados da Receita Federal: https://apify.com/joaosbp/cnpj-enrichment-lookup-br
- **CnpjDeltaBR** — monitor de mudanças cadastrais de CNPJs: https://apify.com/joaosbp/cnpj-delta-monitor-br
- **ComplianceBR** — screening de sanções CEIS/CNEP/CEPIM: https://apify.com/joaosbp/cnpj-sanctions-screening-br
- **Contact Scraper BR** — emails, WhatsApp + enriquecimento CNPJ: https://apify.com/joaosbp/website-contact-finder-br
- **PrazoBR** — extrator de prazos e obrigações jurídicas: https://apify.com/joaosbp/legal-deadlines-extractor-br
- **AutosTimeline BR** — cronologia de autos e pendências: https://apify.com/joaosbp/case-timeline-builder-br
- **PublicaBR** — monitor de publicações processuais (DataJud/CNJ): https://apify.com/joaosbp/publicacoes-processuais-br
- **EditalBR** — extrator de editais de concurso em PDF: https://apify.com/joaosbp/edital-extractor-br
- **Pricing Monitor BR** — monitor de páginas de preço SaaS: https://apify.com/joaosbp/competitor-pricing-page-monitor

**Pipeline sugerido:** LicitacoesBR encontra editais → CNPJ Lookup enriquece o vencedor → ComplianceBR verifica sanções → CnpjDeltaBR monitora mudanças cadastrais.

# Actor input Schema

## `processos` (type: `array`):

Lista de processos para monitorar — com ou sem pontuação (NNNNNNN-DD.AAAA.J.TR.OOOO). O tribunal é detectado automaticamente pelo número. Aceita também string separada por vírgula.

## `apenasNovos` (type: `boolean`):

Ligado (recomendado para schedule diário): emite só o que mudou desde a última execução, usando um Key-Value Store persistente da conta. Desligado: emite todas as movimentações da janela a cada run.

## `dataInicialMovimentos` (type: `string`):

Filtra movimentações por data. Vazio: com apenasNovos ligado = todo o histórico na primeira execução; com apenasNovos desligado = últimos 30 dias.

## `maxMovimentosPorProcesso` (type: `integer`):

Teto de segurança por processo (processos antigos têm milhares de movimentações).

## `maxProcessos` (type: `integer`):

Teto de segurança sobre a lista de entrada.

## `apiKey` (type: `string`):

A chave pública oficial do CNJ já vem embutida. Preencha apenas se o CNJ rotacionar a chave ou se você tiver uma chave própria.

## Actor input object example

```json
{
  "processos": [
    "5046512-94.2016.4.04.7000"
  ],
  "apenasNovos": true,
  "dataInicialMovimentos": "2026-01-01",
  "maxMovimentosPorProcesso": 200,
  "maxProcessos": 50
}
```

# Actor output Schema

## `datasetItems` (type: `string`):

Uma linha por movimentação: numeroProcesso, tribunal, classe, órgão julgador, assuntos, dataHora da movimentação, nome, código e complementos.

## `resultsCsv` (type: `string`):

Export pronto para planilha — filtre por processo e data para a triagem diária.

## `summary` (type: `string`):

Processos consultados/encontrados, movimentações novas vs. já vistas, tribunais consultados, retries e o aviso de defasagem da base DataJud.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "processos": [
        "5046512-94.2016.4.04.7000"
    ],
    "dataInicialMovimentos": "2026-01-01"
};

// Run the Actor and wait for it to finish
const run = await client.actor("joaosbp/publicacoes-processuais-br").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "processos": ["5046512-94.2016.4.04.7000"],
    "dataInicialMovimentos": "2026-01-01",
}

# Run the Actor and wait for it to finish
run = client.actor("joaosbp/publicacoes-processuais-br").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "processos": [
    "5046512-94.2016.4.04.7000"
  ],
  "dataInicialMovimentos": "2026-01-01"
}' |
apify call joaosbp/publicacoes-processuais-br --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=joaosbp/publicacoes-processuais-br",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/Xbqu8yBBi1kf8r49u/builds/ouc7kGWwKwREk1F6u/openapi.json
