FDA Orange Book Patent & Exclusivity Tracker — Quarterly Diff
Pricing
Pay per usage
FDA Orange Book Patent & Exclusivity Tracker — Quarterly Diff
Daily diff feed for FDA Orange Book. Emits JSONL records for every change to approval status, patent count, expirations, exclusivity grants, generic availability, or product count. Replaces $25-50k/yr Cortellis / Evaluate Pharma / IPD Analytics tiers at $2-1,350/mo. For pharma BI and IP attorneys.
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
FDA Orange Book API — Daily Loss-of-Exclusivity & Patent-Listing Diff
Daily diff of every FDA Orange Book approved-drug application for pharma competitive-intelligence desks, IP attorneys, generic- pharma forecasting teams, AI-agent builders embedding pharma signals, and specialty-pharma watchlist analysts. Watches the Orange Book bulk-ZIP refresh for approval-status flips, patent- count changes, patent-expiration moves, exclusivity-grant additions, generic-availability shifts, dosage-form changes, and product-count drift across NDA / ANDA / BLA applications — emits one JSONL change record per detected change.
What this does
- Tracks ~26k Orange Book applications across NDA + ANDA + BLA with full diff coverage on seven dimensions (approval status, patent count, patent expirations, exclusivity expirations, generic availability, dosage form, product count).
- Cuts loss-of-exclusivity surveillance latency from quarterly ETL builds to one day so pharma-BI desks, IP attorneys, and generic-pharma forecasting teams catch patent listings, exclusivity grants, and TE-code transitions the same day FDA refreshes the Orange Book — rather than waiting for the next Cortellis bi-weekly digest or the next Evaluate Pharma quarterly snapshot.
- Replaces $35-50k/yr Cortellis Drug Discovery / Evaluate Pharma / IPD Analytics enterprise tiers with a metered pay-per-result Apify actor at $0.03 per change record (typically $2-12/month for a small competitor portfolio or $120-1,350/month for a 500- ingredient ingredient-watch).
Use cases
FDA Orange Book API for pharma competitive-intelligence desks
A pharma-BI desk at a top-20 pharma maintains a 50-application
competitor portfolio (their three top competitors' full NDA + key
ANDAs across the franchise). The desk runs this actor weekly with
watchlist: ["NDA-021423", "NDA-020702", "ANDA-076503", ...] and
routes JSONL diff records into Slack #pharma-bi-alerts. Every
patent_expirations move surfaces 2-4 weeks before Cortellis catches
up and 6+ weeks before Evaluate Pharma's quarterly refresh — letting
the BI desk update the LoE calendar in their forecasting model
faster than competitors using bundled-suite vendors. Cost: roughly
5-30 changes/week × $0.03 = $0.45-2.70/week = $2-12/mo.
FDA Orange Book diff for IP attorneys and litigation triggers
An IP-litigation team at a Top-50 AmLaw firm tracks the Orange Book
patent listings for ~150 drugs in active inter partes review or
litigation. Each patent_count drop is a public-record signal of
either patent-settlement, patent-invalidation, or a "Delist Flag"
move — all of which materially shape litigation strategy. The actor
emits structured before / after snapshots with patent number
arrays, so the team's docket-research paralegal can immediately
cross-reference the delisted patent number against PACER without
manual Orange Book HTML re-parsing. Cost: ~$15-50/mo for the 150-
drug watch + alert volume.
Loss-of-exclusivity tracker for generic-pharma forecasting
A generic-pharma R&D forecasting team filters this actor on the
top-200 high-revenue ingredients (semaglutide, tirzepatide,
ozempic-class, GLP-1 agonists, etc.) and runs daily. Every
exclusivity_expirations and patent_expirations change feeds
into the team's first-filer ANDA prioritization model. The
structured change_type field lets the model distinguish a
patent-cliff signal (exclusivity expires) from a label expansion
(new exclusivity grant) — a distinction Evaluate Pharma's quarterly
PDF reports collapse into a single "patent activity" rollup. Cost:
$120-450/mo at 500-ingredient watch + daily cadence.
Pharma patent expiration API for AI-agent builders
An AI-agent builder packages this actor's JSONL output stream as a tool inside an agent that answers pharma-investment research questions ("which drugs lose exclusivity in Q3 2027?"). Programmatic access at $0.03/result lets the agent burn 10-50 records per query without rebuilding the Orange Book ETL each session. Replaces the $50k/yr Cortellis API tier most agent-builders can't afford with metered per-query economics that scale with usage.
Specialty-pharma watchlist API for therapeutic-area portfolios
A specialty-pharma analyst at an oncology-focused fund filters on
specific ingredient lists (oncology-relevant compounds) using
ingredients: ["pembrolizumab", "nivolumab", "ipilimumab", ...]
and tracks 50-100 high-value applications across the watchlist.
Each daily diff record surfaces approval-status flips and patent-
listing additions that map directly into the fund's investment
thesis on biosimilar-entry risk and patent-cliff timing. Same
$0.03/result economics; ~$30-80/mo typical run cost.
Input
See .actor/input_schema.json for the full schema. Key fields:
| Field | Type | Default | Description |
|---|---|---|---|
watchlist | array of strings | [] | Application keys (e.g. ["NDA-021423","ANDA-076503"]). |
trade_names | array of strings | [] | Brand-name substrings (case-insensitive). |
ingredients | array of strings | [] | Active-ingredient substrings (case-insensitive). |
change_types | array of strings | all seven | Subset of {approval_status, patent_count, patent_expirations, exclusivity_expirations, generic_availability, dosage_form, product_count}. |
snapshot_key | string | snapshot-latest | Apify Key-Value Store key for previous snapshot. |
bulk_url | string | "" | Explicit Orange Book ZIP URL override. Empty triggers landing-page auto-discovery. |
rate_limit_rps | int | 1 | Polite RPS for landing-page + ZIP fetch. FDA does not publish an RPS limit; 1 is conservative. |
If watchlist + trade_names + ingredients are all empty, the actor
processes the full Orange Book (~26k applications) and emits diff
records for every detected change — useful for a baseline first run.
Realistic example input (50-application competitor portfolio for a pharma-BI desk):
{"watchlist": ["NDA-021423", "NDA-020702", "ANDA-076503", "NDA-022518", "..."],"change_types": ["patent_expirations","exclusivity_expirations","patent_count","approval_status"],"rate_limit_rps": 1}
Output
JSONL dataset; one record per detected change:
{"actor": "actor-3-fda-orange-book-extraction","schema_version": "1.0.0","extracted_at": "2026-05-22T06:00:00Z","source_url": "https://www.accessdata.fda.gov/scripts/cder/ob/results_product.cfm?Appl_Type=NDA&Appl_No=021423","appl_type": "NDA","appl_no": "021423","appl_key": "NDA-021423","trade_name": "LEXAPRO","ingredient": "ESCITALOPRAM OXALATE","change_type": "patent_expirations","before": {"earliest": "06/04/2025", "patent_numbers": ["6916941"]},"after": {"earliest": "06/04/2027", "patent_numbers": ["6916941"]},"detected_at": "2026-05-22T06:00:00Z"}
Apify Console preview shows a 6-column table view (appl key / trade name / ingredient / change type / detected at / source URL) so analysts and non-engineers can sanity-check runs before piping into a BI pipeline.
Pricing & limits
- $0.03 per result (per detected diff record).
- Typical small portfolio cost (50 applications, weekly cadence): ~$2-12/mo PPR.
- Mid-market cost (500-ingredient ingredient-watch, daily cadence): ~$120-1,350/mo PPR.
- Free 7-day trial so you can verify diff fidelity against your own watchlist before committing.
- Recommended schedule: Daily 06:00–08:00 UTC after the FDA bulk ZIP refresh window. Running more often than the FDA refreshes is harmless but emits zero records.
- Estimated monthly cost:
- Pharma-BI competitor portfolio (~50 apps, weekly): $2-12/mo PPR
- IP-litigation watch (~150 drugs, daily): $15-50/mo PPR
- Generic-pharma LoE forecasting (~500 ingredients, daily): $120-450/mo PPR
- Specialty-pharma therapeutic-area portfolio (~80 apps, daily): $30-80/mo PPR
- Replaces Cortellis Drug Discovery ($35-50k/yr) / Evaluate Pharma ($25-40k/yr) / IPD Analytics ($30-60k/yr) enterprise tiers with metered per-event fidelity for the Orange Book diff subset.
Data source & freshness
- Source: FDA Orange Book bulk-ZIP refreshed quarterly + on-demand
per-application detail (
accessdata.fda.gov/scripts/cder/ob). Auto-discovers the current ZIP URL from; accepts an explicitfda.gov/drugs/.../orange- book-data-filesbulk_urloverride. - Update cadence (source-side): Bulk-ZIP refreshes quarterly with rolling daily updates published into the same files between refreshes. Patent listings + exclusivity grants land within 1-3 days of FDA approval. TE-code changes typically batch into the quarterly ZIP cycle.
- Actor cadence (recommended): Daily 06:00 UTC. Catches rolling daily updates without spurious activity on quiet days.
- Public-records license: Orange Book is published under the 21 CFR §314.53 patent-and-exclusivity public-disclosure mandate. 17 USC §105 removes copyright on the underlying FDA records. Actor sets a polite 1 rps default and an identifying User-Agent on landing-page + ZIP fetches.
FAQ
How does this compare to Cortellis or Evaluate Pharma?
Cortellis Drug Discovery / Evaluate Pharma / IPD Analytics package Orange Book watching as one feature in a $25-50k/yr enterprise pharma-intelligence suite that also includes pipeline tracking, clinical-trial outcomes, deal-and-licensing data, market-access intelligence, and human-curated weekly insight reports. This actor does only the federal-Orange-Book diff layer at $0.03 per change record. Pick this if your team already has the rest of its pharma- intelligence stack and just needs a programmatic Orange Book feed; pick Cortellis or Evaluate if you need bundled global pharma data + pipeline + deal data + human-curated reports.
What's a appl_key and how does it map to NDAs / ANDAs / BLAs?
appl_key is a hyphenated combination of Appl_Type + Appl_No
(e.g. NDA-021423, ANDA-076503, BLA-125558). FDA assigns each
application a separate Appl_Type prefix; the actor preserves both
fields explicitly and rolls up at the appl_key level — which is
the natural pharma-workflow granularity (one regulatory submission
per application). One Appl_No can cover multiple strengths
(Product_No 001, 002, 003 ...); the actor rolls up at the
application level. Per-strength diffing is a candidate Week-5
follow-up if buyers ask.
What change types does this detect?
Seven dimensions: approval_status (Type field shifts including
DISCN withdrawals + new RX/OTC approvals), patent_count (number
of listed patents drops or rises — a delist-flag move shows up as
a count drop), patent_expirations (earliest expiration date moves
on existing patents), exclusivity_expirations (new exclusivity
codes added or expirations move), generic_availability (TE-code
transitions signaling generic entry), dosage_form (DF;Route field
changes for label-expansion signal), product_count (number of
strength-level products under one appl_no rises or drops).
Are delisted patents handled correctly?
Yes — patents flagged Delist_Flag=Y are dropped at aggregation
time, matching how FDA presents the Orange Book listing surface to
buyers. A delisted patent surfaces as a patent_count drop diff
record, not as a patent_expirations change — so the IP-litigation
buyer cohort can distinguish "patent withdrawn from listing" from
"patent expiration moved" cleanly.
How does this handle the quarterly bulk-ZIP refresh + daily incremental updates?
The actor downloads the current bulk ZIP on every run, parses the
three pipe-delimited tables (products.txt + patent.txt +
exclusivity.txt — the historical tilde-delimited variant is
auto-detected), and diffs the resulting per-appl_key aggregate
against the previous snapshot in Apify Key-Value Store. FDA's
rolling daily updates land into the same files between quarterly
refreshes, so a daily actor cadence catches every change FDA
publishes without needing separate "delta" handling. The bulk
ZIP is roughly 30-50 MB; download is the hot path for cost but
memory pressure is negligible.
Are there PII or attorney-client risks?
No. Orange Book data describes regulated drug applications, patent listings, and exclusivity grants — there is no individual- PII surface. Patents reference individuals only via the patent number's filed inventor list (which is itself USPTO public- record); the actor does not dereference patents to USPTO.
What about the FDA Akamai WAF I keep reading about?
FDA's www.fda.gov landing page sits behind an Akamai abuse-
detection layer that throttles aggressive scraping. The actor's
landing-page auto-discovery uses a polite 1 rps with an
identifying User-Agent and works fine from Apify-platform run-time
IPs (verified end-to-end smoke run 2026-05-20 baselining 27,121
applications successfully). The WAF only affects high-frequency
scraping from a single IP without proper UA — neither of which
this actor does. If your run consistently 403s on the landing-page
fetch, set bulk_url explicitly to the current quarter's ZIP URL
to skip landing-page auto-discovery entirely.
Is there a rate-limit risk?
The actor self-limits to 1 rps and respects FDA's robots.txt. FDA does not publish an explicit RPS limit; 1 rps is conservative. Bulk runs against the full ~26k-application Orange Book take ~2-3 minutes wall time at 1 rps depending on landing-page round trip + ZIP download throughput.
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/noaa-storm-events-diff— NOAA NCEI storm-event records (tornados, hail, floods) with daily incremental diff.changewire/uspto-ttab-docket-extractor— USPTO TTAB trademark docket records + filings + parties + deadlines, on-demand extraction.changewire/epa-echo-compliance— EPA ECHO facility compliance status + violations + enforcement cases per program (CAA / CWA / RCRA / SDWA).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-3-fda-orange-book-extractionapify run --purge # uses .actor/input_schema.json defaults
Watchlist run:
$apify run --input '{"watchlist": ["NDA-021423", "NDA-020702"]}'
Ingredient run:
$apify run --input '{"ingredients": ["semaglutide", "tirzepatide"]}'
Legal
FDA Orange Book is US-government public-domain data. Patent listings
- exclusivity grants + product approvals are published under the 21 CFR §314.53 public-disclosure mandate; 17 USC §105 removes copyright on the underlying FDA records. Actor honors FDA's robots.txt for landing-page paths, sets a non-spoofed identifying User-Agent, and defaults to 1 rps to stay polite under FDA's Akamai abuse-detection threshold. No PII in output: Orange Book data describes drug applications + patent listings + exclusivity grants, not individuals.