ClinicalTrials.gov + FDA Orange Book - Trial Delta API
Pricing
from $2.00 / 1,000 new or changed trial/patent records
ClinicalTrials.gov + FDA Orange Book - Trial Delta API
Delta-tracks ClinicalTrials.gov status changes (RECRUITING, COMPLETED, TERMINATED) and FDA Orange Book patent/exclusivity data from live public APIs. Fingerprint-based diffing returns only new or changed records as structured JSON, with full-jitter retry and ISO 8601 timestamps.
Pricing
from $2.00 / 1,000 new or changed trial/patent records
Rating
0.0
(0)
Developer
Stefano Seggio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Stop re-scraping trials that haven't changed — get paid-for updates only when a trial's status or a drug's patent protection actually moves
Clinical trial status shifts — a study moves from RECRUITING to COMPLETED or gets TERMINATED — and Orange Book patent/exclusivity data updates on its own schedule, but most monitoring setups re-pull the entire dataset every time just to catch the handful of records that changed. That means paying for and processing thousands of identical rows over and over. This Actor solves that: it fingerprints every trial and Orange Book record on each run and only delivers what's new or changed.
Why this outperforms a standard scraper
- Delta tracking, not re-scraping. Every record is fingerprinted on every run. Unchanged records are never re-delivered — and never billed.
- Pay only for what's new. You're charged $0.002 only for a trial whose status changed (RECRUITING → COMPLETED → TERMINATED, etc.) or for a new or changed FDA Orange Book patent/exclusivity record. A run that finds nothing new costs nothing beyond the flat actor-start fee.
- Two regulatory sources, one delta engine.
sourceslets you query ClinicalTrials.gov and FDA Orange Book through the same fingerprint-diffing pipeline, so you can track a drug's trial pipeline and its patent/exclusivity runway from a single actor run, backed by full-jitter retry and strict ISO 8601 timestamps for clean downstream processing.
See it before you trust it
{"sources": ["clinicaltrials", "orangebook"],"condition": "diabetes","orangeBookQuery": "metformin","maxPages": 20,"onlyChanged": true}
onlyChanged combined with the fingerprint engine is what makes this valuable — flip it to true and every record returned is a status change or a new patent/exclusivity entry worth acting on, not noise you already have.
Zero-risk trial
Unchanged records cost $0.00. Run it once against real data before you commit to anything:
curl -X POST "https://api.apify.com/v2/acts/PkYgfW33Sh6teGXUX/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"sources":["clinicaltrials"],"condition":"diabetes","maxPages":20,"onlyChanged":true}'
import requestsresponse = requests.post("https://api.apify.com/v2/acts/PkYgfW33Sh6teGXUX/run-sync-get-dataset-items",params={"token": "<YOUR_API_TOKEN>"},json={"sources": ["clinicaltrials"], "condition": "diabetes", "maxPages": 20, "onlyChanged": True},)records = response.json()print(f"{len(records)} records returned")
const response = await fetch("https://api.apify.com/v2/acts/PkYgfW33Sh6teGXUX/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>",{method: "POST",headers: { "Content-Type": "application/json" },body: JSON.stringify({ sources: ["clinicaltrials"], condition: "diabetes", maxPages: 20, onlyChanged: true }),});const records = await response.json();console.log(records.length + " records returned");
Pricing
| Event | What it means | Price |
|---|---|---|
| New or changed trial/patent record | A trial whose status changed, or a new/changed Orange Book patent/exclusivity record. | $0.002 |
Actor-start fee: $0.00005/GB-memory (one-time per run, not per record).
What you get on every record
- Trial status tracking across RECRUITING, COMPLETED, and TERMINATED states, sourced directly from ClinicalTrials.gov
- FDA Orange Book patent and exclusivity data cross-referenced alongside trial records
- Fingerprint-based diffing so only genuinely new or changed records are delivered per run
- Full-jitter retry logic to handle upstream API instability without duplicate or dropped records
- Strict ISO 8601 timestamps on every record for reliable downstream date handling
Input parameters
| Field | Type | Description | Default |
|---|---|---|---|
| sources | array | clinicaltrials and/or orangebook. | ['clinicaltrials'] |
| condition | string | Passed to ClinicalTrials.gov's query.cond parameter, e.g. 'diabetes'. | none (all) |
| orangeBookQuery | string | Filter for Orange Book query — an ingredient name or application number. | none |
| maxPages | integer | Hard cap on 100-record ClinicalTrials.gov API pages walked per run. | 20 |
| onlyChanged | boolean | Returns only trials/products new or whose tracked fields (status, patent/exclusivity) changed. | false |
Source & reliability
Data is pulled directly from ClinicalTrials.gov and the FDA Orange Book — verified live public APIs, not a scraped or cached mirror. Runs use full-jitter retry to absorb upstream rate limits or transient failures without corrupting the delta record, and every timestamp is normalized to strict ISO 8601 so trial and patent data can be joined reliably across runs.