Tarımsal Ürün Fiyatları API
TÜRİB ELÜS ve TMO bülteni, lisans sonrası
Genel bakış
Tarımsal Ürün Fiyatları API; TÜRİB ELÜS piyasası gecikmeli verisi ve TMO’nun yayımladığı bülten fiyatlarını sunmak üzere tasarlanmıştır. Buğday, arpa, mısır ve yağlı tohum göstergeleri lisans paketi açıldıktan sonra JSON olarak döner. İl ticaret borsası sitelerinden kazıma yapılmaz.
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 |
|---|---|---|---|
| product | string | opsiyonel | Ürün kodu veya adı. Örn: bugday-ekmeklik |
| exchange | string | opsiyonel | Ticaret borsası kodu. Örn: konya-tb |
| city | string | opsiyonel | Şehir adı ya da plaka kodu |
| date | date | opsiyonel | YYYY-MM-DD. Varsayılan: son işlem günü |
| group | string | opsiyonel | hububat, yagli-tohum, meyve, hayvancilik |
Örnek istek
curl --request GET \
--url "https://api.apibir.com/v1/agriculture/prices?product=domates" \
--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/agriculture/prices?product=domates", 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/agriculture/prices?product=domates',
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/agriculture/prices?product=domates",
{ 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/agriculture/prices?product=domates"))
.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/agriculture/prices?product=domates",
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/agriculture/prices?product=domates")
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/agriculture/prices?product=domates");
Console.WriteLine(json);import Foundation
var request = URLRequest(url: URL(string: "https://api.apibir.com/v1/agriculture/prices?product=domates")!)
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/agriculture/prices?product=domates" 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/agriculture/prices?product=domates");
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,
"date": "2026-08-06",
"data": [
{
"product": "Ekmeklik Buğday",
"productCode": "bugday-ekmeklik",
"group": "hububat",
"exchange": "Konya Ticaret Borsası",
"city": "Konya",
"unit": "TL/kg",
"min": 11.15,
"max": 12.40,
"average": 11.78,
"previousAverage": 11.62,
"changePercent": 1.38,
"volumeKg": 4128500,
"tmoPrice": 11.90
},
{
"product": "Ayçiçeği (Yağlık)",
"productCode": "aycicegi-yaglik",
"group": "yagli-tohum",
"exchange": "Edirne Ticaret Borsası",
"city": "Edirne",
"unit": "TL/kg",
"min": 19.80,
"max": 22.10,
"average": 20.95,
"previousAverage": 21.30,
"changePercent": -1.64,
"volumeKg": 962300
}
]
}Yanıt alanları
| Alan | Tip | Açıklama |
|---|---|---|
| productCode | string | Sabit ürün anahtarı |
| min / max / average | number | Seans içi en düşük, en yüksek ve ağırlıklı ortalama fiyat |
| volumeKg | number | Borsada işlem gören miktar (kg) |
| tmoPrice | number | Varsa TMO müdahale/alım fiyatı |
| exchange | string | Fiyatın oluştuğu ticaret borsası |
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?
Tarım kooperatifi panoları
Üyelerinize bölgesel fiyat karşılaştırması sunun, en iyi satış borsasını gösterin.
Gıda üreticisi hammadde planlaması
Un, yağ ve yem maliyetlerini ürün fiyatına bağlayıp bütçe senaryoları oluşturun.
Tarımsal kredi ve sigorta
Rekolte ve fiyat riskini modelleyerek teminat ve prim hesaplarını güncelleyin.
Çiftçi mobil uygulamaları
Ürün seçip fiyat alarmı kuran, hasat zamanı satış önerisi veren akışlar kurun.
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ı).
Döviz Kurları
Finans & PiyasaTCMB resmi günlük alış/satış kurları (EVDS ve kur bülteni). Muhasebe ve fatura değerlemesi için.
Akaryakıt Fiyatları
Türkiye VerileriEPDK il bazlı bayi ve tavan fiyatları: benzin, motorin ve LPG.
Tarım Esnafı & Borsa Katılımcıları İçin Özel Teklif
Günlük borsa seans kapanışları, hal fiyatları ve tarımsal bültenlerin telefonunuza veya mailinize otomatik gelmesi için teklif alın.
Uygulamalı rehber
Hal Fiyatları API'si ile E-Ticaret Fiyatlama Otomasyonu — çalışan kod örnekleriyle adım adım entegrasyon.