Scroll

Dokumentation

API Informationen


Die TankDas-API ist ein Webdienst, der den Zugriff auf das Suchen von Tankstellen, Tankstellendetails, Spritpreisen und interessanten Statistiken ermöglicht.
Die API gibt eine JSON Datenformat zurück und kann von jeglichen Serveranwendungen und Clientanwendungen aufgerufen werden. Ein Direktaufruf über die URL ist auch möglich.

Testen

Mit unserem kostenlosen Angebot können Sie die API ohne Probleme testen. Dabei werden echte Daten zurückgegeben. Bitte beachten Sie, dass für Testzwecke nur begrenzte Kapazitäten benutzt werden können. Dieses Kontingent wird jeden Monat zurückgesetzt und kann erneut getestet werden

Nutzung deckeln

Damit wir eine faire Nutzung gewährleisten können und das Risiko von Missbrauch begrenzen können, nutzen wir eine Ratenbegrenzung, welche wir als Kontingente bezeichen. Sie können mit Ihrem Kontingente einsehen wie viele Anfragen Sie bereits gestellt haben und Ihre Ausgaben somit kontrollieren. Wenn Sie nicht möchten, dass die über wir über die kostenlose Nutzung oder den bestimmten Grundkontingente abrechnen, können Sie dies bei uns markieren.

API Keys aktivieren

Sie können Ihren API Key jederzeit aktivieren und deaktivieren. Mit dem deaktivieren werden die Anfragen abgelehnt. Sie erhalten die Rückmeldung:
{
  "status":false,
  "message":"Deactivated key"
}

Guthaben aufladen

Wir möchten, dass Sie auf keinen Fall mehr bezahlen als Sie möchten. Deshalb handeln wir nach dem Guthaben Prinzip. Das bedeutet, dass Sie maximal das bezahlen, was auf Ihrem TankDas-Konto gutgeschrieben ist. Jeden Monat wird Ihr Abonnement erneuert, wir ziehen Ihnen den Beitrag von Ihrem TankDas Konto ab. Ist dies nicht gedeckt, wird das Abonnement nicht erneuert und Sie müssen erst wieder Ihr Konto aufladen

Requests

Sie müssen bei jeder Anfrage Ihren API Key angeben. Wir empfehlen den API Key immer als Bearer Token anzugeben. Falls dies nicht möglich ist, weil Sie versuchen über dem Browser einen HTTP-GET-Request aufzugeben, können Sie den GET-Parameter nutzen.

HTTP Header mit Bearer Token:
GET /api/v1/ HTTP/1.1
Authorization: Bearer YourAPIKey
Host: tankdas.com

URL mit GET-Parameter:
https://tankdas.com/api/v1/?apikey=YourAPIKey
Bitte tausche dabei YourAPIKey mit deinem Key aus der API Konsole aus

API-Methode 1 - Ort/Postleitzahl suchen

Wenn du Koordinaten von einer bestimmten Stadt oder einer Postleitzahl bekommen möchtest, kannst du mithilfe von TankDas diesen Ort suchen. Nutze dabei die API-Methode searchPlace.

Du kannst diese GET-Parameter nutzen:

Parameter Erklärung Format
q Suchbegriff (Postleitzahl oder Stadtname) String

