CourtListener (Independent Publisher) (Preview)
CourtListener is a free legal research platform operated by Free Law Project. This connector provides access to federal and state court opinions, dockets, PACER filings, and citation verification.
This connector is available in the following products and regions:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
| Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Contact | |
|---|---|
| Name | Dan Romano |
| URL | https://github.com/krautrocker |
| Connector Metadata | |
|---|---|
| Publisher | krautrocker |
| Website | https://www.courtlistener.com |
| Privacy policy | https://free.law/privacy |
| Categories | Business Intelligence;Data |
CourtListener (Independent Publisher)
CourtListener is a free legal research platform operated by Free Law Project. It provides public access to millions of federal and state court opinions, PACER dockets, docket entries, oral argument recordings, and judge information. This connector enables Power Automate flows and Power Apps to search court dockets, retrieve docket details and filings, search case law opinions, and verify legal citations using the CourtListener REST API v4.
Publisher: Dan Romano
Stack Owner: Free Law Project
Prerequisites
To use this connector, you need:
- A free CourtListener account at courtlistener.com
- A CourtListener API token, available from your account profile
Obtaining Credentials
- Go to courtlistener.com and select Sign in / Register.
- Create a free account using your email address.
- After signing in, navigate to your profile page at courtlistener.com/profile/api-token/.
- Copy the token shown on that page.
- When creating a connection in Power Automate or Power Apps, paste your token into the API Key field using the following format:
Token your_api_token. The wordTokenfollowed by a single space must be included before the token value — entering the token alone without this prefix will result in authentication errors.
Supported Operations
| Operation | Description |
|---|---|
| SearchDockets | Search federal court dockets by case name, docket number, court, or filing date. |
| GetDocket | Retrieve a single court docket by its CourtListener numeric ID. |
| GetDocketEntries | List docket entries (filings) for a specific court docket, with optional filtering by date or entry number. |
| SearchOpinions | Search case law opinions by keyword, court, judge, or date using full-text search. |
| GetCitation | Verify one or more legal citations, or extract and verify all citations found in a block of text. |
Known Issues and Limitations
- Rate limits: The CourtListener API enforces the following rate limits for authenticated users: 5 requests per minute, 50 requests per hour, and 125 requests per day. All three limits apply concurrently, and the most restrictive limit controls whether a request is accepted. Flows that call this connector frequently should include delays between actions to stay within these limits.
- Authentication: This connector uses API token authentication. OAuth is not supported for Independent Publisher connectors at this time.
- RECAP Fetch: The RECAP Fetch endpoint, which retrieves documents directly from PACER on demand, is not included in this connector. Accessing PACER documents through RECAP Fetch requires a separate PACER account and incurs PACER fees. Users who need this capability should access it directly via the CourtListener website or API.
- Pagination: All list operations return paginated results. Use the Cursor parameter with the value from the Next Page URL field in a prior response to retrieve subsequent pages.
- Constructing full URLs: The
URL Pathfield returned by all operations is a relative path (for example,/opinion/10863230/case-name/). To produce a clickable link, prependhttps://www.courtlistener.comto this value in your flow. Opinion URLs follow the patternhttps://www.courtlistener.com/opinion/{id}/{case-name-slug}/. - Coverage: CourtListener's opinion database covers federal courts comprehensively and many state courts, but coverage varies by jurisdiction. Not all courts or time periods are available. Use the CourtListener coverage page to verify coverage for a specific court before building a flow that depends on it.
Creating a connection
The connector supports the following authentication types:
| Default | Parameters for creating connection. | All regions | Not shareable |
Default
Applicable: All regions
Parameters for creating connection.
This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
| Name | Type | Description | Required |
|---|---|---|---|
| Authorization Token | securestring | Enter your CourtListener API token in the format: Token your_api_token | True |
Actions
| Get docket |
Retrieve a single court docket by its CourtListener numeric ID. |
| Get docket entries |
List docket entries for a specific court docket, with optional filtering and sorting. |
| Look up citation |
Verify one or more legal citations, or extract all citations from a block of text. |
| Search dockets |
Search federal court dockets by case name, docket number, court, or filing date. Use field selection to limit the response payload. |
| Search opinions |
Search case law opinions by keyword, court, judge, or date using full-text search. Narrowing the query to a specific court or date range improves performance. |
Get docket
Retrieve a single court docket by its CourtListener numeric ID.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Docket ID
|
id | True | integer |
The CourtListener numeric ID of the docket to retrieve. |
|
Fields
|
fields | string |
Comma-separated list of fields to include in the response, reducing payload size and database load (for example, id,case_name,docket_number). |
Returns
- Body
- Docket
Get docket entries
List docket entries for a specific court docket, with optional filtering and sorting.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Docket ID
|
docket | True | integer |
The numeric ID of the docket (for example, 73382952). Use the ID field from a Get docket response, not the full resource URI. |
|
Entry Number
|
entry_number | integer |
Filter by a specific docket entry number. |
|
|
Filed On or After
|
date_filed__gte | date |
Filter entries filed on or after this date (YYYY-MM-DD). |
|
|
Filed On or Before
|
date_filed__lte | date |
Filter entries filed on or before this date (YYYY-MM-DD). |
|
|
Order By
|
ordering | string |
Sort results by a field name, prefixed with a hyphen for descending order. |
|
|
Page Size
|
page_size | integer |
Number of results to return per page. |
|
|
Cursor
|
cursor | string |
Pagination cursor from the next or previous URL in a prior response. |
|
|
Fields
|
fields | string |
Comma-separated list of fields to include in the response, reducing payload size and database load (for example, id,entry_number,description). |
Returns
- Body
- DocketEntryList
Look up citation
Verify one or more legal citations, or extract all citations from a block of text.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Text
|
text | string |
A block of legal text from which to extract and verify all citations. |
|
|
Volume
|
volume | string |
The volume number of the reporter for a single citation lookup. |
|
|
Reporter
|
reporter | string |
The reporter abbreviation for a single citation lookup (for example, U.S. or F.3d). |
|
|
Page
|
page | string |
The page number within the reporter volume for a single citation lookup. |
Returns
- response
- array of CitationResult
Search dockets
Search federal court dockets by case name, docket number, court, or filing date. Use field selection to limit the response payload.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Case Name
|
case_name | string |
Filter dockets by case name (partial match). |
|
|
Docket Number
|
docket_number | string |
Filter dockets by docket number. |
|
|
Court
|
court | string |
Filter dockets by court identifier (for example, scotus or ca9). Use court=xyz rather than court__id=xyz to avoid an expensive database join. |
|
|
Filed On or After
|
date_filed__gte | date |
Filter dockets filed on or after this date (YYYY-MM-DD). |
|
|
Filed On or Before
|
date_filed__lte | date |
Filter dockets filed on or before this date (YYYY-MM-DD). |
|
|
Order By
|
ordering | string |
Sort results by a field name, prefixed with a hyphen for descending order. |
|
|
Page Size
|
page_size | integer |
Number of results to return per page. |
|
|
Cursor
|
cursor | string |
Pagination cursor from the next or previous URL in a prior response. |
|
|
Fields
|
fields | string |
Comma-separated list of fields to include in the response, reducing payload size and database load (for example, id,case_name,docket_number). |
Returns
- Body
- DocketList
Search opinions
Search case law opinions by keyword, court, judge, or date using full-text search. Narrowing the query to a specific court or date range improves performance.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Search Query
|
q | string |
Full-text search query using CourtListener search operators. |
|
|
Court
|
court | string |
Filter opinions by court identifier (for example, scotus or ca9). Use court=xyz rather than court__id=xyz to avoid an expensive database join. |
|
|
Order By
|
order_by | string |
Sort results by a field, for example score desc or dateFiled desc. |
|
|
Filed After
|
filed_after | date |
Filter opinions filed after this date (YYYY-MM-DD). |
|
|
Filed Before
|
filed_before | date |
Filter opinions filed before this date (YYYY-MM-DD). |
|
|
Cursor
|
cursor | string |
Pagination cursor from the next or previous URL in a prior response. |
|
|
Fields
|
fields | string |
Comma-separated list of fields to include in the response, reducing payload size and database load (for example, id,caseName,citation). |
Returns
- Body
- OpinionSearchList
Definitions
DocketList
| Name | Path | Type | Description |
|---|---|---|---|
|
Count
|
count | integer |
The total number of dockets matching the query. |
|
Next Page URL
|
next | string |
The URL to retrieve the next page of results. |
|
Previous Page URL
|
previous | string |
The URL to retrieve the previous page of results. |
|
Results
|
results | array of Docket |
The list of dockets matching the query. |
Docket
| Name | Path | Type | Description |
|---|---|---|---|
|
ID
|
id | integer |
The CourtListener numeric ID of the docket. |
|
Resource URI
|
resource_uri | string |
The URI of this docket resource. |
|
Court ID
|
court_id | string |
The identifier of the court (for example, scotus or ca9). |
|
Case Name
|
case_name | string |
The short name of the case. |
|
Full Case Name
|
case_name_full | string |
The full name of the case. |
|
Docket Number
|
docket_number | string |
The docket number assigned by the court. |
|
Date Filed
|
date_filed | string |
The date the case was filed. |
|
Date Terminated
|
date_terminated | string |
The date the case was terminated, if applicable. |
|
Date Argued
|
date_argued | string |
The date the case was argued, if applicable. |
|
Assigned Judge
|
assigned_to_str | string |
The name of the judge assigned to this case. |
|
Referred To
|
referred_to_str | string |
The name of the magistrate judge this case was referred to, if applicable. |
|
Nature of Suit
|
nature_of_suit | string |
The nature of suit code for this case. |
|
Jurisdiction Type
|
jurisdiction_type | string |
The type of jurisdiction for this case. |
|
Cause
|
cause | string |
The cause of action for this case. |
|
Jury Demand
|
jury_demand | string |
Whether a jury was demanded in this case. |
|
URL Path
|
absolute_url | string |
The relative URL path for this docket. Prepend https://www.courtlistener.com to construct the full link (for example, https://www.courtlistener.com/docket/73382952/case-name/). |
|
PACER Case ID
|
pacer_case_id | string |
The PACER case ID for this docket, if available. |
|
Source
|
source | integer |
The source code indicating how this docket was acquired. |
|
Blocked
|
blocked | boolean |
Whether this docket is blocked from search engine indexing. |
DocketEntryList
| Name | Path | Type | Description |
|---|---|---|---|
|
Count
|
count | integer |
The total number of entries matching the query. |
|
Next Page URL
|
next | string |
The URL to retrieve the next page of results. |
|
Previous Page URL
|
previous | string |
The URL to retrieve the previous page of results. |
|
Results
|
results | array of DocketEntry |
The list of docket entries. |
DocketEntry
| Name | Path | Type | Description |
|---|---|---|---|
|
ID
|
id | integer |
The CourtListener numeric ID of this docket entry. |
|
Date Filed
|
date_filed | string |
The date this entry was filed. |
|
Date Entered
|
date_entered | string |
The date this entry was entered into the docket. |
|
Entry Number
|
entry_number | integer |
The sequential entry number on the docket. |
|
Description
|
description | string |
The text description of this docket entry. |
|
PACER Sequence Number
|
pacer_sequence_number | integer |
The PACER sequence number for this entry, if available. |
OpinionSearchList
| Name | Path | Type | Description |
|---|---|---|---|
|
Count
|
count | integer |
The total number of opinions matching the query. |
|
Next Page URL
|
next | string |
The URL to retrieve the next page of results. |
|
Previous Page URL
|
previous | string |
The URL to retrieve the previous page of results. |
|
Results
|
results | array of OpinionSearchResult |
The list of opinion search results. |
OpinionSearchResult
| Name | Path | Type | Description |
|---|---|---|---|
|
ID
|
id | integer |
The CourtListener numeric ID of this opinion. |
|
Docket ID
|
docket_id | integer |
The ID of the docket associated with this opinion. |
|
Court ID
|
court_id | string |
The identifier of the court that issued this opinion. |
|
Case Name
|
caseName | string |
The name of the case. |
|
Docket Number
|
docketNumber | string |
The docket number for this case. |
|
Date Filed
|
dateFiled | string |
The date this opinion was filed. |
|
Citations
|
citation | array of string |
The list of citations for this opinion. |
|
Status
|
status | string |
The precedential status of this opinion. |
|
Cite Count
|
citeCount | integer |
The number of times this opinion has been cited. |
|
Judge
|
judge | string |
The name of the judge who authored this opinion. |
|
Per Curiam
|
per_curiam | boolean |
Whether this opinion was issued per curiam by the full court. |
|
URL Path
|
absolute_url | string |
The relative URL path for this opinion. Prepend https://www.courtlistener.com to construct the full link (for example, https://www.courtlistener.com/opinion/10863230/case-name/). |
|
Snippet
|
snippet | string |
A text excerpt from the opinion relevant to the search query. |
CitationResult
| Name | Path | Type | Description |
|---|---|---|---|
|
Citation
|
citation | string |
The citation that was looked up. |
|
Normalized Citations
|
normalized_citations | array of string |
Corrected citations if the input contained typos or non-canonical abbreviations. |
|
Start Index
|
start_index | integer |
The character position in the input text where this citation begins. |
|
End Index
|
end_index | integer |
The character position in the input text where this citation ends. |
|
Status
|
status | integer |
The HTTP status code for this citation lookup result. |
|
Error Message
|
error_message | string |
Details about any error encountered during the citation lookup. |
|
Clusters
|
clusters | array of CitationCluster |
The CourtListener cases matching this citation. |
CitationCluster
| Name | Path | Type | Description |
|---|---|---|---|
|
Cluster ID
|
id | integer |
The CourtListener cluster ID for this case. |
|
Case Name
|
case_name | string |
The name of the case matching this citation. |
|
URL Path
|
absolute_url | string |
The relative URL path for this case. Prepend https://www.courtlistener.com to construct the full link (for example, https://www.courtlistener.com/opinion/10863230/case-name/). |