FDA  Orange Book Scraper avatar

FDA Orange Book Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
FDA  Orange Book Scraper

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_

mick_

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 days ago

Last modified

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:

FieldDescription
ingredientActive ingredient(s)
trade_nameBrand/trade name
dosage_formDosage form (tablet, injection, etc.)
routeRoute of administration
strengthDrug strength
application_typeN = NDA (innovator), A = ANDA (generic)
application_numberFDA application number
applicantCompany holding the application
approval_dateFDA approval date
te_codeTherapeutic equivalence code
rldReference Listed Drug (true/false)
rsReference Standard (true/false)
product_typeRX, OTC, or DISCN
patentsList of patents with expiration dates
exclusivitiesList of exclusivity periods with expiration dates
orange_book_urlLink to FDA Orange Book page

Patent information includes:

FieldDescription
patent_numberUS patent number
patent_expire_datePatent expiration date
drug_substance_flagPatent covers drug substance
drug_product_flagPatent covers drug product
patent_use_codeMethod 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

CodeMeaning
AANo bioequivalence issues (solutions)
ABBioequivalent - meets requirements
ANAerosols
AOInjectable oils
APInjectable aqueous
ATTopical products
BCExtended-release - not bioequivalent
BDDocumented bioequivalence problems
BEEnteric coated
BNAerosols - not bioequivalent
BPInjectable - not bioequivalent
BRSustained-release - not bioequivalent
BSStandard - not bioequivalent
BTTopical - not bioequivalent
BXInsufficient 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 ApifyClient
client = 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.


ActorWhat it doesPairs well when...
FDA Drug Labels ScraperFDA-approved drug labeling dataPull the full label for products identified in patent/exclusivity searches
FDA Adverse Events ScraperFAERS post-market safety reportsCheck post-market safety signals for drugs approaching patent expiry
Clinical Trials ScraperClinicalTrials.gov study dataMap pipeline compounds to their patent and exclusivity timelines
PubMed Scraper35M+ biomedical abstracts from NCBIFind 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.