osrmroute
Dokümantasyon

Harita, arama ve Studio API’leri

Harita ve konum verileriyle geliştirin

Kimlik doğrulama ve hatalar

Anahtarı Authorization: Bearer başlığında gönderin. Koordinatlar [boylam, enlem] biçimindedir. OSRMROUTE_API_KEY ve sahip olduğunuz veri kümesinin UUID’si olan DATASET_ID değişkenlerini yerel olarak ayarlayın. Studio anahtarını tarayıcı kodunda yayınlamayın.

401: geçersiz anahtar · 403: izin yok · 402: yetersiz kredi · 429: istek sınırı · 502/503: kaynak kullanılamıyor. HTTP durumunu kontrol edin; başarısız ücretli işlemlerin ayrılan kredileri serbest bırakılır.

409: revision çakışması. Tekrar denemeden önce son kaynağı okuyup değişiklikleri uzlaştırın.

Yer ayrıntıları

Arama kaynağındaki yer bilgilerini okuyun.

İstek kredileri
1
Gerekli izinler
places

places izniyle 1 kredi. Arama ID’siyle OpenStreetMap nesnesini okur; kaynak önbelleği 1 saat. Eksik telefon, site, saat ve erişilebilirlik null kalır. Kaynak tarihi nesne düzenleme zamanıdır; işletme doğrulaması değildir. Canlı açık durumu yoktur. Anahtar başına 20/dk; önbellek dışı kaynak istekleri toplam 30/dk.

POST /api/v1/places/details

İstek gövdesi — * işaretli alanlar zorunludur.
id *stringmaxLength: 24
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/places/details" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id":"osm:N:123"}'
Yanıt
place.details.phone
place.details.website
place.details.opening_hours
place.details.wheelchair
place.details.observed_at
place.details.source_updated_at
place.details.open_now: null

Metinle stil önizlemesi

Renk ve katman değişikliklerini yazıp inceleyin.

İstek kredileri
0
Gerekli izinler
studio

Noktalı virgülle ayrılmış İngilizce komutlar; tema, hex renk ve katman görünürlüğü. Önizleme kaydetmez. Uygula, taslak ve otomatik kayıt akışına girer.

POST /api/v1/studio/preview

İstek gövdesi — * işaretli alanlar zorunludur.
prompt *stringmaxLength: 1000
aibooleandefault: false
designobject
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/studio/preview" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"dark; water #123456; hide buildings"}'
Yanıt
design
changes[]
saved: false
method: explicit_style_commands

Static Maps API

Raporlar ve uygulamalar için stilli haritaları PNG olarak dışa aktarın.

İstek kredileri
4
Gerekli izinler
maps

Dört palet: light, dark, navigation, minimal. 128–512 px, zoom 1–14. Basitleştirilmiş çizim kaynak bilgisini içerir; özel Studio katmanları ve efektleri desteklenmez.

POST /api/v1/maps/static

İstek gövdesi — * işaretli alanlar zorunludur.
center *array
zoomintegermin: 1 · max: 14 · default: 12
widthintegermin: 128 · max: 512 · default: 512
heightintegermin: 128 · max: 512 · default: 512
stylestringlight | dark | navigation | minimal
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/maps/static" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"center":[13.405,52.52],"zoom":12,"width":512,"height":512,"style":"light"}' \
  --output map.png
Yanıt
Content-Type: image/png

Dataset Query API

Kendi yüklediğiniz coğrafi verilerde yakın öğeleri bulun.

İstek kredileri
1
Gerekli izinler
maps

Yalnızca anahtar sahibinin veri kümeleri. Yarıçap 0–50.000 m, limit 1–50. Yakın noktalar ve tahmini yerel mesafeler döner; yol mesafesi veya tam geometri değildir. Boş başarılı sonuç da 1 kredidir.

POST /api/v1/maps/datasets/{id}/query

İstek gövdesi — * işaretli alanlar zorunludur.
point *array
radiusnumbermin: 0 · max: 50000 · default: 0
limitintegermin: 1 · max: 50 · default: 10
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/maps/datasets/$DATASET_ID/query" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"point":[2.3522,48.8566],"radius":1000,"limit":10}'
Yanıt
type: FeatureCollection
features[].geometry.type: Point
features[].properties
returned

Search Along Route API

Yol üzerindeki durakları ve ek sürüş süresini karşılaştırın.

İstek kredileri
14
Gerekli izinler
places + route

En fazla 200 km sürüş rotası. Beş örnek konum ve en fazla sekiz sapma; arama kapsamlı değildir. fuel, charging_station, restaurant, cafe, parking, pharmacy. Canlı trafik veya şarj uygunluğu yoktur.

POST /api/v1/places/along-route

İstek gövdesi — * işaretli alanlar zorunludur.
start *array
end *array
category *stringfuel | charging_station | restaurant | cafe | parking | pharmacy
max_detour_secondsnumbermin: 0 · max: 1800 · default: 600
limitintegermin: 1 · max: 8 · default: 5
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/places/along-route" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start":[13.405,52.52],"end":[13.3777,52.5163],"category":"cafe","max_detour_seconds":600,"limit":5}'
Yanıt
places[]
baseline.duration_seconds
baseline.distance_meters
discovery
duration_model

