v1.0 API

Eczane API Dokümantasyonu

EczaneAPI, Türkiye genelindeki nöbetçi eczane verilerine programatik erişim sağlayan bir RESTful eczane api servisidir. Nöbetçi eczane api endpointleri ile şehir ve ilçe bazında güncel adres, telefon ve konum bilgilerini JSON formatında alabilirsiniz. API'miz her gece 00:00'da güncellenerek en güncel nöbetçi eczane bilgilerini sunar.

Base URL

https://eczaneapi.com/api/v1

Response Format

application/json

Önemli Bilgi

Nöbetçi eczane verileri her gece 00:00'da (Türkiye saati) otomatik olarak güncellenir. Veriler 81 il ve tüm ilçeler için mevcuttur.

Kimlik Doğrulama

Tüm API isteklerinde X-API-Key header'ı gereklidir. API anahtarınızı dashboard'dan alabilirsiniz.

bash
curl -X GET "https://eczaneapi.com/api/v1/pharmacies/on-duty?city=istanbul" \
  -H "X-API-Key: eczane_api_xxxxx..."

Rate Limits & Kotalar

API kullanımınız planınıza göre sınırlandırılmıştır. Kota aşımında 429 hatası alırsınız.

PlanAylık LimitFiyat
Free200 istekÜcretsiz
Pro5.000 istek$5.99/ay
UnlimitedSınırsız$19.99/ay

Nöbetçi Eczaneler

GET
/pharmacies/on-duty

Belirtilen il ve/veya ilçedeki nöbetçi eczaneleri döndürür. Tarih belirtilmezse bugünkü nöbetçiler döner.

Query Parameters

ParametreTipZorunluAçıklama
citystring
Hayır
İl adı veya slug (örn: istanbul, İstanbul)
districtstring
Hayır
İlçe adı veya slug (örn: kadikoy)
datestring
Hayır
Tarih (YYYY-MM-DD formatı, varsayılan: bugün)

Örnek İstek

bash
GET /v1/pharmacies/on-duty?city=istanbul&district=kadikoy

Örnek Response

json
{
  "success": true,
  "data": {
    "date": "2024-12-26",
    "count": 3,
    "pharmacies": [
      {
        "id": "uuid-xxx",
        "name": "Şifa Eczanesi",
        "address": "Caferağa Mah. Moda Cad. No:45",
        "phone": "0216 345 67 89",
        "phone2": null,
        "location": {
          "latitude": 40.9876,
          "longitude": 29.0234
        },
        "city": {
          "id": "city-uuid",
          "name": "İstanbul",
          "slug": "istanbul"
        },
        "district": {
          "id": "district-uuid",
          "name": "Kadıköy",
          "slug": "kadikoy"
        },
        "duty": {
          "date": "2024-12-26T00:00:00.000Z",
          "startTime": null,
          "endTime": null,
          "isVerified": true
        }
      }
    ]
  },
  "meta": {
    "requestId": "api-key-id"
  }
}

Eczane Detayı

GET
/pharmacies/:pharmacyId

Belirtilen eczanenin detaylı bilgilerini ve yaklaşan nöbet tarihlerini döndürür.

Örnek Response

json
{
  "success": true,
  "data": {
    "id": "uuid-xxx",
    "name": "Şifa Eczanesi",
    "address": "Caferağa Mah. Moda Cad. No:45",
    "phone": "0216 345 67 89",
    "phone2": null,
    "email": "sifa@example.com",
    "ownerName": "Ecz. Ahmet Yılmaz",
    "location": {
      "latitude": 40.9876,
      "longitude": 29.0234
    },
    "city": {
      "id": "city-uuid",
      "name": "İstanbul",
      "slug": "istanbul"
    },
    "district": {
      "id": "district-uuid",
      "name": "Kadıköy",
      "slug": "kadikoy"
    },
    "is24Hour": false,
    "hasDelivery": true,
    "workingHours": {
      "monday": "08:30-19:00",
      "tuesday": "08:30-19:00"
    },
    "upcomingDuties": [
      {
        "date": "2024-12-28T00:00:00.000Z",
        "startTime": null,
        "endTime": null
      }
    ]
  }
}

Unlimited API (Özel Erişim)

Bu endpoint,
Unlimited
plan üyelerimiz için özel olarak hazırlanmıştır. Tüm şehirlerdeki aktif eczaneleri ve bugünün nöbetçi eczanelerini tek bir istekte döndürür.
GET
/pharmacies/unlimited

Tüm eczaneleri ve bugünün nöbetçilerini döndürür. İsteğe bağlı olarak il ve ilçe filtresi eklenebilir.

Query Parameters

ParametreTipZorunluAçıklama
citystring
Hayır
Şehir adı veya slug (örn: istanbul)
districtstring
Hayır
İlçe adı veya slug (örn: kadikoy)

Örnek Response

