import juscraper as jus
# cria um objeto tjsp
tjsp = jus.scraper('tjsp')JusScraper - Tribunal de Justiça de São Paulo (TJSP)
Este notebook demonstra como usar o juscraper para extrair dados do Tribunal de Justiça de São Paulo (TJSP). O pacote oferece acesso programático a várias consultas disponíveis no sistema ESAJ do TJSP.
Funcionalidades Disponíveis
O juscraper para TJSP oferece acesso a:
- CJPG: Consulta de Julgados de Primeiro Grau
- CJSG: Consulta de Julgados de Segundo Grau
- CPOPG: Consulta Processual de Primeiro Grau
- CPOSG: Consulta Processual de Segundo Grau
Instalação e Importação
Primeiro, vamos importar o pacote e criar um objeto scraper para o TJSP:
Criando o Scraper
Para começar a usar o juscraper com o TJSP, você precisa criar uma instância do scraper passando 'tjsp' como argumento. Este objeto será usado para todas as consultas subsequentes.
CJPG - Consulta de Julgados de Primeiro Grau
A função cjpg() permite buscar decisões e sentenças proferidas em primeiro grau de jurisdição. É útil para encontrar precedentes, entender padrões de julgamento ou coletar dados para análise jurídica.
Parâmetros Principais
pesquisa(str): Termo de busca que será pesquisado no conteúdo das decisõespaginas(range): Intervalo de páginas a serem baixadas. Userange(0, n)para baixar as primeirasnpáginas (ex:range(0, 3)baixa páginas 1, 2 e 3)classes(list, opcional): Lista de códigos de classes processuais para filtrarassuntos(list, opcional): Lista de códigos de assuntos para filtrarvaras(list, opcional): Lista de códigos de varas para filtrar
Retorno
A função retorna um pandas.DataFrame com as seguintes colunas principais: - cd_processo: Código interno do processo - id_processo: Número do processo (formato CNJ) - classe: Classe processual - assunto: Assunto do processo - magistrado: Nome do magistrado que proferiu a decisão - comarca: Comarca onde o processo tramitou - foro: Foro onde o processo tramitou - vara: Vara onde o processo tramitou - data_disponibilizacao: Data em que a decisão foi disponibilizada - decisao: Texto completo da decisão/sentença
Exemplo de Uso
# baixa dados da [c]onsulta de [j]ulgados de [p]rimeiro [g]rau - cjpg
dados_cjpg = tjsp.cjpg('golpe do pix', paginas=range(0,3))
print(dados_cjpg.shape)
dados_cjpg.head(3)Baixando documentos: 100%|██████████| 3/3 [00:02<00:00, 1.42it/s]
Processando documentos: 100%|██████████| 3/3 [00:00<00:00, 43.91it/s]
(30, 10)
| cd_processo | id_processo | classe | assunto | magistrado | comarca | foro | vara | data_disponibilizacao | decisao | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | JF0004W7G0000 | 1001796-12.2024.8.26.0699 | Procedimento do Juizado Especial Cível | Perdas e Danos | Renata Fanin Pupo Dos Santos | Salto de Pirapora | Foro de Salto de Pirapora | Juizado Especial Cível e Criminal | 28/12/2025 | SENTENÇA\n\n\n\nProcesso Digital nº:\t1001796-... |
| 1 | 07001MXIF0000 | 1015175-59.2024.8.26.0007 | Procedimento Comum Cível | Indenização por Dano Moral | Fabiana Pereira Ragazzi | SÃO PAULO | Foro Regional IX - Vila Prudente | 1ª Vara Cível | 28/12/2025 | SENTENÇA\n\n\n\nProcesso Digital nº:\t1015175-... |
| 2 | 05001J2230000 | 0004257-82.2025.8.26.0005 | Procedimento do Juizado Especial Cível | Defeito, nulidade ou anulação | CAIO FAGUNDES LAMPA | SÃO PAULO | Foro Regional V - São Miguel Paulista | Juizado Especial Cível - CIC Zona Leste | 28/12/2025 | SENTENÇA\n\n\n\nProcesso Digital nº:\t0004257-... |
CJSG - Consulta de Julgados de Segundo Grau
A função cjsg() permite buscar acórdãos e decisões monocráticas proferidas pelos tribunais de segundo grau. Esta é uma das consultas mais utilizadas para pesquisa jurisprudencial.
Parâmetros Principais
pesquisa(str): Termo de busca que será pesquisado no conteúdo das decisões e ementaspaginas(range): Intervalo de páginas a serem baixadas. Userange(0, n)para baixar as primeirasnpáginasementa(str, opcional): Termo adicional para buscar especificamente nas ementasclasse(str, opcional): Código da classe processualassunto(str, opcional): Código do assuntocomarca(str, opcional): Código da comarcaorgao_julgador(str, opcional): Código do órgão julgadordata_inicio(str, opcional): Data inicial de julgamento (formato: DD/MM/AAAA)data_fim(str, opcional): Data final de julgamento (formato: DD/MM/AAAA)baixar_sg(bool, opcional): SeTrue(padrão), busca em segundo grau. SeFalse, busca em colégio recursaltipo_decisao(str, opcional): Tipo de decisão -'acordao'(padrão) ou'monocratica'
Retorno
A função retorna um pandas.DataFrame com as seguintes colunas principais: - processo: Número do processo (formato CNJ) - cd_acordao: Código interno do acórdão - cd_foro: Código do foro - classe_assunto: Classe processual e assunto combinados - relatora: Nome do relator - comarca: Comarca de origem - orgao_julgador: Órgão julgador (ex: “13ª Câmara de Direito Privado”) - data_julgamento: Data do julgamento - data_publicacao: Data de publicação - ementa: Texto da ementa do acórdão
Exemplo de Uso
# baixa dados da [c]onsulta de [j]ulgados de [s]egundo [g]rau - cjsg
dados_cjsg = tjsp.cjsg('golpe do pix', paginas=range(0,3))
print(dados_cjsg.shape)
dados_cjsg.head(3)Baixando documentos: 100%|██████████| 3/3 [00:21<00:00, 10.75s/it]
Processando documentos: 100%|██████████| 3/3 [00:00<00:00, 21.60it/s]
(60, 10)
| processo | cd_acordao | cd_foro | classe_assunto | relatora | comarca | orgao_julgador | data_julgamento | data_publicacao | ementa | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1005387-58.2024.8.26.0318 | 20062433 | 0 | Apelação Cível / Bancários | Nelson Jorge Júnior | Leme | 13ª Câmara de Direito Privado | 26/12/2025 | 26/12/2025 | APELAÇÃO – AÇÃO DECLARATÓRIA C.C. INDENIZATÓR... |
| 1 | 1029533-10.2025.8.26.0002 | 20062162 | 0 | Apelação Cível / Prestação de Serviços | Paulo Ayrosa | São Paulo | 31ª Câmara de Direito Privado | 22/12/2025 | 22/12/2025 | PRESTAÇÃO DE SERVIÇOS – AÇÃO DE OBRIGAÇÃO DE F... |
| 2 | 1000340-02.2025.8.26.0114 | 20061944 | 0 | Apelação Cível / Bancários | Carlos Abrão | Campinas | 14ª Câmara de Direito Privado | 17/12/2025 | 22/12/2025 | APELAÇÃO - AÇÃO DECLARATÓRIA CUMULADA COM INDE... |
CPOPG - Consulta Processual de Primeiro Grau
A função cpopg() permite consultar informações detalhadas sobre processos em primeiro grau de jurisdição. Diferente das consultas de julgados, esta função retorna informações processuais completas, incluindo partes, movimentações, petições e documentos.
Parâmetros Principais
id_processo(str): Número do processo no formato CNJ (ex: “1000149-71.2024.8.26.0346”)
Retorno
A função retorna um dicionário Python com as seguintes chaves:
basicos: DataFrame com informações básicas do processo (classe, assunto, foro, vara, juiz, data de distribuição, valor da ação)partes: DataFrame com informações das partes (requerente, requerido, advogados)movimentacoes: DataFrame com histórico de movimentações do processo (data, movimento, observação)peticoes_diversas: DataFrame com informações sobre petições e documentos protocolados
Exemplo de Uso
res = tjsp.cpopg('1000149-71.2024.8.26.0346')
resBaixando processos: 100%|██████████| 1/1 [00:00<00:00, 1.53it/s]
Processando documentos: 100%|██████████| 2/2 [00:00<00:00, 51.78it/s]
{'basicos': file_path \
0 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\...
1 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\...
id_processo classe \
0 None None
1 1000149-71.2024.8.26.0346 Procedimento Comum Cível
assunto foro vara \
0 None None None
1 Responsabilidade do Fornecedor Foro de Martinópolis 2ª Vara Judicial
juiz data_distribuicao valor_acao
0 None None None
1 RENATA ESSER DE SOUZA 06/02/2024 às 13:47 - Livre R$ 81.439,78 ,
'partes': file_path tipo \
0 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... Reqte
1 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... Reqda
nome \
0 Aparecida Stuani Advogada: Carina Akemi Rezend...
1 BANCO BRADESCO S.A.
advogados
0 [Fabio Cabral Silva de Oliveira Monteiro]
1 [Fabio Cabral Silva de Oliveira Monteiro] ,
'movimentacoes': file_path data \
0 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 31/10/2025
1 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 30/10/2025
2 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 30/10/2025
3 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 30/10/2025
4 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 30/10/2025
.. ... ...
92 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 09/02/2024
93 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 09/02/2024
94 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 08/02/2024
95 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 07/02/2024
96 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 06/02/2024
movimento \
0 Certidão de Publicação Expedida
1 Remetido ao DJE
2
3 Conclusos para Despacho
4 Pedido de Expedição de Mandado de Levantamento...
.. ...
92 Certidão de Publicação Expedida
93 Remetido ao DJE
94
95 Conclusos para Decisão
96 Distribuído Livremente (por Sorteio) (moviment...
observacao
0 Relação: 1039/2025\n\nData da Publicação: 03/1...
1 Relação: 1039/2025\n\nTeor do ato: Ante a ausê...
2 Ante a ausência de impugnação pelos requeridos...
3
4 Nº Protocolo: WMPO.25.70021100-9\n\nTipo da Pe...
.. ...
92 Relação: 0055/2024\n\nData da Publicação: 15/0...
93 Relação: 0055/2024\n\nTeor do ato: Vistos. O a...
94 Vistos. O artigo 5º, LXXIV, da Constituição Fe...
95
96
[97 rows x 4 columns],
'peticoes_diversas': file_path data \
0 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\...
1 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 14/02/2024
2 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 19/03/2024
3 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 21/03/2024
4 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 10/04/2024
5 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 23/04/2024
6 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 25/04/2024
7 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 25/04/2024
8 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 29/04/2024
9 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 03/05/2024
10 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 10/06/2024
11 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 23/07/2024
12 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 13/08/2024
13 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 14/08/2024
14 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 28/08/2024
15 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 29/08/2024
16 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 02/09/2024
17 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 04/09/2024
18 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 07/10/2024
19 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 16/10/2024
20 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 22/10/2024
21 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 04/12/2024
22 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 14/10/2025
23 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 23/10/2025
24 C:\Users\jtrec\AppData\Local\Temp\tmpbmja5wt9\... 29/10/2025
tipo
0
1 Emenda à Inicial
2 Contestação
3 Pedido de Expedição de Ofício
4 Petição Intermediária
5 Contestação
6 Petições Diversas
7 Contestação
8 Contestação
9 Contestação
10 Pedido de Habilitação
11 Petições Diversas
12 Petição Intermediária
13 Indicação de Provas
14 Petições Diversas
15 Indicação de Provas
16 Petições Diversas
17 Petições Diversas
18 Petição Intermediária
19 Pedido de Habilitação
20 Razões de Apelação
21 Contrarrazões de Apelação
22 Pedido de Extinção do Processo
23 Petição Intermediária
24 Pedido de Expedição de Mandado de Levantamento }
CPOSG - Consulta Processual de Segundo Grau
A função cposg() permite consultar informações detalhadas sobre processos em segundo grau de jurisdição (recursos). Esta função retorna informações completas sobre o processo em segundo grau, incluindo composição do colegiado, decisões, movimentações e histórico.
Parâmetros Principais
id_processo(str ou list): Número(s) do processo no formato CNJ. Pode ser uma string única ou uma lista de strings para consultar múltiplos processos de uma vez.
Retorno
A função retorna um pandas.DataFrame onde cada linha representa um processo consultado. As colunas principais incluem:
id_original: ID original do processostatus: Status atual do processo (ex: “Encerrado”, “Em andamento”)classe: Classe processualassunto: Assunto do processosecao: Seção do tribunalorgao_julgador: Órgão julgador responsávelarea: Área do direito (Cível, Criminal, etc.)relator: Nome do relatororigem: Informações sobre a origem (comarca, foro, vara de primeiro grau)movimentacoes: Lista de dicionários com movimentações do processopartes: Lista de dicionários com informações das parteshistorico: Histórico do processodecisoes: Lista de decisões proferidascomposicao: Informações sobre a composição do colegiadoprimeira_inst: Informações sobre o processo de primeira instânciaprocesso: Número do processovalor_da_acao: Valor da ação (se aplicável)volume_apenso: Informações sobre volumes apensos
Exemplo de Uso
Você pode consultar um único processo ou múltiplos processos de uma vez:
res = tjsp.cposg(['00221752420038260344', '10001497120248260346', '00039417120248260048'])
resBaixando processos: 100%|██████████| 3/3 [00:02<00:00, 1.39it/s]
Processando arquivos: 100%|██████████| 4/4 [00:00<00:00, 22.22it/s]
| id_original | status | classe | assunto | secao | orgao_julgador | area | relator | origem | movimentacoes | partes | historico | decisoes | composicao | primeira_inst | processo | valor_da_acao | volume_apenso | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Embargos de Declaração Criminal\n\t\t\n\t\t\t ... | Encerrado | Recurso em Sentido Estrito | DIREITO PENAL - Crime Tentado | Direito Criminal | 16ª Câmara de Direito Criminal | Criminal | BORGES PEREIRA | Comarca de Marília / Foro de Marília / 3ª. Var... | [{'data': '25/03/2015', 'movimento': 'Decisão ... | [{'id_parte': 1, 'nome': 'Jose Roberto dos Rei... | [] | [{'data': '20/03/2012', 'situacao': 'Julgado',... | [{'participacao': 'Relator', 'magistrado': 'Bo... | [{'id_1a_inst': '344.01.2003.022175-3', 'foro'... | None | None | None |
| 1 | Embargos de Declaração Criminal\n\t\t\n\t\t\t ... | Encerrado | Apelação Criminal | DIREITO PENAL-Crimes contra a vida-Homicídio S... | Direito Criminal | 6ª Câmara de Direito Criminal | Criminal | MACHADO DE ANDRADE | Comarca de Marília / Foro de Marília / 1ª Vara... | [{'data': '25/07/2022', 'movimento': 'Informaç... | [{'id_parte': 1, 'nome': 'Rubens Neres Santana... | [] | [{'data': '01/08/2019', 'situacao': 'Julgado',... | [{'participacao': 'Relator', 'magistrado': 'Ma... | [{'id_1a_inst': '344.01.2003.022175-3', 'foro'... | None | None | None |
| 2 | 1000149-71.2024.8.26.0346 | Encerrado | Apelação Cível | DIREITO DO CONSUMIDOR - Contratos de Consumo -... | Direito Privado 2 | Núcleo de Justiça 4.0 em Segundo Grau – Turma ... | Cível | PAULO SERGIO MANGERONA | Comarca de Martinópolis / Foro de Martinópolis... | [{'data': '25/06/2025', 'movimento': 'Expedido... | [{'id_parte': 1, 'nome': 'Fabio Cabral Silva d... | [] | [{'data': '24/05/2025', 'situacao': 'Julgado',... | [{'participacao': 'Relator', 'magistrado': 'Pa... | [{'id_1a_inst': '1000149-71.2024.8.26.0346(Pri... | None | 72.896,87 | None |
import pandas as pd
pd.DataFrame(res['movimentacoes'].iloc[2]).head()| data | movimento | descricao | |
|---|---|---|---|
| 0 | 25/06/2025 | Expedido Certidão de Baixa de Recurso | Certidão de Baixa de Recurso - [Digital] |
| 1 | 25/06/2025 | Baixa Definitiva | |
| 2 | 25/06/2025 | Expedido Certidão | Certifico que o v. acórdão transitou em julgad... |
| 3 | 29/05/2025 | Publicado em | Disponibilizado em 28/05/2025\n\nTipo de publi... |
| 4 | 28/05/2025 | Prazo |
Trabalhando com Dados Estruturados
Os dados retornados por cposg() contêm informações aninhadas (listas de dicionários) em algumas colunas. Você pode facilmente converter essas informações em DataFrames separados para análise mais detalhada.
Por exemplo, para trabalhar com as movimentações de um processo específico:
Dicas e Observações Importantes
Performance e Limites
- Rate Limiting: O sistema ESAJ pode ter limites de requisições. Use
sleep_timeno construtor do scraper para adicionar delays entre requisições se necessário. - Páginas: Use o parâmetro
paginascom cuidado. Baixar muitas páginas pode levar muito tempo e sobrecarregar o servidor. - Dados Temporários: Por padrão, os arquivos HTML baixados são salvos em um diretório temporário e removidos após o parse. Para manter os arquivos, use
cjsg_download()oucjpg_download()separadamente.
Formato de Datas
Todas as datas retornadas estão no formato brasileiro: DD/MM/AAAA.
Formato de Processos
Os números de processo devem estar no formato CNJ completo: NNNNNNN-DD.AAAA.J.TR.OOOO (ex: “1000149-71.2024.8.26.0346”).
Tratamento de Erros
- Se uma busca não retornar resultados, a função retornará um DataFrame vazio.
- Se houver problemas de conexão ou o servidor estiver indisponível, uma exceção será levantada.
- Para consultas processuais (
cpopgecposg), processos não encontrados podem retornar dados parciais ou vazios.