API v1 — öffentlich
drugshortage.ch API
Direkter Zugriff auf alle Schweizer Arzneimittel-Lieferengpässe. Echtdaten, täglich aktualisiert. Zweisprachig (DE/FR). Kein Scraping – saubere JSON-API mit Rate Limiting.
GET
https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint={endpoint}
Zugang & Preise
Free
CHF 0
100 Req/Tag · kein Key
- Alle Basis-Endpoints
- JSON-Format
- Paginierung
Basic
CHF 29/Mo
5’000 Req/Tag · API-Key
- Alle Endpoints
- Rate-Limit-Header
- Suche & Filter
- Support via E-Mail
Pro
CHF 79/Mo
50’000 Req/Tag · API-Key
- Alles aus Basic
- Französische Namen (lang=fr)
- CSV-Export
- Versorgungsengpässe
Enterprise
auf Anfrage
Unlimitiert · dedizierter Key
- Alles aus Pro
- SLA-Garantie
- White-Label möglich
- Direktsupport
Authentifizierung
curl – mit API-Key
# Bearer Token Header (empfohlen) curl -H "Authorization: Bearer IHR_API_KEY" \ "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=shortages" # Alternativ als Query-Parameter curl "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=shortages&api_key=IHR_API_KEY"
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4847
X-RateLimit-Reset: 1746057600
X-Api-Tier: basic
Endpoints
GET
shortages
Paginierte Liste aller Lieferengpässe
+
| Parameter | Typ | Pflicht | Beschreibung | Beispiel |
|---|---|---|---|---|
| search | string | – | Volltextsuche auf Bezeichnung, Firma, ATC, GTIN | amoxicillin |
| firma | string | – | Exakter Firmenname | Sandoz Pharmaceuticals AG |
| atc | string | – | ATC-Code Präfix | C09 |
| status | string | – | Status-Code(s) 1–11, kommagetrennt | 1,2 |
| neu | integer | – | Nur Engpässe ≤ 7 Tage alt (1 = aktiv) | 1 |
| page | integer | – | Seitennummer (Standard: 1) | 2 |
| perPage | integer | – | Einträge pro Seite (max: 200) | 50 |
| sort | string | – | feld:asc oder feld:desc | tage:desc |
| lang | string | Pro | Sprache der Bezeichnung (de/fr) | fr |
Beispiel
curl "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=shortages&atc=C09&perPage=3" { "data": [ { "id": 4821, "gtin": "7680654320016", "bezeichnung": "Olmesartan Mepha Lactab 20 mg", "firma": "Mepha Pharma AG", "atcCode": "C09CA08", "statusCode": 1, "statusText": "1 aktuell keine Lieferungen", "isBwl": true, "isWho": false, "bewertung": 1, "lieferfaehigkeitDate": "31.12.2026" } ], "total": 55, "page": 1, "perPage": 3, "pages": 19 }
GET
shortages/{gtin}
Einzelprodukt nach GTIN
+
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| gtin | string | ja | GTIN des Produkts (7–14 Ziffern), im URL-Pfad |
Beispiel
curl "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=shortages/7680654320016"
GET
stats
Aggregierte Kennzahlen der Versorgungslage
+
Keine Parameter. Gibt Übersicht über aktive Engpässe, Dauer-Verteilung, BWL/WHO-Zahlen und Top-ATC-Gruppen.
Beispiel
curl "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=stats"
GET
timeline
Wöchentliche Zeitreihe neuer Meldungen
+
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| weeks | integer | – | Anzahl Wochen zurück (4–260, Standard: 52) |
GET
supply
Versorgungsengpässe nach Wirkstoff/Dosierung
exklusiv drugshortage.ch
+
Zeigt Wirkstoffe/Dosierungen bei denen 50–100% aller Präparate nicht lieferbar sind. Dieser Endpoint ist exklusiv bei drugshortage.ch verfügbar.
Beispiel
curl "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=supply"
GET
alternatives
Alternativen für ein Produkt
+
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| gtin | string | ja | GTIN des Produkts im Engpass |
Beispiel
curl "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=alternatives>in=7680654320016" { "gleicheFirma": [], "coMarketing": [ { "bezeichnung": "...", "firma": "...", "gtin": "..." } ], "alleAlternativen": [ ... ] }
GET
company/{firma}
Firmenprofil mit Bewertung
+
Beispiel
curl "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=company/Sandoz%20Pharmaceuticals%20AG"
GET
export/csv
Gefilterter CSV-Export
Pro+
+
Gleiche Filter wie /shortages. Gibt eine UTF-8 CSV-Datei zurück (mit BOM für Excel-Kompatibilität).
Python Beispiel
import pandas as pd df = pd.read_csv( "https://www.drugshortage.ch/api/v1/drugshortage.php?endpoint=export/csv&atc=N06", header=0, encoding="utf-8-sig" )
GET
health
System-Health-Check
+
Response
{
"status": "healthy",
"timestamp": "2026-06-03T20:50:17Z",
"database": { "healthy": true, "latencyMs": 1.1 },
"source": "drugshortage.ch"
}
HTTP Status Codes
200 Erfolgreich
400 Ungültige Parameter
401 Ungültiger API-Key
404 Nicht gefunden
429 Rate Limit überschritten
500 Serverfehler
API-Key beantragen
Für mehr als 100 Requests/Tag oder den CSV-Export kontaktieren Sie uns für einen API-Key.
API-Key anfragen →