Made In Brazil Travis-CI Build Status AppVeyor Build Status


The esaj R package is a simple interface that allows you to download multiple kinds of files from Brazil's e-SAJ (Electronic Justice Automation System) portals. With this package you can save and parse lawsuits, queries, and decisions with very simple, tidyverse compliant functions.

To install esaj, run the code below:

# install.packages("devtools")



Before esaj if you wanted to gather information about lawsuits being processed by Brazil's state-level Judiciary, you would have to go to each state's e-SAJ portal, manually input each lawsuit's ID, break a capthca, and only then download an HTML with the information you wanted; now you can simply run download_cpopg() or download_cposg(), and spend your valuable time analysing the data.

# Download first degree lawsuits from multiple states
ids <- c(
esaj::download_cpopg(ids, "~/Desktop/")
#> [1] "/Users/ctlente/Desktop/01234790720128260100.html"
#> [2] "/Users/ctlente/Desktop/05524866220158050001.html"
#> [3] "/Users/ctlente/Desktop/03033494420148240020.html"

# Download second degree lawsuits from São Paulo
ids <- c(
esaj::download_cposg(ids, "~/Desktop/")
#> [1] "/Users/ctlente/Desktop/10018695120178260562.html"
#> [2] "/Users/ctlente/Desktop/10012140720168260565.html"

For more information on how to use these functions and which TJs are implemented, please see Downloading Lawsuits.


Besides downloading lawsuits (see the Downloading Lawsuits article), esaj also allows the user to download the results of a query on lawsuits. This kind of query is very useful for finding out what lawsuits contain certain words, were filed in a given period, were filed in a given court, etc.

# Download results of a simple first degree query
esaj::download_cjpg("recurso", "~/Desktop/")
#> [1] "/Users/ctlente/Desktop/search.html"
#> [2] "/Users/ctlente/Desktop/page1.html"

# Download results of a slightly more complex second degree query
esaj::download_cjsg("recurso", "~/Desktop/", classes = c("1231", "1232"))
#> [1] "/Users/ctlente/Desktop/search.html"
#> [2] "/Users/ctlente/Desktop/page1.html"

For more information on how to use these functions and all their auxiliary methods (like peek_cj*g() and cj*g_table()), please see Downloading Queries.


Of all functions in the esaj package, download_decision() is probably the simplest: it downloads the PDF belonging to a decision and that's it.

# Download one decision
esaj::download_decision("10000034", "~/Desktop/")
#> [1] "/Users/ctlente/Desktop/10000034.pdf"

# Download more than one decision
esaj::download_decision(c("10800758", "10000034"), "~/Desktop/")
#> [1] "/Users/ctlente/Desktop/10800758.pdf"
#> [2] "/Users/ctlente/Desktop/10000034.pdf"

For more information on how to use this function, please see Downloading Decisions.

jtrecenti/esaj documentation built on Feb. 11, 2019, 9:13 a.m.