ClinicalTrials.gov v2 + openFDA + ChEMBL zu einem lizenzsauberen Drug-Intelligence-Endpoint verdrahten

Pharma-F&E, Medical-AI-Startups und Pharmakovigilanz-Teams wollen alle dasselbe: einen Endpoint, der Studien, Etiketten, unerwünschte Ereignisse und Bioaktivität auf lizenzsaubere Weise zusammenzieht. Hier ist die lauffähige Architektur — samt der Falltüren, die Teams in der Produktion überrascht haben.
Auf einen Blick
- •ClinicalTrials.gov v2 (REST + JSON) hat 2024 das alte v1 abgelöst — das Schema ist sauberer, aber Pagination, optionale Felder und historischer Drift erwischen neue Integratoren.
- •openFDA deckt Arzneimitteletiketten (SPL), FAERS-Meldungen unerwünschter Ereignisse und Rückrufdaten ab, kostenlos; rate-limitiert auf 240 req/min unauthentifiziert, 120k/Tag mit Key.
- •ChEMBL liefert Bioaktivität (IC50, Ki, Kd, EC50), Targets und Assays — die strukturelle / mechanistische Dimension, die anderen Datenbanken fehlt.
- •DrugBanks kommerzielle Lizenz ist die Falle: akademische Nutzung ist erlaubt; jedes Produkt, selbst kleines SaaS, fällt unter kommerzielle Lizenzbedingungen, die die meisten Builder erst lesen, wenn die Abmahnung kommt.
- •API Pick Clinical Search bündelt ClinicalTrials, openFDA, ChEMBL und DrugBank-Pharmakologie in einem POST-Endpoint — 30 Credits pro Call, lizenzsauber, nur bei Erfolg abgerechnet.
Die Gestalt des Problems
Drei Zielgruppen brauchen am Ende grob dieselbe Drug-Data-Pipeline, aus unterschiedlichen Gründen:
- Biopharma-F&E- und Drug-Repurposing-Teams wollen Bioaktivitätsdaten (ChEMBL), Studienhistorie (ClinicalTrials.gov) und Signale unerwünschter Ereignisse (FAERS) verknüpft, um einen Kandidaten zu bewerten.
- Medical-AI-Startups, die Chatbots oder Schichten zur klinischen Entscheidungsunterstützung bauen, brauchen Arzneimitteletiketten (openFDA SPL) und Studiendaten verknüpft, um LLM-Antworten in regulatorischen Quellen zu verankern.
- Pharmakovigilanz-Teams wollen FAERS plus strukturierte Felder aus Arzneimitteletiketten plus Mechanismus-Informationen aus ChEMBL/DrugBank, um die Plausibilität eines Signals zu beurteilen.
Jede dieser Zielgruppen verdrahtet am Ende vier Datenbanken miteinander: ClinicalTrials.gov, openFDA, ChEMBL und DrugBank. Jede Datenbank hat ihr eigenes Schema, eigene Rate-Limits und eigene Lizenzbedingungen. DrugBank ist die, die beißt — ihre Klausel zur kommerziellen Nutzung erwischt Teams, die sie in der Entwicklung integriert haben, ohne die Lizenz zu lesen, und Abmahnungen an Solo-SaaS-Gründer sind real.
Hier ist die Architektur, die wir empfehlen — einschließlich eines lizenzsauberen Alternativpfads, der die DrugBank-Falle vermeidet.
Die vier Quellen, je ein Absatz
ClinicalTrials.gov v2
US National Library of Medicine. Maßgebliches Register für in den USA registrierte klinische Studien und der De-facto-Weltstandard. v2 startete 2024 — REST + JSON, löst das alte v1-CSV/XML ab. Kostenlos, rate-limitiert (10 req/sec). Dokumentation unter clinicaltrials.gov/data-api/api. Stärken: maßgeblich, umfassend, keine Lizenzprobleme. Schwächen: dünne Befüllung optionaler Felder bei älteren Studien, Reibung bei der Schema-Migration für Teams, die noch auf v1 sind.
openFDA
Von der FDA betriebene öffentliche API. Deckt Arzneimitteletiketten (SPL — Structured Product Labels), FAERS (Adverse Event Reporting System), Rückrufdaten sowie Pendants für Lebensmittel/Geräte ab. Kostenlos, rate-limitiert auf 240 req/min unauthentifiziert und 120.000 req/Tag mit API-Key. Stärken: maßgebliche regulatorische Quelle, strukturierte Daten, breite Abdeckung. Schwächen: SPL-Parsing erfordert Verständnis der HL7-Konventionen; die FAERS-Deduplizierung ist Sache des Nutzers.
ChEMBL
EBI / EMBL-EBI. Kuratierte Bioaktivitätsdatenbank — IC50-, Ki-, Kd-, EC50-Messungen über Verbindungen, Targets und Assays. Kostenlos, REST + JSON, keine Rate-Limit-Kopfschmerzen bei moderatem Volumen. Stärken: strukturelle und mechanistische Daten, die nichts anderes abdeckt. Schwächen: Fokus liegt auf Forschungsqualität; therapeutische/klinische Mappings sind nur teilweise vorhanden.
DrugBank
An der University of Alberta entstanden, inzwischen kommerziell. Drug-Target-Mappings, Pharmakologie, Wechselwirkungen, Polypharmakologie. Akademische Nutzung ist kostenlos; kommerzielle Nutzung erfordert eine kostenpflichtige Lizenz. Die Lizenz gilt für jedes kommerzielle Produkt, einschließlich kostenloser SaaS-Tools — lies die Bedingungen vor der Integration.
API Pick Clinical Search (lizenzsaubere Alternative)
Semantische Suche über ClinicalTrials.gov, FDA-Arzneimitteletiketten, ChEMBL-Bioaktivität und DrugBank-Pharmakologie-Metadaten, die wir lizenzieren. JSON rein / JSON raus, 30 Credits pro Call (~$0.03), nur bei Erfolg abgerechnet. Der Output ist mit regulatorischen und strukturellen Datenbedingungen konsistent; keine kommerzielle Lizenzfalle für Endnutzer.
Direktvergleich
| ClinicalTrials.gov v2 | openFDA | ChEMBL | DrugBank | API Pick Clinical | |
|---|---|---|---|---|---|
| Abdeckung | Studienregister | Etiketten + FAERS + Rückrufe | Bioaktivität, Targets, Assays | Arzneimittel + Targets + Wechselwirkungen | Alle vier, semantisch |
| Format | REST + JSON | REST + JSON | REST + JSON | REST + JSON / SQL-Dumps | JSON, vorgeformte Snippets |
| Rate-Limit | 10 req/sec | 240/min unauth, 120k/Tag mit Key | Großzügig | Lizenzstufen-abhängig | Pro Call (kein Pro-Nutzer) |
| Lizenz | Public Domain | Public Domain | CC-BY-SA | Akademisch frei / kommerziell kostenpflichtig | API Pick TOS |
| Bestes Einsatzfeld | Studienprotokolle, Sponsor-Disambiguierung | Regulatorische Etiketten, AE-Signale | Mechanistisch / strukturell | Wechselwirkungen, Polypharmazie | AI-Agenten-Retrieval über alles |
Lauffähiger Code: jede Quelle
ClinicalTrials.gov v2
import requests
# Trials for a specific condition + intervention
r = requests.get(
"https://clinicaltrials.gov/api/v2/studies",
params={
"query.cond": "non-small cell lung cancer",
"query.intr": "pembrolizumab",
"filter.overallStatus": "RECRUITING",
"pageSize": 25,
"format": "json",
},
)
studies = r.json()["studies"]
for s in studies[:3]:
proto = s["protocolSection"]
nct = proto["identificationModule"]["nctId"]
title = proto["identificationModule"]["briefTitle"]
sponsor = proto["sponsorCollaboratorsModule"]["leadSponsor"]["name"]
print(f"{nct}: {title} (sponsor: {sponsor})")openFDA: Arzneimitteletikett + FAERS-Signal
import requests
from collections import Counter
# Drug label lookup
r = requests.get(
"https://api.fda.gov/drug/label.json",
params={"search": "openfda.brand_name:Lipitor", "limit": 1},
).json()
label = r["results"][0]
print("Indications:", label.get("indications_and_usage", ["—"])[0][:200])
# FAERS — most reported adverse events for atorvastatin
r = requests.get(
"https://api.fda.gov/drug/event.json",
params={
"search": 'patient.drug.medicinalproduct:"ATORVASTATIN CALCIUM"',
"count": "patient.reaction.reactionmeddrapt.exact",
"limit": 10,
},
).json()
print("Top reported reactions:")
for r_ in r["results"]:
print(f" {r_['term']}: {r_['count']}")ChEMBL: Target-Bioaktivität
import requests
# Target search → activity for a specific target
r = requests.get(
"https://www.ebi.ac.uk/chembl/api/data/activity.json",
params={
"target_chembl_id": "CHEMBL204", # PD-L1
"standard_type": "IC50",
"limit": 25,
},
).json()
for a in r["activities"][:5]:
cid = a["molecule_chembl_id"]
val = a["standard_value"]
unit = a["standard_units"]
print(f"{cid}: IC50 = {val} {unit}")API Pick Clinical Search: ein Call, alle Quellen
import requests
r = requests.post(
"https://www.apipick.com/api/search/clinical",
headers={"x-api-key": "pk_yourkey"},
json={"query": "PD-L1 inhibitors in NSCLC trials and adverse events"},
)
for hit in r.json()["results"][:5]:
print(hit["title"], "→", hit["url"], f"(source: {hit.get('source')})")
# Returns ranked semantic matches across trials + labels + bioactivity.
# 30 credits per call, only on HTTP 200.Drei Muster, die in der Produktion auftauchen
1. Drug-Repurposing-Screening
Nimm ein zugelassenes Arzneimittel. Zieh seinen Mechanismus (ChEMBL-Targets), seine aktuellen Indikationen (openFDA-Etikett) und alle Studien, die es in neuen Indikationen testen (ClinicalTrials.gov). Gleiche mit FAERS auf Sicherheitssignale in der neuen Indikation ab. Der Agent setzt alle vier Teile zusammen und hebt Kandidaten hervor, die die Zeit eines Pharmakologen wert sind.
2. Pharmakovigilanz-Signal-Triage
Ein stündlicher Cron zieht neue FAERS-Meldungen für eine Watchlist von Arzneimitteln. Berechne die Reporting Odds Ratio gegen den Rest der Datenbank. Markiere alle Signale, bei denen ROR > 2 mit 95-%-CI, das 1 ausschließt. Kombiniere mit ClinicalTrials.gov, um zu prüfen, ob die Anwendungsindikation on-label oder off-label ist. Gib eine gerankte Liste für die morgendliche Durchsicht des Teams aus — analog zum Morning-Briefing-Muster für News.
3. Grounding eines medizinischen KI-Assistenten
Für jede arzneimittelbezogene Antwort, die der Assistent gibt, zieh das openFDA-Etikett und nutze es als maßgebliche Ground Truth. Zitiere den Abschnitt des FDA-Etiketts explizit. Verweigere dosisbezogene Fragen, wenn das Etikett nicht abgerufen werden kann. Das ist das zitatgestützte Muster aus der Aufbereitung zur UK-Rechtsprechung, angewandt auf die Medizin — mit noch höherem Einsatz.
Die DrugBank-Falle
Es lohnt sich, das zu wiederholen. Die akademische DrugBank-Lizenz ist gut bekannt, aber ihre Bedingungen verschieben sich in dem Moment, in dem du jemandem Geld für irgendetwas berechnest, das die Daten nutzt — einschließlich eines kostenlosen Produkts, dessen Nutzer du später in zahlende konvertieren willst. Mehrere Solo-SaaS-Gründer haben das auf die harte Tour entdeckt, nachdem eine Abmahnung in ihrem Postfach landete.
Zwei saubere Pfade:
- Die kommerzielle Lizenz bezahlen. Die Standardpreise sind intransparent; rechne mit Verhandlungen. Für reife Produkte mit Finanzierung ist das die richtige Antwort, weil DrugBanks Wechselwirkungsdaten schwer zu ersetzen sind.
- Lizenzsaubere Alternativen in frühen Phasen nutzen. ChEMBL deckt die meisten mechanistischen Daten ab. RxNorm + DailyMed (NIH) decken die Normalisierung von Arzneimittelnamen und Etiketten ab. FAERS deckt unerwünschte Ereignisse ab. Die Kombination verfehlt einige DrugBank-spezifische Daten (umfangreiche Wechselwirkungstabellen, Polypharmakologie), reicht aber für die meisten Produkte in frühen Phasen. API Pick Clinical Search bündelt die lizenzsaubere Teilmenge für dich.
Wo sich das verallgemeinern lässt
Das Muster 'vier öffentliche Datenbanken mit Rate-Limit-Handling und Lizenzdisziplin verdrahten' taucht in vielen regulierten Branchen auf — Finanzberichte (SEC + Earnings-Transkripte + Equity-Statistiken), Patente (USPTO + EPO + WIPO + JPO + KIPO + CNIPA), Recht (Find Case Law + legislation.gov.uk + ausländische Pendants). Die Drug-Data-Version ist vor allem deshalb ungewöhnlich, weil die Lizenzlage umstrittener ist. Jede andere Achse — Schema-Vielfalt, Rate-Limits, Deduplizierung, quellübergreifendes Identifier-Mapping — verallgemeinert sich.
Für One-Call-Retrieval über die lizenzsauberen Drug-Data-Quellen übernimmt API Pick Clinical Search die Verdrahtung. Für die tieferen Integrationen (vollständiges SPL-Parsing, FAERS-Signalberechnung, ChEMBL-Target-Bäume) gehst du weiterhin direkt zu jeder Quelle. Wähl für jeden Teil der Pipeline die richtige Abstraktionsebene.
Häufig gestellte Fragen
Was hat sich an ClinicalTrials.gov v2 geändert, das Pipelines bricht?
Drei Dinge. (1) Endpoint-Struktur — v2 ist REST + JSON statt des CSV/XML von v1. (2) Feldnamen — der neue protocolSection-Wrapper und die Umstellung von snake_case auf camelCase sind das häufigste Refactoring. (3) Befüllung optionaler Felder — viele als 'verfügbar' dokumentierte Felder sind dünn befüllt, besonders bei älteren Studien. Die Migration dauert meist 2-3 Tage plus eine Woche Bugfixing, sobald Edge-Case-Studien auftauchen.
Was hat es mit der DrugBank-Lizenzierung auf sich?
DrugBank ist für akademische und persönliche Forschung kostenlos. Jede kommerzielle Nutzung — einschließlich eines kostenlosen SaaS-Produkts, eines Startup-MVP oder eines in einer bezahlten Beratung eingesetzten Tools — fällt unter DrugBanks kommerzielle Lizenzbedingungen. Der Thinklab-Beitrag 'Sounding the alarm on DrugBank's new license' von vor ein paar Jahren ist nach wie vor die maßgebliche Aufbereitung. Viele Builder integrieren DrugBank in der Entwicklung, ohne zu merken, dass die Lizenz greift, sobald sie ein Produkt ausliefern. Lies die Bedingungen vor der Integration, oder nutze eine lizenzsaubere Alternative.
Wie mache ich grundlegende Pharmakovigilanz-Signaldetektion?
Die Standard-Disproportionalitätsmaße — Reporting Odds Ratio (ROR), Proportional Reporting Ratio (PRR), Bayes'sches BCPNN — über die FAERS-Datenbank unerwünschter Ereignisse. Open-Source-Bibliotheken wie vigipy implementieren diese. Die Falle ist die FAERS-Deduplizierung: viele Meldungen sind Doppeleinreichungen desselben Falls durch verschiedene Parteien; Bibliotheken wie das VigiMatch der WHO behandeln das, aber du bezahlst dafür. Für die meisten Med-AI-Anwendungsfälle reicht openFDAs FAERS-Endpoint plus eine einfache ROR-Berechnung, um untersuchenswerte Signale aufzudecken.
Ist API Pick Clinical Search HIPAA-konform?
Die Datenquellen, die wir bündeln (ClinicalTrials.gov, openFDA, ChEMBL, DrugBank-Pharmakologie-Metadaten), enthalten keine geschützten Gesundheitsdaten — sie decken Studienprotokolle, Arzneimitteletiketten, Aggregate unerwünschter Ereignisse sowie Struktur-/Bioaktivitätsdaten ab. HIPAA-Konformität betrifft PHI, das in unserem Index nicht vorkommt. Wenn du ein nachgelagertes Produkt baust, das PHI verarbeitet (z. B. klinische Entscheidungsunterstützung über Patientenakten), musst du das separat behandeln. Die Daten, die durch unseren Endpoint fließen, sind mit öffentlichen regulatorischen Daten konsistent.
Kann der Output hiervon für klinische Entscheidungen genutzt werden?
Nein. Output aus jeder Retrieval-API ist informativ; er stellt keine medizinische Beratung oder klinische Entscheidungsunterstützung dar. Nutze die Daten zur Unterstützung von qualifiziertem Personal — Apotheker, Arzt, Regulatory-Spezialist — nicht als Ersatz dafür. Das gilt für API Pick Clinical Search und für jede andere API in diesem Bereich.
APIs in diesem Artikel
Sarah Choy ist CEO von API Pick. Sie schreibt über produktionsreife APIs für KI-Agenten und LLM-Workflows.