$url = "https://tankdas.com/api/v1/searchPlace?q=City";

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$headers = array(
    "Authorization: Bearer YourAPIKey",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
var url = "https://tankdas.com/api/v1/searchPlace?q=City";

var xhr = new XMLHttpRequest();
xhr.open("GET", url);

xhr.setRequestHeader("Authorization", "Bearer YourAPIKey");

xhr.onreadystatechange = function () {
   if (xhr.readyState === 4) {
      console.log(xhr.status);
      console.log(xhr.responseText);
   }};

xhr.send();
curl -X GET https://tankdas.com/api/v1/searchPlace?q=City -H "Authorization: Bearer YourAPIKey"
Bitte ersätze City durch den Suchbegriff und YourAPIKey mit deinem Key!

API-Methode 2 - Tankstellen im Umkreis suchen

Du möchtest Tankstellen in einem bestimmten Umkreis suchen, dann kannst du die API-Methode getGasStations nutzen.

Du kannst diese GET-Parameter nutzen (Alle sind Pflichtfelder):

Parameter Erklärung Format
lat Latitude Float
lng Longitude Float
radius Suchradius (Max. 20 km) Float
type Spritsorte (e5,e10,diesel) String
sort Sortierung (distance = Distanz, price = Preislich) String

$url = "https://tankdas.com/api/v1/getGasStations?lat=52.0771&lng=6.45787&radius=20&type=e5&sort=price";

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$headers = array(
    "Authorization: Bearer YourAPIKey",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
var url = "https://tankdas.com/api/v1/getGasStations?lat=52.0771&lng=6.45787&radius=20&type=e5&sort=price";

var xhr = new XMLHttpRequest();
xhr.open("GET", url);

xhr.setRequestHeader("Authorization", "Bearer YourAPIKey");

xhr.onreadystatechange = function () {
   if (xhr.readyState === 4) {
      console.log(xhr.status);
      console.log(xhr.responseText);
   }};

xhr.send();
curl -X GET https://tankdas.com/api/v1/getGasStations?lat=52.0771&lng=6.45787&radius=20&type=e5&sort=price -H "Authorization: Bearer YourAPIKey"
Bitte ersätze die Beispiel Parameter durch den Suchbegriff und YourAPIKey mit deinem Key!

Beispielantwort:

[{
    "id": 13766, - TankDas ID
    "mtsk_id": "8514b272-7686-4df6-8143-9967e49ff949", - MTS-K ID
    "name": "Argos Tankstelle", - Tankstellenname
    "brand": "Argos Tankstelle", - Tankstellenmarke
    "street": "Winterswijkerstr. 114" - Straße + Hausnumer
    "postCode": 46399, - Postleitzahl
    "place": "", - Stadt
    "image": "https://tankdas.com/img/brand/Logo.png", - Markenbild
    "country": "DE", - Land
    "openingTimes": ["text": "Montag", "start": "00:00:00", "end":"23:59:59"], - Öffnungszeiten
    "dist": 23.62, - Distanz
    "isOpen": true, - Ist geöffnet?
    "last_refresh": 1672277578, - Zuletz aktuallisiert um
    "price": 1.71, - Preis
    "lat": 51.9167, - Latitude
    "lng": 6.68403 - Longitude
}]
                

API-Methode 3 - Details einer Tankstelle einsehen

Du möchtest mehr Details zu einer bestimmten Tankstelle einsehen, dann kannst du die API-Methode getGasStation nutzen.

Du kannst diese GET-Parameter nutzen:

Parameter Erklärung Format Pflicht?
id mtsk_id oder id von TankDas int Pflicht
lat Latitude - Wird für die Distanzberechnung verwendet Float Optional
lng Longitude - Wird für die Distanzberechnung verwendet Float Optional

$url = "https://tankdas.com/api/v1/getGasStation?lat=52.0771&lng=6.45787&id=35";

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$headers = array(
    "Authorization: Bearer YourAPIKey",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
var url = "https://tankdas.com/api/v1/getGasStation?lat=52.0771&lng=6.45787&id=35";

var xhr = new XMLHttpRequest();
xhr.open("GET", url);

xhr.setRequestHeader("Authorization", "Bearer YourAPIKey");

xhr.onreadystatechange = function () {
   if (xhr.readyState === 4) {
      console.log(xhr.status);
      console.log(xhr.responseText);
   }};

xhr.send();
curl -X GET https://tankdas.com/api/v1/getGasStation?lat=52.0771&lng=6.45787&id=35 -H "Authorization: Bearer YourAPIKey"
Bitte ersätze die Beispiel Parameter durch den Suchbegriff und YourAPIKey mit deinem Key!

Beispielantwort:

{
    "id": 35,
    "mtsk_id": "fa87e70d-ca0e-48e3-a8ff-773d73ae2b84",
    "name": "Aral Tankstelle",
    "brand": "ARAL",
    "street": "Im I. Westfeld 35",
    "postCode": 44388,
    "place": "Dortmund",
    "country": "DE",
    "openingTimes": "[]",
    "distance": 88.21,
    "isOpen": true,
    "image": "https:\/\/tankdas.com\/img\/logo\/aral.png",
    "e5": 1.729,
    "e10": 1.669,
    "diesel": 1.799,
    "additionalsorten": "{\"ultimate102\":{\"price\":\"1.88\",\"date\":1671116292},\"ultimateDiesel\":{\"price\":\"1.97\",\"date\":1671116292},\"LKWDiesel\":{\"price\":\"1.76\",\"date\":1671116292},\"Autogas(LPG)\":{\"price\":\"1.07\",\"date\":1671116292}}",
    "last_refresh": "29.12.2022 15:39",
    "lat": 51.497,
    "lng": 7.33284
}