json
{
  "success": true,
  "data": {
    "date": "2024-12-26",
    "counts": {
      "totalPharmacies": 4250,
      "onDutyCount": 385
    },
    "onDuty": [
      {
        "id": "uuid-xxx",
        "name": "Şifa Eczanesi",
        "address": "Caferağa Mah. Moda Cad. No:45",
        "phone": "0216 345 67 89",
        "location": { "latitude": 40.9876, "longitude": 29.0234 },
        "city": { "name": "İstanbul", "slug": "istanbul" },
        "district": { "name": "Kadıköy", "slug": "kadikoy" }
      }
    ],
    "allPharmacies": [
      {
        "id": "uuid-xxx",
        "name": "Hayat Eczanesi",
        "address": "Moda Cad. No:12",
        "phone": "0216 111 22 33",
        "location": { "latitude": 40.98, "longitude": 29.03 },
        "city": { "name": "İstanbul", "slug": "istanbul" },
        "district": { "name": "Kadıköy", "slug": "kadikoy" },
        "is24Hour": false
      }
    ]
  }
}

Yakındaki Nöbetçi Eczaneler (Konum Bazlı)

Bu endpoint,
Pro
ve
Unlimited
plan üyelerimize özeldir. Latitude ve Longitude bilgisi ile yakındaki nöbetçi eczaneleri mesafeye göre sıralı olarak döndürür.
GET
/pharmacies/nearby

Belirtilen konuma yakın nöbetçi eczaneleri, mesafe bilgisi ile birlikte döndürür.

Query Parameters

ParametreTipZorunluAçıklama
latitudenumber
Evet
Kullanıcının enlemi (-90 ile 90 arası)
longitudenumber
Evet
Kullanıcının boylamı (-180 ile 180 arası)
radiusnumber
Hayır
Arama yarıçapı km (varsayılan: 5, max: 50)
datestring
Hayır
Tarih (YYYY-MM-DD, varsayılan: bugün)

Örnek İstek

bash
GET /v1/pharmacies/nearby?latitude=40.9876&longitude=29.0234&radius=5

Örnek Response

json
{
  "success": true,
  "data": {
    "date": "2026-03-01",
    "searchLocation": {
      "latitude": 40.9876,
      "longitude": 29.0234
    },
    "radius": 5,
    "count": 2,
    "pharmacies": [
      {
        "id": "uuid-xxx",
        "name": "Şifa Eczanesi",
        "address": "Caferağa Mah. Moda Cad. No:45",
        "phone": "0216 345 67 89",
        "phone2": null,
        "location": {
          "latitude": 40.9875,
          "longitude": 29.0287
        },
        "city": {
          "id": "city-uuid",
          "name": "İstanbul",
          "slug": "istanbul"
        },
        "district": {
          "id": "district-uuid",
          "name": "Kadıköy",
          "slug": "kadikoy"
        },
        "duty": {
          "date": "2026-03-01T00:00:00.000Z",
          "isVerified": true
        },
        "distance": 0.48
      }
    ]
  },
  "meta": {
    "requestId": "api-key-id"
  }
}

İller

GET
/cities

Türkiye'deki tüm illeri, plaka kodları ve eczane/ilçe sayılarıyla birlikte listeler.

Örnek Response

json
{
  "success": true,
  "data": [
    {
      "id": "uuid-xxx",
      "name": "Adana",
      "slug": "adana",
      "plateCode": "01",
      "districtsCount": 15,
      "pharmaciesCount": 245
    },
    {
      "id": "uuid-yyy",
      "name": "İstanbul",
      "slug": "istanbul",
      "plateCode": "34",
      "districtsCount": 39,
      "pharmaciesCount": 3450
    }
  ]
}

İlçeler

GET
/cities/:citySlug/districts

Belirtilen ilin tüm ilçelerini ve eczane sayılarını listeler.

Örnek İstek

bash
GET /v1/cities/istanbul/districts

Örnek Response

json
{
  "success": true,
  "data": {
    "city": {
      "id": "city-uuid",
      "name": "İstanbul",
      "slug": "istanbul"
    },
    "districts": [
      {
        "id": "district-uuid-1",
        "name": "Kadıköy",
        "slug": "kadikoy",
        "pharmaciesCount": 156
      },
      {
        "id": "district-uuid-2",
        "name": "Üsküdar",
        "slug": "uskudar",
        "pharmaciesCount": 134
      }
    ]
  }
}

Hata Kodları

API standart HTTP durum kodlarını ve tutarlı hata formatı kullanır.

Hata Response Formatı

json
{
  "success": false,
  "error": "Aylık istek kotanız doldu",
  "code": "QUOTA_EXCEEDED",
  "quota": {
    "limit": 10,
    "used": 10
  }
}
KodHTTPAçıklama
MISSING_API_KEY
401
X-API-Key header'ı eksik
INVALID_API_KEY
401
API anahtarı geçersiz veya deaktif
NO_SUBSCRIPTION
403
Aktif abonelik bulunamadı
QUOTA_EXCEEDED
429
Aylık istek kotası doldu
CITY_NOT_FOUND
404
İl bulunamadı
DISTRICT_NOT_FOUND
404
İlçe bulunamadı
PHARMACY_NOT_FOUND
404
Eczane bulunamadı
PLAN_RESTRICTION
403
Plan yetersiz (Pro veya Unlimited gerekli)
MISSING_PARAMETERS
400
Zorunlu parametre eksik
INTERNAL_ERROR
500
Sunucu hatası

Hemen Başlayın

Ücretsiz hesap oluşturun ve API anahtarınızı alarak nöbetçi eczane verilerine erişmeye başlayın.