OSCN APIoscn.net ↗
Access Oklahoma State Court Network records via API. Search cases across 80+ counties, retrieve docket entries, party info, and daily filing reports.
What is the OSCN API?
The OSCN API provides structured access to Oklahoma State Court Network records through 5 endpoints covering case search, docket details, and daily filing reports across 80+ counties. Use search_cases to filter by party name, case type, or filing date range, then pass the returned cmid to get_case_details to retrieve the full docket — including party roles, judge assignment, and linked documents.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/36371741-d78c-4d8e-8eac-70ab6b987f9f/list_counties' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace oscn-net-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.oklahoma_court_records_oscn_api import OSCN, County, CaseType, CaseSummary, Case, Filing
oscn = OSCN()
# List available counties
for county in oscn.counties.list():
print(county.id, county.name)
# List case types
for case_type in oscn.casetypes.list():
print(case_type.id, case_type.name)
# Search for criminal felony cases in Tulsa
for case_summary in oscn.casesummaries.search(db="tulsa", case_type="31", filed_date_l="06/01/2026", filed_date_h="06/05/2026"):
print(case_summary.case_number, case_summary.style, case_summary.date_filed)
# Drill into full details
full_case = case_summary.details()
print(full_case.header.style, full_case.header.judge)
for entry in full_case.docket_entries:
print(entry.date, entry.code, entry.description)
# Get case details directly
case = oscn.cases.get(db="tulsa", case_number="CF-2026-2214")
print(case.case_number, case.url)
for party in case.parties:
print(party.name, party.role)
# Get daily filings
for filing in oscn.filings.list_by_county(date="06/05/2026", db="Tulsa"):
print(filing.case_number, filing.style, filing.db)
Returns all Oklahoma county/court database identifiers available for search. Each entry includes a lowercase id (e.g., 'tulsa', 'oklahoma') and the full court name. Use the id value as the db parameter in other endpoints.
No input parameters required.
{
"type": "object",
"fields": {
"items": "array of county objects with id and name"
},
"sample": {
"data": {
"items": [
{
"id": "tulsa",
"name": "Tulsa County District Court"
},
{
"id": "oklahoma",
"name": "Oklahoma County District Court"
}
]
},
"status": "success"
}
}About the OSCN API
Case Search and Lookup
The search_cases endpoint accepts combinations of db (county identifier), lname/fname (party name), case_type (numeric code from list_district_court_case_types), case_number, and a filing date range via filed_date_l and filed_date_h in MM/DD/YYYY format. Results are capped at 500 by the source; narrow the date range to page through dense result sets. Each result returns a case_number, date_filed, style, found_party, and a cmid (Case Master ID) used to fetch full details.
Case Details and Dockets
get_case_details takes a case_number and db and returns a header object (Style, Case Number, Filed date, Judge), a parties array with each party's name and role, and a docket_entries array. Each docket entry includes a date, code, description, and a documents array with links to associated filings. Passing the cmid from search results is recommended when multiple cases share a case number to ensure the correct record is returned.
County and Case Type Reference Endpoints
list_counties returns the full set of county/court database identifiers — the lowercase id values (e.g., tulsa, oklahoma) that power the db parameter across all other endpoints. list_district_court_case_types returns numeric codes and labels (e.g., 31 for Criminal Felony, 7 for Probate) used as the case_type filter in search_cases.
Daily Filing Reports
get_daily_filings_by_county retrieves the filing report for a specific county on a given past date. The db parameter must be capitalized (e.g., Tulsa, not tulsa), and the date must be a completed past day — the current day returns empty results. Coverage is limited to approximately 13 counties including Tulsa and Oklahoma County. Each filing in the response includes case_number, style, url, cmid, and db.
The OSCN API is a managed, monitored endpoint for oscn.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when oscn.net changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official oscn.net API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor daily court filings in Tulsa or Oklahoma County using get_daily_filings_by_county to track new cases by date.
- Build a party-name lookup tool using search_cases with lname/fname to find all cases involving a specific individual.
- Pull full docket histories for civil or criminal cases using get_case_details to extract docket_entries with document links.
- Aggregate probate or felony filings over a date range by combining case_type with filed_date_l and filed_date_h in search_cases.
- Populate a legal research database with judge assignments and party roles from the header and parties fields in get_case_details.
- Cross-reference case activity across multiple Oklahoma counties by iterating over ids from list_counties.
- Alert on new filings matching a specific party name by scheduling daily calls to search_cases filtered by lname.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.