Akaryakıt Fiyatları API
EPDK il bazlı bayi ve tavan fiyatları
Genel bakış
Akaryakıt Fiyatları API; EPDK’nın yayımladığı il bazlı bayi fiyatları ve en yüksek işlem hacimli sekiz firmanın ortalama fiyatlarını sunar. Benzin, motorin ve LPG için resmi tavan/bayi bildirimleri JSON olarak döner. Dağıtıcı internet sitelerinden pompa kazıması yapılmaz; ilçe kırılımı EPDK servisinde yoksa ürün kapsamına girmez.
Uç noktalar
Temel adres: https://api.apibir.com/v1
Kimlik doğrulama
Tüm isteklerde API anahtarınızı Authorization başlığında gönderin:
Authorization: apikey APIBIR-8f2c4b7e9a1d3c5f7b2e9d41
Accept: application/jsonSorgu parametreleri
| Parametre | Tip | Durum | Açıklama |
|---|---|---|---|
| city | string | zorunlu | İl adı veya plaka kodu. Örn: istanbul ya da 34 |
| district | string | opsiyonel | İlçe adı. Örn: kadikoy |
| distributor | string | opsiyonel | Dağıtıcı kodu. Örn: opet |
| fuelType | string | opsiyonel | benzin, motorin, lpg |
| date | date | opsiyonel | Geçmiş sorgusu için tarih |
Örnek istek
curl --request GET \
--url "https://api.apibir.com/v1/fuel/prices?city=istanbul" \
--header "authorization: apikey APIBIR-8f2c...9d41" \
--header "content-type: application/json"package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.apibir.com/v1/fuel/prices?city=istanbul", nil)
req.Header.Add("authorization", "apikey APIBIR-8f2c...9d41")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}const https = require('https');
const options = {
hostname: 'api.apibir.com',
path: '/v1/fuel/prices?city=istanbul',
method: 'GET',
headers: { 'authorization': 'apikey APIBIR-8f2c...9d41' }
};
https.get(options, (res) => {
let data = '';
res.on('data', (chunk) => data += chunk);
res.on('end', () => console.log(JSON.parse(data)));
});const res = await fetch(
"https://api.apibir.com/v1/fuel/prices?city=istanbul",
{ headers: { authorization: "apikey APIBIR-8f2c...9d41" } }
);
const { data } = await res.json();
console.log(data);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.apibir.com/v1/fuel/prices?city=istanbul"))
.header("authorization", "apikey APIBIR-8f2c...9d41")
.GET().build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());import requests
r = requests.get(
"https://api.apibir.com/v1/fuel/prices?city=istanbul",
headers={"authorization": "apikey APIBIR-8f2c...9d41"},
timeout=10,
)
print(r.json()["data"])require 'net/http'
require 'uri'
uri = URI.parse("https://api.apibir.com/v1/fuel/prices?city=istanbul")
request = Net::HTTP::Get.new(uri)
request["authorization"] = "apikey APIBIR-8f2c...9d41"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.bodyusing var client = new HttpClient();
client.DefaultRequestHeaders.Add("authorization", "apikey APIBIR-8f2c...9d41");
var json = await client.GetStringAsync("https://api.apibir.com/v1/fuel/prices?city=istanbul");
Console.WriteLine(json);import Foundation
var request = URLRequest(url: URL(string: "https://api.apibir.com/v1/fuel/prices?city=istanbul")!)
request.addValue("apikey APIBIR-8f2c...9d41", forHTTPHeaderField: "authorization")
let task = URLSession.shared.dataTask(with: request) { data, _, _ in
if let data = data, let str = String(data: data, encoding: .utf8) {
print(str)
}
}
task.resume()open Cohttp_lwt_unix
open Lwt
let uri = Uri.of_string "https://api.apibir.com/v1/fuel/prices?city=istanbul" in
let headers = Header.init_with "authorization" "apikey APIBIR-8f2c...9d41" in
Client.get ~headers uri >>= fun (resp, body) ->
Cohttp_lwt.Body.to_string body >>= fun body_str ->
Lwt_io.printl body_str<?php
$ch = curl_init("https://api.apibir.com/v1/fuel/prices?city=istanbul");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["authorization: apikey APIBIR-8f2c...9d41"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data["data"]);Örnek yanıt
{
"success": true,
"creditsUsed": 1,
"city": "İstanbul",
"district": "Kadıköy",
"currency": "TRY",
"updatedAt": "2026-08-07T06:00:00+03:00",
"data": [
{
"distributor": "Opet",
"prices": {
"benzin95": 52.84,
"motorin": 54.19,
"motorinPro": 55.62,
"lpg": 27.43
},
"previous": { "benzin95": 52.11, "motorin": 53.48, "lpg": 27.43 },
"change": { "benzin95": 0.73, "motorin": 0.71, "lpg": 0.00 },
"effectiveDate": "2026-08-07"
},
{
"distributor": "Shell",
"prices": { "benzin95": 52.91, "motorin": 54.24, "lpg": 27.51 },
"effectiveDate": "2026-08-07"
}
],
"upcoming": [
{ "fuelType": "motorin", "expectedChange": -0.42, "expectedDate": "2026-08-10", "confidence": "medium" }
]
}Yanıt alanları
| Alan | Tip | Açıklama |
|---|---|---|
| distributor | string | Dağıtıcı firma adı |
| prices | object | Yakıt türü → litre fiyatı (TL) |
| change | object | Bir önceki fiyata göre TL cinsinden fark |
| effectiveDate | date | Fiyatın geçerli olduğu tarih |
| upcoming | array | Beklenen zam/indirim tahmini |
Kredi tüketimi: Bu servis her başarılı istek için 1 kredi harcar.
Hatalı istekler (4xx) kredi düşürmez. Kalan krediniz her yanıtın creditsRemaining alanında döner.
Olası hatalar
| Kod | HTTP | Anlamı |
|---|---|---|
| invalid_api_key | 401 | Anahtar geçersiz veya başlık eksik. |
| insufficient_credits | 402 | Aylık kredi limitiniz doldu. |
| invalid_parameter | 422 | Parametre değeri beklenen formatta değil. |
| rate_limited | 429 | Saniyelik istek limiti aşıldı. |
| no_data | 404 | Sorgu kriterlerine uyan kayıt bulunamadı. |
Bu API ile neler yapabilirsiniz?
Filo yönetim yazılımları
Araç başına yakıt maliyetini güncel il fiyatıyla hesaplayın, sahte fiş tespiti yapın.
Navigasyon ve yol arkadaşı uygulamaları
Rota üzerindeki en ucuz istasyonu önerin.
Lojistik fiyatlandırma
Yakıt endeksli nakliye tarifelerini otomatik güncelleyin.
Zam bildirimi servisleri
Beklenen zam öncesi kullanıcıya push bildirimi gönderin.
AI ile hızlı başlangıç. Bu API'yi Claude'a tanıtıp tek promptla pano kurmak için AI & Dashboard rehberine bakın. Hazır prompt şablonu ve çalışan dashboard örneği orada.
İlgili API'ler
Hal Fiyatları
Tarım & GıdaHal Kayıt Sistemi’nde kamuya açıklanan sebze ve meyve fiyatları (protokol sonrası).
Sıfır Araç Fiyatları
Türkiye VerileriMarka, model ve donanım bazında güncel sıfır araç liste fiyatları.
Döviz Kurları
Finans & PiyasaTCMB resmi günlük alış/satış kurları (EVDS ve kur bülteni).
Lojistik & Filo Şirketleri İçin Akaryakıt Fiyat Otomasyonu
81 il EPDK bayi/tavan fiyatı güncellemelerini SMS veya e-posta ile alın.
Uygulamalı rehber
81 İl Pompa Akaryakıt Fiyatlarını API ile Otomatik Takip Etme — çalışan kod örnekleriyle adım adım entegrasyon.