FDA Orange Book Scraper
Pricing
from $2.00 / 1,000 results
FDA Orange Book Scraper
Extract FDA Orange Book data — drug patent expirations, exclusivity periods, generic equivalents, and therapeutic equivalence ratings. No API key required.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
mick_
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
FDA Orange Book Scraper
Extract FDA Orange Book data -- approved drug products, patent expiration dates, generic equivalents, therapeutic equivalence, and exclusivity periods. No API key required.
Search the FDA's official database of approved drug products with therapeutic equivalence evaluations. Essential for pharma business development, generic drug planning, and patent cliff analysis.
What does it do?
FDA Orange Book Scraper downloads and parses the FDA's Orange Book data files (Products, Patents, Exclusivity) and returns structured data about approved drugs. It extracts product information, patent expiration dates, therapeutic equivalence codes, and market exclusivity periods into clean, normalized JSON. Returns consistent output -- ready for analysis, BD pipelines, or consumption by AI agents via MCP.
👥 Who Uses This
💊 Generic Drug Business Development Teams
You're identifying patent cliff opportunities — branded drugs with expiring patents where ANDA filing makes economic sense. The Orange Book has every patent expiration date, every exclusivity period, and every therapeutic equivalence rating. This actor gives you that data as structured JSON without manually searching the FDA website drug by drug.
{"mode": "search_products","ingredient": "apixaban","maxResults": 50}
Filter by applicantCode to pull a specific company's full approved product portfolio. Cross-reference patent_expire_date with current market exclusivity to identify the earliest generic entry window.
🏢 Pharma Business Development and Licensing Teams
You're evaluating in-licensing targets or identifying market entry timing for new therapeutic areas. Orange Book exclusivity periods (3-year, 5-year, 7-year orphan) define how long a product is protected from generic competition — critical for deal valuation.
{"mode": "get_exclusivity","ingredient": "semaglutide","maxResults": 20}
The exclusivity_code field maps to specific protection types (NCE, ODE, pediatric, etc.). Combine with Clinical Trials Scraper to cross-reference pipeline compounds against their patent and exclusivity runway.
📈 Investment Analysts and Healthcare Sector Researchers
You're building financial models around patent cliffs, generic entry risk, or pipeline exclusivity. Orange Book data is the authoritative source for when branded revenue protection ends — but extracting it at scale from the FDA website is painful without structured API access.
{"mode": "get_patents","ingredient": "pembrolizumab","maxResults": 50}
Pull patent expiration dates and therapeutic equivalence codes across a portfolio of interest. Export to CSV for modeling generic entry scenarios, revenue cliff timing, or competitive moat assessment.
⚖️ Regulatory Strategy Consultants and Affairs Teams
You need to understand therapeutic equivalence ratings (A vs B codes), reference listed drug (RLD) designations, and the approval pathway for products you're developing or advising on. Orange Book TE codes determine formulary substitutability and are central to ANDA strategy.
{"mode": "search_products","ingredient": "atorvastatin","applicantCode": "PARKE","maxResults": 50}
The te_code field identifies therapeutic equivalence rating. AB = substitutable; BX = data insufficient; BC = dose form not substitutable. Critical context for substitution policy and formulary decisions.
🤖 AI/LLM Engineers and Pharma AI Builders
You're building pipelines for drug intelligence — competitive analysis agents, portfolio monitoring tools, or deal screening assistants that need to reason about market exclusivity and patent timelines without manual data entry.
MCP tool config:
{"mcpServers": {"fda-orange-book": {"url": "https://mcp.apify.com?tools=labrat011/fda-orange-book-scraper","headers": {"Authorization": "Bearer <APIFY_TOKEN>"}}}}
Combine with FDA Drug Labels and FDA Adverse Events in the same MCP config to give your agent a complete approved-drug intelligence stack — labeling, safety signals, and patent status as callable tools.
Input
Choose a scraping mode and provide your search filters.
Mode 1: Search Products
Search for approved drug products by ingredient, trade name, or applicant.
{"mode": "search_products","ingredient": "atorvastatin","maxResults": 100}
Search for generics (ANDA):
{"mode": "search_products","ingredient": "metformin","applicationType": "A","teCode": "AB","maxResults": 50}
Mode 2: Get Product
Look up all products for a specific NDA/ANDA application number.
{"mode": "get_product","applicationNumber": "020702"}
Mode 3: Search Patents
Find patent information for drugs.
{"mode": "search_patents","ingredient": "adalimumab","maxResults": 50}
Search by patent number:
{"mode": "search_patents","patentNumber": "6090382","maxResults": 25}
Mode 4: Search Exclusivity
Find drugs with market exclusivity periods.
{"mode": "search_exclusivity","ingredient": "pembrolizumab","maxResults": 25}
Output
Each product record includes:
| Field | Description |
|---|---|
ingredient | Active ingredient(s) |
trade_name | Brand/trade name |
dosage_form | Dosage form (tablet, injection, etc.) |
route | Route of administration |
strength | Drug strength |
application_type | N = NDA (innovator), A = ANDA (generic) |
application_number | FDA application number |
applicant | Company holding the application |
approval_date | FDA approval date |
te_code | Therapeutic equivalence code |
rld | Reference Listed Drug (true/false) |
rs | Reference Standard (true/false) |
product_type | RX, OTC, or DISCN |
patents | List of patents with expiration dates |
exclusivities | List of exclusivity periods with expiration dates |
orange_book_url | Link to FDA Orange Book page |
Patent information includes:
| Field | Description |
|---|---|
patent_number | US patent number |
patent_expire_date | Patent expiration date |
drug_substance_flag | Patent covers drug substance |
drug_product_flag | Patent covers drug product |
patent_use_code | Method of use patent code |
Example output
{"schema_version": "1.0","type": "product","ingredient": "ATORVASTATIN CALCIUM","trade_name": "LIPITOR","dosage_form": "TABLET","route": "ORAL","strength": "10MG","application_type": "N","application_number": "020702","applicant": "PFIZER","approval_date": "Dec 17, 1996","te_code": "AB","rld": true,"rs": true,"product_type": "RX","patents": [{"patent_number": "5273995","patent_expire_date": "Jun 28, 2016","drug_substance_flag": true,"drug_product_flag": false,"patent_use_code": ""}],"exclusivities": [],"orange_book_url": "https://www.accessdata.fda.gov/scripts/cder/ob/results_product.cfm?Appl_Type=N&Appl_No=020702"}
Therapeutic Equivalence Codes
| Code | Meaning |
|---|---|
| AA | No bioequivalence issues (solutions) |
| AB | Bioequivalent - meets requirements |
| AN | Aerosols |
| AO | Injectable oils |
| AP | Injectable aqueous |
| AT | Topical products |
| BC | Extended-release - not bioequivalent |
| BD | Documented bioequivalence problems |
| BE | Enteric coated |
| BN | Aerosols - not bioequivalent |
| BP | Injectable - not bioequivalent |
| BR | Sustained-release - not bioequivalent |
| BS | Standard - not bioequivalent |
| BT | Topical - not bioequivalent |
| BX | Insufficient data |
"A" ratings = therapeutically equivalent (substitutable) "B" ratings = NOT therapeutically equivalent
Integrations
Apify API
curl "https://api.apify.com/v2/acts/labrat011~fda-orange-book-scraper/runs" \-X POST \-H "Authorization: Bearer <APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"mode": "search_patents","ingredient": "semaglutide","maxResults": 25}'
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("labrat011/fda-orange-book-scraper").call(run_input={"mode": "search_products","ingredient": "tirzepatide","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['trade_name']} ({item['applicant']})")for patent in item['patents']:print(f" Patent {patent['patent_number']} expires: {patent['patent_expire_date']}")
MCP Integration
This actor works as an MCP tool through Apify's hosted MCP server. No custom server needed.
- Endpoint:
https://mcp.apify.com?tools=labrat011/fda-orange-book-scraper - Auth:
Authorization: Bearer <APIFY_TOKEN> - Transport: Streamable HTTP
- Works with: Claude Desktop, Cursor, VS Code, Windsurf, Warp, Gemini CLI
Example MCP config (Claude Desktop / Cursor):
{"mcpServers": {"fda-orange-book-scraper": {"url": "https://mcp.apify.com?tools=labrat011/fda-orange-book-scraper","headers": {"Authorization": "Bearer <APIFY_TOKEN>"}}}}
AI agents can use this actor to look up patent expiration dates, find generic equivalents, check therapeutic equivalence, and track exclusivity periods -- all as a callable MCP tool.
Cost
This actor uses pay-per-result (PPE) pricing — you pay only for records returned.
- $2.00 per 1,000 results ($0.002 per record)
- Free tier: 25 results per run — no subscription required
- Paid tier: Up to 1,000 results per run
- No proxy costs — downloads direct from FDA servers, no residential proxies needed
- Data freshness: Updated monthly by FDA
Typical run costs:
- 100 products (ingredient search) → $0.20
- 500 products (full class sweep) → $1.00
- 1,000 products (portfolio analysis) → $2.00
FAQ
What is the Orange Book?
The FDA Orange Book (officially "Approved Drug Products with Therapeutic Equivalence Evaluations") lists all drugs approved by FDA under the Federal Food, Drug, and Cosmetic Act. It's used to determine which generic drugs are therapeutically equivalent to brand-name drugs.
What's the difference between NDA and ANDA?
- NDA (New Drug Application) - For new/innovator drugs. Requires full safety and efficacy data.
- ANDA (Abbreviated NDA) - For generic drugs. References an RLD and requires bioequivalence data.
What is a Reference Listed Drug (RLD)?
The RLD is the brand-name drug that a generic manufacturer must reference when submitting an ANDA. The generic must be pharmaceutically equivalent and bioequivalent to the RLD.
How often is the data updated?
The FDA updates the Orange Book data files monthly. This actor downloads the latest data file on each run.
Why do some drugs have no patents listed?
Patents may have expired, the product may be a generic with no listed patents, or the innovator may not have submitted patent information to FDA.
🔗 Related Actors
| Actor | What it does | Pairs well when... |
|---|---|---|
| FDA Drug Labels Scraper | FDA-approved drug labeling data | Pull the full label for products identified in patent/exclusivity searches |
| FDA Adverse Events Scraper | FAERS post-market safety reports | Check post-market safety signals for drugs approaching patent expiry |
| Clinical Trials Scraper | ClinicalTrials.gov study data | Map pipeline compounds to their patent and exclusivity timelines |
| PubMed Scraper | 35M+ biomedical abstracts from NCBI | Find clinical evidence supporting approval decisions and TE ratings |
Resources
License
This actor is provided under the MIT License. Orange Book data is from the FDA and is in the public domain.