USPTO TTAB Docket Diff API — Opposition & Cancellation Tracker
Pricing
Pay per usage
USPTO TTAB Docket Diff API — Opposition & Cancellation Tracker
Daily diff feed for USPTO TTABVUE. Emits JSONL records for every change to TTAB proceeding status, filings, parties, scheduling-order deadlines, challenged-mark text, or final decision. Replaces $20-200k/yr CompuMark watch tiers at $30-1,000/mo. For TM prosecution counsel, IP litigation, BigLaw.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
ChangeWire
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Share
TTABVUE API Wrapper — Daily USPTO TTAB Docket Diff & Opposition Tracker
Daily diff of every USPTO Trademark Trial and Appeal Board proceeding for trademark prosecution counsel, IP litigation tracking vendors, brand-protection teams, BigLaw competitive- intel desks, and AI legal-research agents. Watches TTABVUE for status flips, new filings, party substitutions, scheduling- order revisions, challenged-mark edits, and final decisions — emits one JSONL change record per detected change.
What this does
- Tracks every TTAB proceeding across OPP / CAN / EX / CON / INT types with full diff coverage on six dimensions (status / filings / parties / deadlines / challenged mark / decision).
- Cuts opposition-deadline detection latency from days to one hour so prosecution counsel never miss a 30-day answer deadline or a 60-day priority response window because TTABVUE only updates once a day and CompuMark's email-digest layer adds another 24-hour lag.
- Replaces $20-200k/yr CompuMark / Markify watch-service tiers with a metered pay-per-result Apify actor at $0.01 per change record (typically $30-1,000/month depending on portfolio size).
Use cases
TTABVUE API wrapper for trademark prosecution counsel
A boutique trademark firm prosecuting ~200 marks to publication
filters this actor on proceeding_numbers: [<200 OPP/CAN ids>],
runs daily at 07:00 UTC, and wires the JSONL diff stream into
the firm's docketing system. Any status_change,
filings_added, or deadline_change record routes straight
into the prosecution attorney's inbox with the proceeding
number + before/after snapshot fields. Cost: roughly 40-100
diff records/day across the portfolio × $0.01 = $12-30/day =
$360-900/mo. Replaces a $20-50k/yr CompuMark watch tier with
real-time fidelity rather than next-business-day email digests.
USPTO TTAB docket API for IP litigation tracking vendors
An IP litigation tracking vendor (CompuMark / Markify
competitor) feeds the actor's daily-changes lookback feed
(lookback_days: 7) into its watch-layer ingestion pipeline.
Each diff record becomes a structured event the vendor's
client-alert engine can route per-mark or per-class to its
brand-owner subscribers. The vendor saves the engineering
cost of building TTABVUE scraping in-house (~6-month FTE
project at $200k+ loaded) and gets per-event semantics
(status flip vs filing landing vs decision posted) the vendor
doesn't have to derive from raw HTML.
Trademark opposition tracker for brand-protection tooling
A brand-protection vendor (BrandShield / OpSec / MarkMonitor competitor) filters this actor on
marks_watch: [<top-1000 client mark substrings>]filings_added
records where the docket entry is "Opposition" route into the
client's account-manager queue within one hour. The vendor's
brand-owner clients get alerted to oppositions filed against
their marks the same day rather than next-business-day, and
the vendor differentiates on speed-of-alert against the
incumbent watch services.
TTAB proceeding monitor for BigLaw competitive intel
A BigLaw IP group's competitive-intel desk filters on
filers_watch: [<list of opposing-counsel firms>] and watches
opposing counsel's filing cadence + party-substitution
patterns + decision outcomes. The structured change_type
field lets the desk tag each event by category for
litigation-strategy briefings without manual TTABVUE-page
re-parsing.
TTAB final decision tracker for AI legal-research agents
An AI legal-research agent embedded in a trademark-prosecution
SaaS consumes the diff stream as a retrieval-augmented fact
source. Each decision_landed record is a structured event the
agent can reason over ("TTAB just issued final decision in
opposition 91306247 in favor of Plaintiff with $X attorney's
fees award") rather than an unstructured "TTABVUE updated".
The agent uses change records to draft client-facing case-law
summaries and prosecution-strategy memos in real time rather
than waiting for the next quarterly West Trademark Reporter
publication.
Input
See .actor/input_schema.json for the full schema. Key fields:
| Field | Type | Default | Description |
|---|---|---|---|
proceeding_numbers | array of strings | [] | Specific TTAB proceeding numbers (e.g. ["91306247"]). Empty triggers daily-changes feed. |
proceeding_types | array of strings | ["OPP","CAN"] | Subset of {OPP, CAN, EX, CON, INT}. Filter applied after parsing. |
filers_watch | array of strings | [] | Substring match on any party name (case-insensitive). |
marks_watch | array of strings | [] | Substring match on challenged-mark text (case-insensitive). |
lookback_days | int | 7 | Trailing window for daily-changes feed when no explicit list. |
change_types | array of strings | all six | Subset of {status_change, filings_added, parties_change, deadline_change, mark_change, decision_landed}. |
snapshot_key | string | ttab-snapshot-latest | Apify Key-Value Store key for previous snapshot. |
ttabvue_base_url | string | https://ttabvue.uspto.gov | Override for offline test mirrors. |
rate_limit_rps | int | 2 | Polite RPS for TTABVUE GETs. USPTO blocks at >10 rps. |
Realistic example input (200-mark prosecution-counsel portfolio):
{"proceeding_numbers": ["91306247", "91312098", "92085431", "..."],"change_types": ["status_change", "filings_added", "deadline_change"],"rate_limit_rps": 2}
Output
JSONL dataset; one record per detected change:
{"actor": "actor-5-uspto-ttab-docket-extractor","schema_version": "1.0.0","extracted_at": "2026-05-22T07:00:00Z","proceeding_number": "91306247","proceeding_type": "OPP","parties_short": "Acme Holdings v. Beta Goods","current_status": "Pending, Discovery","change_type": "filings_added","before": {"filings_count": 12},"after": {"filings_count": 13,"newest_filing": {"type": "Motion to Compel","filer": "Plaintiff","filed_date": "2026-05-21"}},"detected_at": "2026-05-22T07:00:00Z","source_url": "https://ttabvue.uspto.gov/v?pno=91306247&pty=OPP"}
Apify Console preview shows a 7-column table view (proceeding / type / parties / status / change type / detected at / source URL) so paralegals + non-engineers can sanity-check runs before piping into a docketing system.
Pricing & limits
- $0.01 per result (per detected diff record).
- Free 7-day trial so you can verify diff fidelity against your own portfolio before committing.
- Recommended schedule: daily at 06:00–08:00 UTC (TTABVUE refreshes overnight; running this window catches the freshest changes).
- Estimated monthly cost:
- Boutique trademark firm (~200 marks, daily cadence): $360–900/mo
- Mid-market IP litigation vendor (~5,000 proceedings watched): $200–500/mo via daily-changes feed
- Heavy user / brand-protection vendor (~30,000–100,000 records/mo): $300–1,000/mo
- Replaces CompuMark watch tiers ($20–200k/yr) and Markify portfolio plans ($5–30k/yr) with metered per-event fidelity.
Data source & freshness
- Source: USPTO TTABVUE public docket interface
(
https://ttabvue.uspto.gov/v?pno=<n>&pty=<t>) plus the daily-changes feed when no explicit watchlist supplied. - Update cadence (source-side): TTABVUE refreshes once per business day, typically overnight Eastern Time. New filings posted today appear on TTABVUE the next morning.
- Actor cadence (recommended): Daily 07:00 UTC. Running more often than TTABVUE refreshes is harmless but emits zero records.
- Public-records license: TTABVUE is a public-records
interface published under 35 USC §11(a) and 15 USC §1062
disclosure mandates. 17 USC §105 removes copyright on the
underlying USPTO records. USPTO's robots.txt allows
/vpaths and asks for an identifying User-Agent. Actor sets a non-spoofed UA and defaults to 2 rps.
FAQ
What's the difference between TTABVUE and TSDR?
TTABVUE is the docket-level interface for live trial proceedings (oppositions, cancellations, ex parte appeals, etc.) — one URL per proceeding showing parties, status, filings, scheduling order, and decisions. TSDR (Trademark Status & Document Retrieval) is the application-level interface for the underlying mark application — registration status, ownership, classes, prosecution history. This actor consumes TTABVUE; for application-level diffs see a separate actor or use the TSDR XML feed directly.
How does this compare to CompuMark or Markify?
CompuMark / Markify package TTABVUE watching as one feature in a $20–200k/yr enterprise watch service that also includes USPTO database watch, foreign-trademark watch, common-law search, and human-curated weekly reports. This actor does only the TTABVUE diff layer at $0.01 per change record. Pick this if your team already does its own portfolio docketing and just needs a programmatic feed; pick CompuMark if you need bundled global watch + human-curated alerts.
What's a TTAB proceeding number and how do I get a list?
Proceeding numbers are 8-digit integers prefixed by type
(91xxxxxx for oppositions, 92xxxxxx for cancellations,
88xxxxxx / 97xxxxxx for ex parte appeals, 94xxxxxx for
concurrent-use, 93xxxxxx for interferences). Boutique firms
get them from their docketing system; vendors get them from
the daily-changes feed. The actor accepts both — pass an
explicit proceeding_numbers list for known portfolios or
leave it empty to auto-pull the trailing lookback_days
window of newly-active proceedings.
What change types does this detect?
Six dimensions: status_change (current_status string moved,
e.g. Pending → Suspended → Terminated), filings_added
(new docket entries), parties_change (parties added/removed
or correspondent swap), deadline_change (any keyed
scheduling-order date moved), mark_change (challenged-mark
text or class list edited), decision_landed (final decision
block populated or its outcome edited).
How does this handle the daily-changes feed?
When proceeding_numbers is empty, the actor pulls the
trailing lookback_days window from TTABVUE's daily-changes
listing, parses each proceeding page, and diffs against the
previous snapshot. Default 7-day lookback catches anything
that landed in the last business week even if the cron missed
a day. Buyers tracking only specific portfolios should pass
explicit proceeding_numbers to skip the listing-page round
trip entirely.
Are attorney email addresses redacted?
Yes — TTABVUE filings include attorney email addresses in
correspondent fields. The actor redacts these on ingest by
default to avoid raising FCRA / GLBA flags for downstream
buyers. Set redact_emails: false in the input schema to
disable redaction (only do this if you've cleared the buyer-
cohort compliance posture yourself).
Can I watch by opposing-counsel firm rather than proceeding?
Yes. filers_watch: ["Smith Anderson LLP"] triggers a
substring match against any party-name field. The actor still
walks the daily-changes feed but emits diff records only for
proceedings where at least one party-name matches. Useful for
BigLaw competitive-intel desks tracking specific opposing
counsel.
Does this cover ex parte appeals?
Yes — ex parte appeals (88xxxxxx / 97xxxxxx) are included by
default. Set proceeding_types: ["EX"] to filter to ex parte
only; the default ["OPP","CAN"] excludes ex parte for
prosecution-counsel and brand-protection cohorts who don't
need them.
Is there a rate-limit risk?
The actor self-limits to 2 rps and respects USPTO's robots.txt
(allows /v paths). USPTO blocks at >10 rps in practice; we
stay well below. Bulk runs against 1,000+ proceedings take ~10
minutes wall time at 2 rps.
Companion actors in this portfolio
changewire maintains a portfolio of federal-data diff actors. All
share the same daily-snapshot + JSONL change-record pattern, watchlist
filtering, and per-record change-type semantics. Pick the data domain
you need; mix and match across a single Apify account:
changewire/clinicaltrials-protocol-diff— NIH-registered trial protocol diffs.changewire/grantsgov-opportunity-alert— Daily diff of federal grant opportunities (status, deadline, award amount, eligibility).changewire/fda-orange-book-extraction— FDA Orange Book pharmaceutical applications + patent listings, daily diff. (currently hard-blocked at the Akamai WAF; awaiting routing fix)changewire/noaa-storm-events-diff— NOAA NCEI storm-event records (tornados, hail, floods) with daily incremental diff.changewire/epa-echo-compliance— EPA ECHO facility compliance status + violations + enforcement cases.changewire/samgov-contracts-diff— SAM.gov federal contract opportunities, daily diff. (currently hard-blocked on identity-tied SAM.gov API key; awaiting user-machine key generation)
Running locally (for contributors)
cd actors/actor-5-uspto-ttab-docket-extractorapify run --purge # uses .actor/input_schema.json defaults
Watchlist run:
$apify run --input '{"proceeding_numbers": ["91306247", "91312098"]}'
Daily-changes run with filer filter:
$apify run --input '{"filers_watch": ["Acme Holdings"], "lookback_days": 14}'
Legal
TTABVUE is a public-records interface published under 35 USC §11(a)
and 15 USC §1062 disclosure mandates. 17 USC §105 removes copyright
on the underlying USPTO records. USPTO's robots.txt allows /v paths
and asks for an identifying User-Agent. Actor sets a non-spoofed UA
and defaults to 2 rps (USPTO blocks at >10 rps in practice). Some
filings include attorney email addresses; the actor redacts them on
ingest by default to avoid raising FCRA / GLBA flags for downstream
buyers.