İhaleGlobal Araştırma EnstitüsüAçık Veri API'si · v1

Açık Veri API'si

Türkiye kamu alımlarının kamuya açık agrega göstergelerine — rekabet endeksi, tek teklif oranı, tenzilat, doğrudan temin hacmi, il ve sektör kırılımları — salt-okunur, JSON, programatik erişim. Akademik ve gazetecilik kullanımı için açık; atıfla serbestçe kullanılır.

● Salt-okunur REST Format: JSON Lisans: CC BY 4.0 Kişisel veri / VKN içermez
Gizlilik güvencesi. Bu API yalnızca agrega döndürür. Vergi kimlik numarası (VKN), kişisel adres, kaybeden teklif kimliği veya herhangi bir kişisel veri hiçbir uç noktada bulunmaz. Firma ve kamu kurumu unvanları, kamuya açık ihale sonuç kayıtlarının bir parçası olarak ve yalnızca sıralı özet (kova başına en yüksek 10) bağlamında yer alır.

Başlangıç

Kimlik doğrulama, herkese açık apikey anahtarıyla yapılır (Supabase anon anahtarı — tasarımı gereği publiktir). Taban yol:

# Taban yol
https://ihaleglobal.com/rest/v1/

# Örnek: yıl bazında genel rekabet endeksi (tek teklif oranı + tenzilat).
# yil=gt.0 → yıl toplamı satırını (yil=0) atlar, 2019'dan bugüne tüm yılları verir.
curl "https://ihaleglobal.com/rest/v1/veri_rekabet_endeksi?boyut=eq.genel&yil=gt.0&order=yil.asc" \
  -H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlIiwiaWF0IjoxNzg0MzA3MTU4LCJleHAiOjE5NDE5ODcxNTh9.CjNKulvirotDD_y2oO2QKgo0kbqYvL0jUSV1RiDMoso"

Yanıt (kısaltılmış):

[
  { "boyut":"genel", "deger":"Tumu", "yil":2019, "ihale_sayisi":122297, "tek_teklif_pct":33.4, "tenzilat_ort":16.5, "kapsama_pct":100 },
  { "boyut":"genel", "deger":"Tumu", "yil":2024, "ihale_sayisi":143207, "tek_teklif_pct":36.4, "tenzilat_ort":15.0, "kapsama_pct":100 }
]

Python (pandas):

import pandas as pd, requests
H = {"apikey": "<public-anon-key>"}
url = "https://ihaleglobal.com/rest/v1/veri_rekabet_endeksi"
df = pd.DataFrame(requests.get(url, headers=H, params={"boyut":"eq.sektor","yil":"eq.2024"}).json())

Uç Noktalar

On dört salt-okunur uç nokta, iki katmanda. Katman 1 saf kategori/endeks agregasıdır (isim içermez). Katman 2, kamuya açık firma/kurum unvanlarıyla sıralı özet sunar. Tümünü sürüm ve atıflarıyla programatik keşfetmek için aşağıdaki /rest/v1/veri_katalog ucunu kullanın.

◆ Katman 1 — Kategori agregaları (isim içermez)
GET/rest/v1/veri_rekabet_endeksiRekabet endeksi: tek teklif oranı + tenzilat

Kolonlar: boyut (genel·il·sektor·usul·idare_tur), deger, yil, ihale_sayisi, tek_teklif_pct, tenzilat_ort, kapsama_pct

curl "https://ihaleglobal.com/rest/v1/veri_rekabet_endeksi?boyut=eq.sektor&yil=eq.2024&order=tek_teklif_pct.desc" -H "apikey: <key>"
GET/rest/v1/veri_dt_endeksiDoğrudan temin: işlem sayısı + medyan bedel

Kolonlar: boyut (genel·il·sektor·idare_tur), deger, yil, islem_sayisi, medyan_bedel, ort_bedel

curl "https://ihaleglobal.com/rest/v1/veri_dt_endeksi?boyut=eq.sektor&yil=eq.2025&order=islem_sayisi.desc" -H "apikey: <key>"
GET/rest/v1/veri_il_sektorİl × sektör ihale hacmi

