Basic Usage

This guide shows how to perform a basic case or party search using the pacersdk client.

Initialize the Client

Before performing any searches, create a client instance using your PACER credentials:

from pacersdk import PCLClient

client = PCLClient(
    username="your-username",
    password="your-password",
    secret="your-client-secret",  # optional
    client_code="your-client-code"  # optional
    environment="qa",  # for testing purposes
)

Immediate Search (Single Case or Party)

Immediate searches return results in groups of 54. Each group is referred to as a “page.” The maximum number of results returned by an immediate search is 5,400 items (100 pages). If more results are available beyond the first page, you must request additional pages explicitly.

Immediate searches are ideal for smaller queries or when users want fast access to limited sets of results. Search criteria are passed as a dictionary using the relevant model: CourtCaseSearchCriteria or PartySearchCriteria.

There are two ways to perform an immediate search:

  1. Single-page search using search()

  2. Paginated search using search_all() to retrieve all pages automatically

Single-Page Case Search:

from pacersdk.models.query import CourtCaseSearchCriteria

criteria: CourtCaseSearchCriteria = {
    "caseNumberFull": "1:2002bk20340",
}

report_list = client.case.search(criteria)

for case in report_list["content"]:
    print(case["caseNumberFull"], "-", case["caseTitle"])

Paginated Case Search:

from pacersdk.models.query import CourtCaseSearchCriteria

criteria: CourtCaseSearchCriteria = {
    "courtId": "nysb",  # example: Southern District of New York
    "caseTitle": "Acme Corp"
}

for report_list in client.case.search_all(criteria):
    for case in report_list["content"]:
        print(case["caseNumberFull"], "-", case["caseTitle"])

Single-Page Party Search:

from pacersdk.models.query import PartySearchCriteria

criteria: PartySearchCriteria = {
    "lastName": "smith",
    "ssn": "123456789",
}

report_list = client.party.search(criteria)

for party in report_list["content"]:
    print(party["firstName"], party["lastName"], "--", party["caseNumberFull"])

Paginated Party Search:

from pacersdk.models.query import PartySearchCriteria

criteria: PartySearchCriteria = {
    "lastName": "Smith"
}

for report_list in client.party.search_all(criteria):
    for party in report_list["content"]:
        print(party["firstName"], party["lastName"], "--", party["caseNumberFull"])

Notes

  • Ensure your account has access to PACER Case Locator and the correct court IDs.

  • Batch responses may be delayed depending on PACER load and queueing.