Systemintegration; Zugang zu den Daten

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
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
ParameterTypPflichtBeschreibungBeispiel
searchstringVolltextsuche auf Bezeichnung, Firma, ATC, GTINamoxicillin
firmastringExakter FirmennameSandoz Pharmaceuticals AG
atcstringATC-Code PräfixC09
statusstringStatus-Code(s) 1–11, kommagetrennt1,2
neuintegerNur Engpässe ≤ 7 Tage alt (1 = aktiv)1
pageintegerSeitennummer (Standard: 1)2
perPageintegerEinträge pro Seite (max: 200)50
sortstringfeld:asc oder feld:desctage:desc
langstringProSprache 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
ParameterTypPflichtBeschreibung
gtinstringjaGTIN 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
ParameterTypPflichtBeschreibung
weeksintegerAnzahl 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
ParameterTypPflichtBeschreibung
gtinstringjaGTIN 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 →