Ana Sayfa / API Kataloğu / Hal Fiyatları API

Hal Fiyatları API

Toptancı hal fiyatları, şehir ve ürün kırılımında

Tarım & GıdaJSONGüncelleme: Günlük 09:00100 kredi / ay (ücretsiz plan)

Genel bakış

Hal Fiyatları API; Ticaret Bakanlığı Hal Kayıt Sistemi’nde kamuya açıklanan sebze-meyve fiyatlarını sunmak üzere tasarlanmıştır. Ürün, hal, tarih ve min/max/ortalama fiyat döner. Belediye hal sitelerinden kazıma yapılmaz; SOAP yeniden dağıtımı yazılı protokol sonrası açılır.

Uç noktalar

Temel adres: https://api.apibir.com/v1

GET/hal/pricesGünlük hal fiyatları
GET/hal/marketsToptancı hal listesi
GET/hal/productsÜrün sözlüğü ve kategoriler
GET/hal/historyÜrün bazlı geçmiş fiyat serisi

Kimlik doğrulama

Tüm isteklerde API anahtarınızı Authorization başlığında gönderin:

Authorization: apikey APIBIR-8f2c4b7e9a1d3c5f7b2e9d41
Accept: application/json

Sorgu parametreleri

ParametreTipDurumAçıklama
citystringopsiyonelŞehir adı. Örn: istanbul
marketstringopsiyonelHal kodu. Örn: bayrampasa
productstringopsiyonelÜrün adı veya kodu. Örn: domates
categorystringopsiyonelsebze, meyve, yesillik
datedateopsiyonelYYYY-MM-DD. Varsayılan: bugün

Örnek istek

curl --request GET \
  --url "https://api.apibir.com/v1/hal/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/hal/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/hal/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/hal/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/hal/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/hal/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/hal/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.body
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("authorization", "apikey APIBIR-8f2c...9d41");
var json = await client.GetStringAsync("https://api.apibir.com/v1/hal/prices?city=istanbul");
Console.WriteLine(json);
import Foundation

var request = URLRequest(url: URL(string: "https://api.apibir.com/v1/hal/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/hal/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/hal/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,
  "date": "2026-08-07",
  "market": "İstanbul Bayrampaşa Hali",
  "currency": "TRY",
  "data": [
    {
      "product": "Domates (Sera)",
      "productCode": "domates-sera",
      "category": "sebze",
      "unit": "kg",
      "minPrice": 14.50,
      "maxPrice": 22.00,
      "avgPrice": 18.25,
      "previousAvg": 19.80,
      "changePercent": -7.83
    },
    {
      "product": "Karpuz",
      "productCode": "karpuz",
      "category": "meyve",
      "unit": "kg",
      "minPrice": 4.00,
      "maxPrice": 8.50,
      "avgPrice": 6.25,
      "previousAvg": 5.90,
      "changePercent": 5.93
    },
    {
      "product": "Maydanoz",
      "productCode": "maydanoz",
      "category": "yesillik",
      "unit": "demet",
      "minPrice": 2.50,
      "maxPrice": 5.00,
      "avgPrice": 3.75,
      "previousAvg": 3.75,
      "changePercent": 0.00
    }
  ]
}

Yanıt alanları

AlanTipAçıklama
minPrice / maxPricenumberHal içinde oluşan en düşük ve en yüksek fiyat
avgPricenumberOrtalama fiyat
unitstringkg · adet · demet · kasa
categorystringsebze · meyve · yesillik

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

KodHTTPAnlamı
invalid_api_key401Anahtar geçersiz veya başlık eksik.
insufficient_credits402Aylık kredi limitiniz doldu.
invalid_parameter422Parametre değeri beklenen formatta değil.
rate_limited429Saniyelik istek limiti aşıldı.
no_data404Sorgu kriterlerine uyan kayıt bulunamadı.

Bu API ile neler yapabilirsiniz?

Restoran ve zincir mutfak satın alma

Günlük tedarik listesini hal fiyatına göre optimize edin, tedarikçi teklifini kıyaslayın.

Manav ve market fiyatlandırma

Toptan maliyetin üzerine kar marjı uygulayarak raf etiketlerini otomatik güncelleyin.

Enflasyon ve gıda araştırmaları

Sepet bazlı gıda enflasyonu göstergeleri üretin.

Tarımsal lojistik

Hangi şehirde hangi ürünün pahalı olduğunu görüp sevkiyat rotası planlayın.

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.

Hal Tüccarları & Gıda Toptancıları İçin Günlük Fiyat Servisi

Büyükşehir hallerindeki güncel sebze/meyve fiyat bültenlerinin her sabah WhatsApp veya E-posta adresinize otomatik gelmesi için teklif isteyin.

Otomasyon Çözümlerimiz