API Documentation

Ένα δημόσιο REST API που σερβίρει ημερήσιες τιμές καυσίμων ανά νομό στην Ελλάδα από το 2017.

Επισκόπηση

Το API είναι read-only και δημόσιο — δεν χρειάζεται API key ή authentication. Όλα τα δεδομένα προέρχονται από τα ημερήσια δελτία τιμών του Υπουργείου Ενέργειας.

Βασικό URL

https://nireas.iee.ihu.gr/fuel/api/v1/

Όλες οι διαδρομές είναι σχετικές με αυτό το prefix. Η έκδοση (v1) είναι μέρος του URL ώστε μελλοντικές αλλαγές να μην σπάσουν υπάρχοντα clients.

Δομή Απάντησης

Κάθε επιτυχημένη απάντηση έχει την ίδια μορφή:

{
  "data": // τα δεδομένα του endpoint (object ή array),
  "meta": // πληροφορίες σχετικά με την απάντηση
}

Σε περίπτωση σφάλματος:

{
  "error": {
    "code": "invalid_param",
    "message": "Human-readable description",
    "details": { ... }
  },
  "meta": { ... }
}

Endpoints

GET /

Επισκόπηση του API: όνομα, έκδοση, λίστα endpoints και κάλυψη του dataset (ημερομηνίες, σύνολο εγγραφών).

Παράδειγμα

curl https://nireas.iee.ihu.gr/fuel/api/v1/
GET /prefectures

Επιστρέφει τους 51 νομούς της Ελλάδας συν την εθνική σταθμισμένη μέση τιμή. Χρησιμοποιήστε το id ως παράμετρο στο /prices.

Παράδειγμα απάντησης

{
  "data": [
    { "id": 1, "name": "ΠΑΝΕΛΛΗΝΙΟΣ ΣΤΑΘΜΙΣΜΕΝΟΣ Μ.Ο." },
    { "id": 2, "name": "ΑΘΗΝΩΝ" },
    { "id": 3, "name": "ΘΕΣΣΑΛΟΝΙΚΗΣ" }
  ],
  "meta": { "count": 52 }
}
GET /fuel-types

Επιστρέφει τους τύπους καυσίμων που παρακολουθούνται.

Παράδειγμα απάντησης

{
  "data": [
    { "id": 1, "name": "Αμόλυβδη 95" },
    { "id": 2, "name": "Αμόλυβδη 100" },
    { "id": 3, "name": "Diesel Κίνησης" },
    { "id": 4, "name": "Diesel Θέρμανσης" },
    { "id": 5, "name": "Υγραέριο Κίνησης (Auto Gas)" }
  ],
  "meta": { "count": 5 }
}
GET /prices

Χρονοσειρά τιμών για συγκεκριμένο νομό + καύσιμο σε ένα διάστημα ημερομηνιών. Τα σημεία επιστρέφονται ταξινομημένα από το παλαιότερο προς το νεότερο.

Παράμετροι

ΌνομαΤύποςΠεριγραφή
prefecture_idintegerID από το /prefectures
fuel_type_idintegerID από το /fuel-types
fromYYYY-MM-DDΑρχή διαστήματος (συμπεριλαμβανομένης)
toYYYY-MM-DDΤέλος διαστήματος (συμπεριλαμβανομένης)

Όλες οι παράμετροι είναι υποχρεωτικές.

Παράδειγμα

curl 'https://nireas.iee.ihu.gr/fuel/api/v1/prices?prefecture_id=1&fuel_type_id=1&from=2026-01-01&to=2026-04-22'

Παράδειγμα απάντησης

{
  "data": [
    { "date": "2026-01-02", "price": 1.823 },
    { "date": "2026-01-03", "price": 1.819 },
    { "date": "2026-01-04", "price": 1.821 }
  ],
  "meta": {
    "count": 3,
    "unit": "EUR/L",
    "prefecture": { "id": 1, "name": "ΠΑΝΕΛΛΗΝΙΟΣ ΣΤΑΘΜΙΣΜΕΝΟΣ Μ.Ο." },
    "fuel_type":  { "id": 1, "name": "Αμόλυβδη 95" },
    "from": "2026-01-01",
    "to":   "2026-04-22"
  }
}
GET /prices/latest

Snapshot του πιο πρόσφατου δελτίου: όλες οι τιμές, για κάθε νομό και κάθε καύσιμο, για την τελευταία διαθέσιμη ημερομηνία.

Παράδειγμα

curl https://nireas.iee.ihu.gr/fuel/api/v1/prices/latest

Σφάλματα

Σε περίπτωση σφάλματος, το API επιστρέφει το αντίστοιχο HTTP status και ένα error object με κωδικό και μήνυμα.

StatusCodeΠότε συμβαίνει
400missing_paramΛείπει υποχρεωτική παράμετρος
400invalid_paramΠαράμετρος με λάθος τύπο ή μορφή
400invalid_rangefrom μετά το to
404not_foundEndpoint, νομός ή καύσιμο δεν υπάρχει
404unsupported_versionΛείπει ή είναι άγνωστη η έκδοση API στο URL
405method_not_allowedΣτάλθηκε non-GET request
500internal_errorΑπρόσμενο σφάλμα στον server