CiteURL is an extensible tool that parses legal citations and makes links to websites where you can read the cited language for free. It can be used to quickly look up a reference, or to insert a hyperlink for every long- or short-form citation in a longer text.


CiteURL has been tested with Python version 3.9, but earlier versions probably work too. Install Python if you don't have it, then run this command:

python -m pip install citeurl


CiteURL provides four command-line tools:

  • citeurl process: Parse a text and insert an HTML hyperlink for every citation it contains, including shortform citations.
  • citeurl lookup: Look up a single citation and display information about it.
  • citeurl host: Host CiteURL as a web app like this one.
  • citeurl makejs: Export an instance of CiteURL's lookup function as JavaScript that can be embedded in an HTML page. Law Search is an example of this JavaScript. More info is available here.

Each command has its own command-line arguments you can view with the -h option. They all share the -t option, which allows you to load a list of custom citation templates in YAML form.

Here are a few common use cases:

# Process a court opinion and output a version where each citation is hyperlinked:
citeurl process -i INPUT_FILE.html -o OUTPUT_FILE.html
# Look up a single citation and open it directly in a browser
citeurl lookup "42 USC 1983" -b
# List the top ten authorities cited in a text, from most citations to least:
cat INPUT_FILE.html | citeurl process -a 10
# Host a lookup tool with custom templates, and serve it on the local network:
citeurl host -t PATH_TO_YOUR_TEMPLATES.YAML -s

CiteURL is also available in a few other forms besides the command-line tool: