Die erste Alpha-Version des VeganCheck.me JSON API wurde soeben, durch Corona deutlich früher als geplant, veröffentlicht.
Die aktuellste Dokumentation auf Englisch ist im Github Wiki zu finden.
Das API kombiniert Teile der OpenFoodFacts Database, der OpenBeautyFacts Database, der Brocade.io Database und der Open EAN/GTIN Database. Es gibt die nachfolgenden Informationen über ein Produkt, angefragt über den EAN/UPC/GTIN-code, aus:
- Ist das Produkt vegan?
- Ist das Produkt vegetarisch?
- Enthält das Produkt Palmöl?
- Der Nutriscore des Produkts
- Wurde das Produkt an Tieren getestet?
- Aus welcher Datenbank diese Daten stammen
Benutzung
JSON End-Point
Der API base path ist https://vegancheck.me/api/v0/product
und gibt eine JSON response aus.
Authentifizieren
Um das API zu benutzen, muss sich derzeit über den nicht-standardisierten HTTP Header AUTH-KEY
authentifiziert werden.
Für Testzwecke kann der key „alpha“ verwendet werden, der aber derzeit auf 5 Anfragen/Tag beschränkt ist. Wenn du einen eigenen Key mit einem höheren Limit benötigst, kontaktiere uns unter info@philip.media.
Achtung: Wir planen, die Authentifizierung nach der Alpha-Phase abzuschalten und ein generelles Abruflimit von 1,000 Anfragen/Tag einzustellen.
Parameter
Derzeit sind die folgenden Parameter verfügbar:
parameter | usage | method |
---|---|---|
product | übermittelt den barcode eines Produktes | url-parameter |
ean | übermittelt den barcode eines Produktes | post (form-encoded) |
- Der URL-parameter
product
kann direkt über die URL an das API weitergeben werden:curl -X GET https://vegancheck.me/api/v0/product?product={productcode}
- Der post-parameter
ean
kann mit der Anfrage an das API zusammen mit einemform-encoded
header gesendet werden:curl -X POST \
'https://vegancheck.me/api/v0/product' \
--header 'AUTH-KEY: alpha' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'ean={productcode}'
Beide Parameter liefern das gleiche Ergebnis, es ist persönliche Präferenz, welcher Typ verwendet wird. Mindestens einer der beiden Parameter ist aber erforderlich, ansonsten wird das API einen Fehler zurückgeben.
Code Beispiele
Einfacher API-Abruf mit Python
Abruf eines bestimmten Werts mit Python:
Vollständiger API-Abruf mit Python: