Skip to main content

Lint Badge

Test Badge

Version Badge

What is This?

Juriscraper is a scraper library started many years ago that gathers judicial opinions, oral arguments, and PACER data in the American court system. It is currently able to scrape:

  • a variety of pages and reports within the PACER system

  • opinions from all major appellate Federal courts

  • opinions from all state courts of last resort except for Georgia (typically their “Supreme Court”)

  • oral arguments from all appellate federal courts that offer them

Juriscraper is part of a two-part system. The second part is your code, which calls Juriscraper. Your code is responsible for calling a scraper, downloading and saving its results. A reference implementation of the caller has been developed and is in use at CourtListener.com. The code for that caller can be found here. There is also a basic sample caller included in Juriscraper that can be used for testing or as a starting point when developing your own.

Some of the design goals for this project are:

  • extensibility to support video, oral argument audio, etc.

  • extensibility to support geographies (US, Cuba, Mexico, California)

  • Mime type identification through magic numbers

  • Generalized architecture with minimal code repetition

  • XPath-based scraping powered by lxml’s html parser

  • return all meta data available on court websites (caller can pick what it needs)

  • no need for a database

  • clear log levels (DEBUG, INFO, WARN, CRITICAL)

  • friendly as possible to court websites

Installation & Dependencies

First step: Install Python 3.11+, then:

Install the dependencies

On Ubuntu based distributions/Debian Linux:

sudo apt-get install libxml2-dev libxslt-dev libyaml-dev

On Arch based distributions:

sudo pacman -S libxml2 libxslt libyaml

On macOS with Homebrew <https://brew.sh>:

brew install libyaml

Then install the code

pip install juriscraper

You can set an environment variable for where you want to stash your logs (this can be skipped, and /var/log/juriscraper/debug.log will be used as the default if it exists on the filesystem):

export JURISCRAPER_LOG=/path/to/your/log.txt

Contributing

We welcome contributions! If you’d like to get involved, please take a look at our CONTRIBUTING.md guide for instructions on setting up your environment, running tests, and more.

License

Juriscraper is licensed under the permissive BSD license.

forthebadge made-with-python

Metadata

Release files for juriscraper 4.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for juriscraper 4.0.2
File Size Uploaded Provenance Actions
juriscraper-4.0.2.tar.gz 481.1 kB Without provenance Details for juriscraper-4.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for juriscraper 4.0.2
File Interpreter ABI Platform Actions
juriscraper-4.0.2-py3-none-any.whl Python 3 none any Details for juriscraper-4.0.2-py3-none-any.whl

Total release size: 1.2 MB

Release files / juriscraper-4.0.2.tar.gz

Download URL juriscraper-4.0.2.tar.gz
Size 481.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6835e671022e4fe2d7b3cdfd82a3f696658891233a0a813f5c209611e83252bb
BLAKE2b-256 checksum
How to use checksums
532339ec50a88331969ec5c907f9df1801eb4c0647c221e06158f831caa02820
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / juriscraper-4.0.2-py3-none-any.whl

Download URL juriscraper-4.0.2-py3-none-any.whl
Size 722.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
568289f3264489bb2207f3fa372f62b3993db279c79d61b226a093586baee934
BLAKE2b-256 checksum
How to use checksums
c9a1132db39efe55a9dc0d78e637c9243e7ccd354ffd7bee1e682bf0772442e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for juriscraper 4.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

4.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page