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:

import juscraper as jus

# cria um objeto tjsp
tjsp = jus.scraper('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ões
  • paginas (range): Intervalo de páginas a serem baixadas. Use range(0, n) para baixar as primeiras n páginas (ex: range(0, 3) baixa páginas 1, 2 e 3)
  • classes (list, opcional): Lista de códigos de classes processuais para filtrar
  • assuntos (list, opcional): Lista de códigos de assuntos para filtrar
  • varas (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 ementas
  • paginas (range): Intervalo de páginas a serem baixadas. Use range(0, n) para baixar as primeiras n páginas
  • ementa (str, opcional): Termo adicional para buscar especificamente nas ementas
  • classe (str, opcional): Código da classe processual
  • assunto (str, opcional): Código do assunto
  • comarca (str, opcional): Código da comarca
  • orgao_julgador (str, opcional): Código do órgão julgador
  • data_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): Se True (padrão), busca em segundo grau. Se False, busca em colégio recursal
  • tipo_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')
res
Baixando 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 processo
  • status: Status atual do processo (ex: “Encerrado”, “Em andamento”)
  • classe: Classe processual
  • assunto: Assunto do processo
  • secao: Seção do tribunal
  • orgao_julgador: Órgão julgador responsável
  • area: Área do direito (Cível, Criminal, etc.)
  • relator: Nome do relator
  • origem: Informações sobre a origem (comarca, foro, vara de primeiro grau)
  • movimentacoes: Lista de dicionários com movimentações do processo
  • partes: Lista de dicionários com informações das partes
  • historico: Histórico do processo
  • decisoes: Lista de decisões proferidas
  • composicao: Informações sobre a composição do colegiado
  • primeira_inst: Informações sobre o processo de primeira instância
  • processo: Número do processo
  • valor_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'])
res
Baixando 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_time no construtor do scraper para adicionar delays entre requisições se necessário.
  • Páginas: Use o parâmetro paginas com 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() ou cjpg_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 (cpopg e cposg), processos não encontrados podem retornar dados parciais ou vazios.