Public REST API · Ücretsiz · CORS Açık

Nöbetçi Eczane API

Türkiye geneli nöbetçi eczane, eczane sicil ve idari hiyerarşi verisini doğrudan uygulamanıza entegre edin. Anahtar gerekmez; ticari kullanım CC BY 4.0 kapsamında serbesttir.

Rate limit

60 req / dakika / IP

Auth

Gerekmez (public)

Spec

OpenAPI 3.1

Temel URL

https://eczaneadresi.com/api/public/v1

Uç Noktalar

GET/duty-pharmacies

Belirli ilde (ve opsiyonel ilçede) bugünün nöbetçi eczaneleri.

  • cityzorunluİl slug (örn. istanbul, ankara)
  • districtopsiyonelİlçe slug (örn. kadikoy)
  • limitopsiyonel1–200, varsayılan 50
GET/nearest-pharmacies

GPS koordinatına en yakın nöbetçi eczaneler.

  • latzorunluEnlem (-90 .. 90)
  • lngzorunluBoylam (-180 .. 180)
  • limitopsiyonel1–50, varsayılan 10
GET/iller

Tüm il ve ilçe slug+isim listesi.

GET/eczane/{slug}

Tek bir eczanenin detay sayfası (adres, telefon, koordinat, nöbet).

  • slugzorunluURL slug — örn. saglik-eczanesi-kadikoy

Hızlı başlangıç

cURL

bashcurl -s "https://eczaneadresi.com/api/public/v1/duty-pharmacies?city=istanbul&limit=10" \
  -H "Accept: application/json"

JavaScript / TypeScript

js// JavaScript / TypeScript (fetch)
const res = await fetch(
  "https://eczaneadresi.com/api/public/v1/duty-pharmacies?city=istanbul&limit=10",
  { headers: { Accept: "application/json" } }
);
const data = await res.json();
console.log(data.pharmacies);

Python

py# Python (requests)
import requests
r = requests.get(
    "https://eczaneadresi.com/api/public/v1/duty-pharmacies",
    params={"city": "istanbul", "limit": 10},
    timeout=10,
)
r.raise_for_status()
for p in r.json()["pharmacies"]:
    print(p["name"], p["phone"], p["address"])

PHP

php<?php
// PHP 8+ (curl)
$ch = curl_init("https://eczaneadresi.com/api/public/v1/duty-pharmacies?city=istanbul&limit=10");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Accept: application/json"]);
$body = curl_exec($ch);
curl_close($ch);
$data = json_decode($body, true);
foreach ($data["pharmacies"] as $p) {
    echo $p["name"] . " — " . $p["phone"] . PHP_EOL;
}

Rate Limit

  • IP başına dakikada 60 istek.
  • Aşıldığında 429 Too Many Requests ve Retry-After header'ı.
  • Yüksek hacim ihtiyacı için iletişim.

Hata kodları

KodAnlam
400Eksik veya geçersiz parametre
404Kaynak bulunamadı
429Rate limit aşıldı
5xxGeçici sunucu hatası — exponential backoff ile tekrar deneyin

Atıf zorunluluğu

API yanıtlarını kullanan tüm yüzeylerde "Veri: Eczane Adresi" satırı görünür olmalıdır (CC BY 4.0). Detay: /veri-seti.

OpenAPI: /openapi.json · Status: /status