VeganCheck.me JSON API v0

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:

parameterusagemethod
productübermittelt den barcode eines Produktesurl-parameter
eanübermittelt den barcode eines Produktespost (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 einem form-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: