The problem
Before onboarding a supplier, signing a distribution deal, or triaging a counterparty, a first-pass litigation screen is standard due diligence. Doing it manually means opening CourtListener or a national judgment database for each company, running a name search, and trying to answer the questions that actually matter: is this the same legal entity, is the company a structural party or just a text mention, which courts are not covered, and how current is the index?
The manual version has two traps. A name search returns hits for similarly named entities, and a zero-result search feels like a clean certificate when it is only one bounded query at one moment. Commercial due-diligence platforms wrap this in expensive seats. What a procurement or compliance team usually needs first is narrower: a documented, review-ready evidence row per company with cited source records — and an honest statement of what the search did not establish.
What the actor does
The Litigation Check actor screens submitted companies against two bounded public sources and returns review-ready evidence, not verdicts:
-
United States — federal PACER docket party names via CourtListener's search API, using a structural
party:"Company name"query. Deployed US use requires your own CourtListener API token, submitted through the encrypted secret input field (it is used only in the authorization header and never written to dataset rows or logs). -
Poland — SAOS judgment full-text search. Because this is not a structural party field, a hit can be a passing mention, and every PL row carries the weaker full-text-mention boundary, lower evidence confidence, and the action
REVIEW_MENTIONS_AND_VERIFY_PARTY_STATUS. -
United Kingdom — deliberately disabled: programmatic identification and extraction of Find Case Law records counts as computational analysis and requires a separate licence, so a UK request returns a free
source_licence_requiredadvisory and no search is made.
For each company × jurisdiction pair the delivered row carries found, the source-reported caseCount, and a bounded list of cited record-review pointers (cases, capped by maxCasesPerRow), plus entityId and observedAt for point-in-time identity. Around the facts sit the interpretation boundaries: confidenceScore/confidenceBand for the evidence path (not probability of liability), dataGaps and confidenceRisks for coverage, identity, recency and indexing limits, recommendedAction and actionPriority for human-review routing, failureType/retryable/partial handling truth, billing linkage, and safeToAutomate — always false.
A completed bounded zero-match observation is a delivered result; a source failure, unsupported scope, licence advisory or ambiguous delivery is a free advisory, never relabelled as "no litigation." The KVS OUTPUT record reconciles requested, delivered, paid, free and withheld counts before any downstream consumption.
Example: input and output
The public example is PL-only, so it needs no credential:
{
"companies": [
"PKO Bank Polski"
],
"jurisdictions": [
"PL"
],
"maxCasesPerRow": 3,
"maxConcurrency": 1
}
A retained row fragment from a real run of that pair (PKO Bank Polski / PL) — a full-text mention observation:
{
"entityId": "litigation-check:b2e82fa8b0509a18a5183782",
"found": true,
"partial": false,
"confidenceBand": "low",
"recommendedAction": "REVIEW_MENTIONS_AND_VERIFY_PARTY_STATUS",
"failureType": null,
"retryable": false,
"safeToAutomate": false,
"billable": true
}
A retained US no-match observation for the synthetic string Zzqfakecorp Nonexistent 12345 shows the other shape: found: true (the source check completed), caseCount: 0, cases: [] — a bounded zero-match, explicitly not a certificate of no litigation.
Pricing and the free limit
Pay per event: $0.005 per run start plus $0.02 per delivered completed source observation — one company × one jurisdiction, including a valid bounded zero-match. Source failures, unsupported-jurisdiction and licence advisories are free.
Apify's free plan gives $5 of usage credits per month. At this tariff, $5 covers about 249 company × jurisdiction observations in a single run (0.005 + 0.02 × 249 = $4.985) — or about 24 runs of 10 observations each at $0.205 per run.
Try it
Start with the PL-only example (no token needed), then add your own CourtListener token for US coverage: Litigation Check — Company Litigation History Screener
For AI agents and MCP
The actor takes JSON in and returns structured JSON rows plus the KVS OUTPUT reconciliation receipt, so an agent can run a screen, verify replaySafe and paid/free counts, and route rows by recordType and recommendedAction. The README's agent/MCP workflow requires the agent to cite the public index record (distinct from an authoritative court source), name the jurisdiction and signal type, state that the search is bounded, enumerate identity and source gaps, and ask for human approval before any communication or business decision. An MCP server setup is documented in the README's API section.
Top comments (0)