Enterprise Briefing Live Data Pipeline US Federal Patent · Trademark · Copyright Litigation Proof of Concept — Not a Darts-ip Replacement

Automated IP Litigation Data Pipeline

A working proof of concept for turning public U.S. federal IP litigation court records into structured, normalized, searchable data — presented as a discussion of where Chrisian could extend or support Clarivate's Darts-ip data operations, not replace them.

Author: Chrisian Data Architecture
Scope: US District Courts — Patent, Trademark, Copyright
Source: CourtListener / RECAP (Free Law Project), live API
Live Portal: courtlistener.chrisianinc.com

The Executive Problem & Where We Fit

Darts-ip has spent over a decade building the dominant global IP litigation index — 10M+ cases, 140+ countries, 4,100+ courts, ~60,000 new cases added every month, each classified against a proprietary "points of law" taxonomy (300+ categories for patents, 350+ for trademarks) by expert analysts. That scale and legal taxonomy is not something worth trying to out-build.

What is replicable in a short proof of concept is the automation layer underneath it: acquiring source court data, extracting and normalizing it into structured fields, and making it searchable — without a human touching each record. Chrisian has already built and operated this pattern for county civil records; this POC retargets the same pipeline at U.S. federal patent, trademark, and copyright litigation to show it generalizes, and to open a conversation about where Clarivate's own pipeline still leans on manual, costly, or simply out-of-scope work that we could take on.

55
Live Cases Ingested
Patent, trademark & copyright — 5 federal districts
100%
IP-Type Classification
Validated against real cause-of-action code variants
155
Source Documents Indexed
Linked RECAP filings with OCR’d text snippets
0
Fixtures / Mock Records
Every record is a live API pull, SHA-256 checksummed
01

How We Acquire the Source Data

Rather than scraping PACER or individual court portals directly — fragile, rate-limited, and legally noisy — this POC pulls from CourtListener's RECAP API (operated by the nonprofit Free Law Project), which republishes PACER federal docket data and is fully readable by machine, with no API token required for the search endpoints used here:

[CourtListener / RECAP API] (federal PACER data, live, no auth required) │ GET /api/rest/v4/search/?type=r&q=...&court=... ▼ [Ingestion Script] │ ├──▶ Land Raw JSON Snapshot to Disk ├──▶ Compute SHA-256 Checksum └──▶ Register raw_snapshots Audit Row
02

How We Extract and Normalize It

Each raw docket hit is mapped into a canonical schema before storage:

Field groupWhat we captureStatus
Case identityCourt, docket number, case name, cause of action, PACER case IDAutomated
DatesFiled, terminated, arguedAutomated
PeopleParties, attorneys, law firms (per docket, where the source exposes it)Automated
IP type classificationPatent / trademark / copyright, from cause-of-action code + case nameAutomated
Patent numbers referencedRegex extraction from case captions & filing text/snippetsPartial — shallow
DispositionPending vs. terminated, from docket datesAutomated
Outcome / winnerWho prevailed, on what groundsNot built — needs document read
Source documentsLinked filings with description, page count, filing date, OCR’d text snippetAutomated

Sample of a real normalized record from this run:

{
  "case_name": "The American Psychiatric Association v. EmblemHealth, Inc.",
  "court": "District Court, S.D. New York",
  "docket_number": "1:25-cv-10783",
  "cause": "15:1125la Trademark Infringement (Lanham Act)",
  "ip_type": "TRADEMARK",
  "date_filed": "2025-12-30",
  "disposition_status": "PENDING",
  "assigned_judge": "John George Koeltl",
  "parties": ["EmblemHealth Plan, Inc.", "The American Psychiatric Association", "..."],
  "attorneys": ["Jason Samuel Cowart", "Raphael Janove", "..."],
  "firms": ["Zuckerman Spaeder LLP", "Janove PLLC", "..."],
  "documents": [ { "description": "NOTICE TO ATTORNEY REGARDING CIVIL...", "page_count": 2 } ]
}
03

What's Genuinely Automatic — and What Still Needs a Human

Ingestion, snapshotting, field normalization, IP-type classification, and search are 100% automated end-to-end in this POC — confirmed by re-running the pipeline live and inspecting the code path, with no manual data-entry step anywhere between the API call and the search response.

Two things are deliberately not automated, because they can't responsibly be — and this is exactly where Darts-ip itself pays for expert analyst time. Rather than leave that as a slide bullet, the demo portal includes a working Human Review Console: cases needing outcome confirmation or asset verification land in a review queue, an analyst reads the linked source documents and submits a decision, and the structured record is updated with a visible "Human-Verified" badge and audit trail (reviewer name, timestamp, what was confirmed).

Positioning

We are not proposing to re-index 10M global cases or rebuild an 11-jurisdiction legal taxonomy. We're proposing to take on the acquisition, normalization, and QA-augmented extraction work that is manual, costly to scale, or outside where Clarivate wants to invest engineering time internally — as an extension of the data operations Clarivate already trusts us to run. The review console is the concrete shape of that offer: automation for the 90% that's mechanical, a staffed human-in-the-loop workflow for the 10% that requires legal judgment.

04

Structured Output & Search

The normalized store is exposed both as a queryable REST API and a browsable demo view:

GET /api/v1/cases/search?ipType=PATENT&court=txed&limit=10
GET /api/v1/stats

The same shape also exports cleanly as batch JSONL for bulk delivery, matching the modality Clarivate's own data-onboarding teams are used to receiving from vendors.

05

What We'd Build Next

Inspect the System Live

Browse real, live-ingested patent, trademark & copyright litigation records, the cryptographic audit trail, and the Human Review Queue where analyst decisions get written back to the structured record.

Open Live Demo Portal →