Kolonlar: il, sektor, ihale_sayisi, toplam_bedel

curl "https://ihaleglobal.com/rest/v1/veri_il_sektor?il=eq.ANKARA&order=toplam_bedel.desc" -H "apikey: <key>"
GET/rest/v1/veri_il_yerlilikİl × sektör yerli firma payı

Kolonlar: il, sektor, ihale_sayisi, toplam_bedel, yerli_bedel, disari_bedel, yerli_pct

curl "https://ihaleglobal.com/rest/v1/veri_il_yerlilik?il=eq.KONYA&order=yerli_pct.asc" -H "apikey: <key>"
GET/rest/v1/veri_il_ticaret_akisiİl → il tedarik akışı

Kolonlar: idare_il (alan kurumun ili), firma_il (yüklenicinin ili), sozlesme_sayisi, bedel

curl "https://ihaleglobal.com/rest/v1/veri_il_ticaret_akisi?idare_il=eq.VAN&order=bedel.desc" -H "apikey: <key>"
◆ Katman 2 — Sıralı özet (firma/kurum unvanı; VKN yok)
GET/rest/v1/veri_il_top_kurumİl bazında en çok harcayan kamu kurumları

Kolonlar: il, kurum, sozlesme_sayisi, bedel, sira (1–10)

curl "https://ihaleglobal.com/rest/v1/veri_il_top_kurum?il=eq.İZMİR&order=sira.asc" -H "apikey: <key>"
GET/rest/v1/veri_sektor_top_kurumSektör bazında en çok alım yapan kurumlar

Kolonlar: sektor, kurum, sozlesme_sayisi, bedel, sira

GET/rest/v1/veri_il_dt_top_kurumİl bazında doğrudan temin — top kurumlar

Kolonlar: il, kurum, alim_sayisi, bedel, sira

GET/rest/v1/veri_il_top_firmaİl başına top-10 yüklenici (ihale)

Kolonlar: il, firma, firma_il, sozlesme_sayisi, bedel, sira

curl "https://ihaleglobal.com/rest/v1/veri_il_top_firma?il=eq.BURSA&order=sira.asc" -H "apikey: <key>"
GET/rest/v1/veri_sektor_top_firmaSektör başına top-10 yüklenici (ihale)

Kolonlar: sektor, firma, firma_il, sozlesme_sayisi, bedel, sira

GET/rest/v1/veri_il_merkez_firmaİlde merkezli top firmalar (ciro)

Kolonlar: il (firmanın ili), firma, sozlesme_sayisi, ciro, sira

GET/rest/v1/veri_il_dt_top_firmaİl bazında doğrudan temin — top yükleniciler

Kolonlar: il, firma, alim_sayisi, bedel, sira

GET/rest/v1/veri_yerellesme_endeksiYerelleşme endeksi: yerli/il-içi tedarik payı

Kolonlar: boyut (genel·il·sektor), deger, yil, sozlesme_sayisi, yerli_adet_pct, yerli_bedel_pct, kapsama_pct

GET/rest/v1/veri_yogunlasma_endeksiYoğunlaşma endeksi: HHI ve CR1/CR4/CR10 oranları

Kolonlar: boyut (genel·il·sektor), deger, yil, sozlesme_sayisi, firma_sayisi, cr1, cr4, cr10, hhi

Sorgulama, sayfalama ve hız

Uç noktalar PostgREST üzerinde çalışır; standart filtre, sıralama ve sayfalama söz dizimi geçerlidir.

AmaçSöz dizimi
Eşitlik filtresi?yil=eq.2024
Tüm zamanlar satırıEndeks uçlarında yil=0 = tüm dönem rollup'ı (havuzlanmış oran, yılların ortalaması değil). Yıl serisi çekerken ?yil=gt.0 ekleyin.
Karşılaştırma?bedel=gte.1000000 · gt·lt·lte·neq
Liste içinde?boyut=in.(il,sektor)
Sıralama?order=bedel.desc · ?order=yil.asc,sira.asc
Kolon seçme?select=il,tek_teklif_pct
Sayfalama (limit/offset)?limit=100&offset=200
Toplam satır sayısıHeader: Prefer: count=exact → yanıtta Content-Range

Hız sınırı — üç kademe:  Anon (anahtarsız): IP başına 2 istek/sn, burst 60 — normal kullanım etkilenmez, yalnız toplu çekim yavaşlar.  ·  Akademik (kayıtla, ücretsiz): X-Api-Key başlığıyla 20 istek/sn, burst 100.  ·  Kurumsal: özel limit + SLA.  Aşımda 429 döner; toplu/otomatik çekimde istekleri makul aralıklarla yollayın.

Akademik API anahtarı al — ücretsiz

Üniversite e-postasıyla (.edu.tr / .edu) anında; diğer başvurular elle onaylanır. Anahtar rate-limit kademesini yükseltir (anon 2/sn → akademik 20/sn) — veriye erişim zaten anahtarsız da açıktır (CC BY 4.0). Kurumsal (yüksek hacim + SLA) için amacınızı yazın, dönelim.

Lisans ve atıf

Veri CC BY 4.0 altında sunulur: kopyalayabilir, dönüştürebilir, ticari dahil her amaçla kullanabilirsiniz — tek koşul atıf. Kaynak, EKAP'ın kamuya açık ihale ve doğrudan temin kayıtlarıdır; agregalar İhaleGlobal veri altyapısında üretilmiştir. Yöntem Araştırma Enstitüsü Yöntem bölümünde açıktır.

Önerilen atıf: İhaleGlobal Araştırma Enstitüsü, "Türkiye Kamu Alımları Açık Veri API'si", ihaleglobal.com/veri-api (erişim: 2026).  ·  Lisans: CC BY 4.0  ·  Kullanım Şartları

Akademik kullanım — katalog, sürüm ve makine-okunur atıf

Tüm veri kümelerini, geçerli sürümlerini ve önerilen atıflarını tek uçtan programatik olarak keşfedin. Her veri kümesinin kalıcı bir kimliği (IGRE-veri-…-vYYYY-Www) ve haftalık sürümü vardır; makale ve tezlerde sürümü belirtmeniz yeniden-üretilebilirlik için önerilir. Veri haftalık yenilenir; sürüm hafta boyunca sabit kalır.

GET/rest/v1/veri_katalogVeri kümesi kataloğu: ad · URL · sürüm · kalıcı kimlik · hazır atıf

Kolonlar: kod, ad, aciklama, url, lisans, surum, yayinci, kaynak, kimlik, atif

curl "https://ihaleglobal.com/rest/v1/veri_katalog?select=kod,ad,surum,kimlik,atif" -H "apikey: <key>"

BibTeX (biblatex) — katalogdaki atif / surum / url alanlarından doldurun. Aşağıdaki v2026-W35 yalnızca örnektir; güncel sürüm için veri_katalog.surum alanını (veya /rest/v1/veri_surum ucunu) kullanın. Klasik BibTeX kullanıyorsanız @dataset yerine @misc + howpublished tercih edin (version/license bazı eski .bst stillerinde yok sayılabilir).

@dataset{igre_veri_rekabet_endeksi,
  title     = {Rekabet Endeksi},
  author    = {{İhaleGlobal Araştırma Enstitüsü}},
  year      = {2026},
  version   = {v2026-W35},
  publisher = {İhaleGlobal Araştırma Enstitüsü},
  url       = {https://ihaleglobal.com/rest/v1/veri_rekabet_endeksi},
  note      = {Kalıcı kimlik: IGRE-veri-rekabet_endeksi-v2026-W35},
  license   = {CC BY 4.0}
}

Kapsam sınırları:

  • Rekabet göstergeleri (tek teklif, tenzilat) için 2019–2024 sağlam; 2025–2026 sonuç detayları kısmi olduğundan bu yıllar için düşüş yorumu yapılmaz.
  • Doğrudan temin arşivi 2025 öncesi eksiktir; yıllar arası DT karşılaştırması yapılamaz, 2025 referans yıldır.
  • Firma/kurum kırılımları kova başına en yüksek 10 kayıtla sınırlıdır (tam firma dizini bu API'de yer almaz).