Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Oklahoma State Courts Network case parsing utilities

Project description

OSCN utilities

A python library for scraping case information from the Oklahoma State Courts Network.


oscn > Python package source to provide an api for retrieving and parsing case records.

scripts > Python scripts showing use of the oscn package

  • demonstrates use of the request Case and Caselist
  • saves a list of all counts for a list of counties and years
  • saves a list of counts passing a test for a list of counties and years
  • a stub for testing parsing attempts using BeautifulSoup
  • a stub for developing using saved examples

OSCN package


  • counties: Returns a list of counties.
  • courts: Same as counties but more a accurate description.


  • Case: Returns a single case. Case can be saved as files using and retrieved using

  • CaseList: Returns an iterator for retrieving cases for a county and year.

CaseLists can be filtered using .find(). See scripts/ for details


Parsers accept the html of an OSCN case page and return python objects.

  • filed: returns a string of the filing date (e.g. 12/25/2017)
  • closed: returns a string of the date the case was closed. Return None if not closed.
  • counts: returns of list of count dicts found in a case. Keys include 'description' of the count. If available 'violation' and 'disposed' are added.
  • judge: returns a string of the judge's name
  • parties: returns a list of dicts with these keys: name, type
  • docket: returns a list of rows in a docket
  • events: returns a list of dicts with these keys: event, party, docket, reporter, date, description. The keys date and description are cleaner versions of the event text. The event key will be deprecation some day so use date and description if you are starting a project.
  • attorneys: returns a list of dicts with these keys: name, address, and representing
  • issues: returns a list of dicts with issue information. Each issues includes a list of dicts for each party


  • CaseIndexes: returns an iterator of case indexes (e.g. tulsa-CF-2019-12).


Create a CaseIndexes list using these key word arguments:

  • county: defaults to all,
  • last_name: use this for company or organization names
  • first_name: optional
  • middle_name: optional
  • filed_after: More readable than FiledDateL
  • filed_before: More readable than FiledDateH
  • closed_after: More readable than ClosedDateL
  • closed_before: More readable than ClosedDateH


  • The % wild card is added to all words in name, first and middle
  • Date arguments use MM/DD/YYY strings.

OSCN search parameters

If you are familar with the OSCN search parameters you can initialize CaseIndexes using these as key word arguments: db, number, lname, fname, mname, DoBMin, DoBMax, partytype, apct, dcct, FiledDate, FiledDateH, ClosedDateL, ClosedDateH, iLC, iLCType, iYear, iNumber, and citation

Using this will override init keyword values such as first or filed_after.

Development Install

  1. Create and activate a Python 3.6 virtual env
  2. git clone
  3. cd oscn
  4. pip install -e .


Install with pip install oscn

Script example:

import oscn

Request a single case:

oscn.request.Case(county='tulsa', year='2018', number=84)

or use case index notation:


To request a list of cases to iterate:

oscn.request.CaseList(county='adair', year='2016')

Run test scripts

  • pytest tests/

or with ipdb:

- `py.test -s tests/`

specify a test:

  • py.test -s tests/ -k 'test_events'

Deployment steps

  1. python3 sdist bdist_wheel
  2. twine upload dist/*

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for oscn, version
Filename, size File type Python version Upload date Hashes
Filename, size oscn- (19.7 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size oscn- (13.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page