FDA Orange Book Patent & Exclusivity Tracker — Quarterly Diff avatar

FDA Orange Book Patent & Exclusivity Tracker — Quarterly Diff

Pricing

Pay per usage

Go to Apify Store
FDA Orange Book Patent & Exclusivity Tracker — Quarterly Diff

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

ChangeWire

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

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:

FieldTypeDefaultDescription
watchlistarray of strings[]Application keys (e.g. ["NDA-021423","ANDA-076503"]).
trade_namesarray of strings[]Brand-name substrings (case-insensitive).
ingredientsarray of strings[]Active-ingredient substrings (case-insensitive).
change_typesarray of stringsall sevenSubset of {approval_status, patent_count, patent_expirations, exclusivity_expirations, generic_availability, dosage_form, product_count}.
snapshot_keystringsnapshot-latestApify Key-Value Store key for previous snapshot.
bulk_urlstring""Explicit Orange Book ZIP URL override. Empty triggers landing-page auto-discovery.
rate_limit_rpsint1Polite 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
    fda.gov/drugs/.../orange- book-data-files
    ; accepts an explicit bulk_url override.
  • 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:

Running locally (for contributors)

cd actors/actor-3-fda-orange-book-extraction
apify 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"]}'

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.