Structured Geocoding API

Sokak, şehir, posta kodu ve ülkeyle adres arayın.

İstek kredileri
1
Gerekli izinler
geocode

street, city veya postcode gerekir. Ülke kodu iki harf, diğer alanlar en fazla 100 karakter. Bileşenler metin aramasına dönüşür; matched/different/missing ve kaynak hassasiyeti adres doğrulama garantisi değildir.

POST /api/v1/search/structured

İstek gövdesi — * işaretli alanlar zorunludur.
housenumberstringmaxLength: 100
streetstringmaxLength: 100
citystringmaxLength: 100
statestringmaxLength: 100
postcodestringmaxLength: 100
countrycodestringmaxLength: 2
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/search/structured" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"street":"Friedrichstraße","city":"Berlin","countrycode":"DE"}'
Yanıt
features[].id
features[].address
features[].precision
features[].match.components
features[].precision_basis
search_method: composed_address_query

Suggest & Retrieve API

Öneriler ve güvenli sonuç alma ile yer araması geliştirin.

İstek kredileri
1 + 1
Gerekli izinler
geocode

Suggest ve retrieve ayrı ayrı 1 kredi. Sorgu 1–200 karakter. Token 10 dakika geçerli ve anahtar sahibine bağlıdır. Retrieve yeni arama yerine imzalı öneri anlık görüntüsünü döndürür.

POST /api/v1/search/suggest

İstek gövdesi — * işaretli alanlar zorunludur.
q *stringmaxLength: 200

POST /api/v1/search/retrieve

İstek gövdesi — * işaretli alanlar zorunludur.
token *stringmaxLength: 16384
cURL
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/search/suggest" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q":"Paris"}'
Yanıt
suggestions[].id
suggestions[].name
suggestions[].address
suggestions[].token
expires_in_seconds: 600

retrieve → place, retrieval: signed_suggestion_snapshot
cURL · retrieve
curl --fail-with-body -X POST "https://osrmroute.com/api/v1/search/retrieve" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_FROM_SUGGEST"}'

Studio API

Uygulamanızdan harita stillerini, veri kümelerini ve yayınlamayı yönetin.

İstek kredileri
0
Gerekli izinler
studio

Sınırsız anahtarlar için de açık studio izni gerekir. GET stilleri veya veri kümesi metadatasını listeler; POST yönetir. Stiller revision ve yayın onayı kullanır. Veri kümeleri oluşturulur/silinir, yerinde düzenlenmez. Anahtar başına dakikada 30 okuma veya 5 yazma; çalışma alanı kotaları geçerlidir.

GET / POST /api/v1/studio/{resource}

İstek gövdesi — * işaretli alanlar zorunludur.
action *string
idstring
revisioninteger
namestringmaxLength: 80
designobject
dataobject
confirmPublicboolean
confirmDeleteboolean
versioninteger
cURL
curl --fail-with-body "https://osrmroute.com/api/v1/studio/styles" \
  -H "Authorization: Bearer $OSRMROUTE_API_KEY"
Yanıt
GET styles → styles[]
GET datasets → datasets[]
Studio işlemleri
styles · createname, design
styles · save / autosaveid, revision, name, design
styles · duplicateid, revision, name
styles · restoreid, revision, version
styles · publishid, revision, confirmPublic: true
styles · unpublish / deleteid, revision
datasets · createname, data: GeoJSON FeatureCollection
datasets · deleteid, confirmDelete: true
POST /api/v1/studio/styles · application/json
{
  "action": "create",
  "name": "Berlin",
  "design": {
    "preset": "light",
    "colors": {
      "land": "#f1f3f5",
      "water": "#a9d8ed",
      "park": "#c9dfc6",
      "road": "#ffffff",
      "highway": "#edc779",
      "building": "#d9dee3",
      "label": "#334155"
    },
    "visible": {
      "roads": true,
      "buildings": true,
      "parks": true,
      "labels": true,
      "pois": true,
      "boundaries": true
    },
    "center": [
      13.405,
      52.52
    ],
    "zoom": 11,
    "overlays": []
  }
}
POST /api/v1/studio/datasets · application/json
{
  "action": "create",
  "name": "Paris places",
  "data": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "name": "Paris"
        },
        "geometry": {
          "type": "Point",
          "coordinates": [
            2.3522,
            48.8566
          ]
        }
      }
    ]
  }
}
Destek ekibi

OSRMRoute Destek

Ekibimize doğrudan yazın

YARDIMA HAZIRIZ

Nasıl yardımcı olabiliriz?

Entegrasyon, ödeme veya hesabınız hakkında yazın. Yanıtlarımız bu sohbette görünür.

Sohbetleriniz

Sohbetleriniz burada görünecek.