OpenVan.camp Public API
Arabayla seyahat için açık veriler: yakıt fiyatları, otoyol ücretleri, vizeler, plakalar, tatiller, tehlikeler, prizler, gümrük, döviz kurları, etkinlikler ve haberler. API anahtarı ve kayıt gerekmez — CC BY 4.0 lisansıyla uygulamalarınızda, botlarınızda ve makalelerinizde kullanın.
API anahtarı yok
Herhangi bir uç noktayı doğrudan çağırın — kayıt yok, yetkilendirme başlığı yok
%100 ücretsiz
174 ülkede yakıt fiyatları · CC BY 4.0 lisansı
CORS etkin
Doğrudan tarayıcıdan çalışır, sunucu tarafı proxy gerekmez
OpenVan.camp ile geliştirildi
Bir düzine ülkeden vanlife uygulamaları, yakıt fiyatı takipçileri, rota planlayıcılar ve EV araçları çoktan açık verilerimizle çalışıyor.
Halihazırda kullananlar
Seçilmiş örnekler — yakıt uygulamaları, rota planlayıcılar, EV ve filo panelleri.
Loglarda ChatGPT, Perplexity, Claude ve Gemini'nin OpenVan.camp verilerini çektiğini görüyoruz — entegrasyonunuzun verileri de onların yanıtlarında görünebilir.
API'mizi mi kullanıyorsunuz?
Çağrılarınıza ?source=alan-adınız ekleyin — bu vitrinde yer alın.
- API anahtarı yok. Herhangi bir uç noktayı doğrudan çağırın — kayıt yok, yetkilendirme başlığı yok.
- CORS etkin. Uç noktalar doğrudan tarayıcıdan çağrılabilir.
- Yanıt formatı: çoğu uç nokta şunu döndürür
{ "success": true, "data": {...} }. İstisnalar: döviz kurları rates alanında; hava durumu success olmadan data döndürür; rota otoyol ücretleri, roadbook, tatiller, gümrük ve tek haber zarfsız bir nesne döndürür. Hatalar ve “veri yok” durumu: Limitler, hatalar ve sürümler bölümü. - Önbellek: yakıt fiyatları 6 sa önbellekte · döviz kurları 6 saatte bir güncellenir · yanıtın HTTP önbelleği 2 dakika (Cache-Control) · en fazla 10 dakikada bir sorgulayın
- Tam OpenAPI 3.0 spesifikasyonu: /docs.openapi (YAML) · /.well-known/openapi.json (JSON) · GitHub örnekleri
- Otomatik keşif dosyaları: /llms.txt · /.well-known/openapi.json · /.well-known/api-catalog · /.well-known/agent-card.json · /.well-known/mcp/server-card.json · /.well-known/ai-plugin.json
- Atıf: şunu ekleyin:
?source=your-app.com— entegrasyonunuzu tanımlamak için; yetkilendirme gerekmez, sadece iyi bir uygulamadır.
Önerilen prompt kalıbı: "OpenVan.camp API'sini kullanarak [ülke] için [para birimi] cinsinden güncel yakıt fiyatlarını al: https://openvan.camp/api/fuel/prices"
Yapay zekâ asistanları ve MCP sunucusu
Aynı veriler etkileşimli kartlarla 30 herkese açık MCP aracı olarak da sunuluyor (sunucu sürümü 0.11.0; ayrıca yolculuk kartının kullandığı dahili get_roadbook_build_status). MCP destekli herhangi bir asistana bağlayın ya da hazır bir uygulama açın.
Uzak sunucu — Streamable HTTP, anahtarsız:
https://mcp.openvan.camp/mcp
npx ile yerel — Claude Desktop, Cursor, Windsurf ve diğer MCP istemcileri için:
{
"mcpServers": {
"openvan": {
"command": "npx",
"args": ["-y", "@openvancamp/mcp-server"]
}
}
}
Claude Code ve Codex için eklenti: bu MCP sunucusu ile yapay zekâ ajanına talimat veren iki skill. Kurulum:
# Claude Code
/plugin install openvan-camp --marketplace openvancamp/openvan-camp-public-api
# Codex
codex plugin marketplace add openvancamp/openvan-camp-public-api
# Skills only (any agent)
npx skills add openvancamp/openvan-camp-public-api
openvan-travel adlı skill, vize, yakıt ya da rota gibi bir seyahat sorusunda ajana MCP sunucusunun hangi aracını çağıracağını söyler. openvan-api adlı skill ise ajan API verilerimizle uygulama yazarken devreye girer: ajan lisans gereği verilerin yanına OpenVan.camp bağlantısını koyar, isteklere source parametresini ekler ve fiyatın ölçü birimini ve para birimini her yakıt türü için ayrı alır. skills/
Hazır uygulamalar
MCP araçları (30)
plan_road_trip— Plan a road trip by campervan or car between 2-10 places with the OpenVan.camp roadbook: distance, driving time and a day-by-day plan with overnights, budget (fuel, tolls, vignettes, ferries), and for every country on the way the entry rule for the given passports, residence permit and plates, how long you and the vehicle may stay (Schengen 90/180), road rules and city access (low-emission zones and stickers such as Umweltplakette and Crit'Air, Italian ZTL), holidays on the trip dates, safety and power plugs, plus the main warning and a checklist. Returns a link to the full roadbook the user can open, edit and share. Use this first when the user describes a trip from A to B.get_country_travel_brief— Everything to know before driving into one country by campervan or car, in one call: entry rule and how long the person and the vehicle may stay (with passport), travel weather now and this week, fuel prices, tolls and vignettes, public holidays in the next 30 days, safety advice, power plugs, customs limits and food prices. Use it when someone asks what to know about a country, the nuances or a guide for travelling there, or is preparing a trip to it; use the single-topic tools for one narrow question.get_fuel_prices— Current retail fuel prices for all API-supported countries. Covers gasoline, diesel, LPG, CNG, E85, kerosene and grade variants. Pass country_code to get one country in detail; omit it for a summary list. Use it for the price of petrol, diesel, LPG/autogas/propane or CNG in one country; without a country it gives an overview.compare_fuel_prices— Compare current prices for one fuel type across 2-10 countries. Returns sorted table cheapest-first. Use it when someone asks which of two or more named countries has cheaper or more expensive fuel.find_cheapest_fuel— Rank countries by the price of a fuel type in a region (or worldwide): the cheapest first, or with order=most_expensive the most expensive first. Useful for route planning. Use it for «where is fuel cheapest» and, with order=most_expensive, «where is fuel the most expensive», in a region or worldwide.get_country_travel_weather— How suitable the weather in a whole country is for travelling and sleeping in a campervan, as a 0-100 score: overall travel score, sleep score, solar panel yield, driving conditions, awning safety, condensation risk, a 7-day forecast, and the 3 best and 3 toughest cities for the coming week. Country-level: for a named city use get_city_travel_weather. Use it when someone asks what the weather is like in a country, where in a country it is warmer, colder or sunnier, which of its cities are best or worst this week, or whether it is too cold or rainy to sleep in a van there now.get_city_travel_weather— How suitable the weather in one city or town is for travelling and sleeping in a campervan, as a 0-100 score for today and for the coming 7 days, with the city's place among the cities of its country this week, comfortable days, the best stretch and the worst day, a 7-day forecast with day and night temperature and rain, today's score breakdown (thermal, sunshine, precipitation, wind), sleep, driving and solar scores and ready-made advice. Use this, not get_country_travel_weather, when the user names a place (Barcelona, Málaga, Alicante). Use it for the weather in one named city, town or place today, tomorrow or this week.get_city_climate— What the weather is usually like in a city or at any point on a given day of the year, from the ERA5 climate archive 2021–2025 (median of 35 archive days: the date ±3 days over five years): day and night temperature, on how many of the 35 days there was precipitation, the usual sky, sea or large-lake water temperature, solar radiation for panels and the VanSky climate index; plus all 12 months and the best month to travel. Climate, not a forecast. Use it for dates beyond the coming week ("weather in Batumi in mid-September", "is the sea warm in Antalya in May") and for "when is the best time to go"; for today and this week use get_city_travel_weather. Omit date to get the month overview.list_best_weather_countries— List the N countries where the weather is best for travelling by campervan, highest 0-100 travel score first: today's score by default, or with period=week the score of the coming 7 days (the ranking used on OpenVan.camp). Use it when no country is named and someone asks where to go for warm or good weather right now — worldwide or in a region (region=europe…); with sort=warmest only when they literally ask where it is warmest or hottest (it ranks by temperature alone, so deserts come first; «warm and pleasant», «warm and dry» → the default score). These are today's conditions and the coming days, not a forecast for a later month: for «in November» say so.list_events— List vanlife events: expos (Caravan Salon), festivals, meetups, forums, road trips. Filter by status, type, country, or free-text search.get_event— Get full details for a single vanlife event by its slug.search_stories— Search recent news about campervans, motorhomes and road travel collected by OpenVan.camp from public news sources. Returns for each story only a headline, a short summary of up to 300 characters, date, category, countries and a link to the story page on openvan.camp, which credits the original publishers. Never returns full article text. Filter by words in the headline, category, country and language.compare_food_prices— Compare food price index between two countries (world average = 100). Higher number = more expensive food. Use it when someone asks where food is cheaper between two countries.get_country_food_prices— Food price index for one country (world average = 100): how expensive groceries are there, with its yearly history. Use it when someone asks how expensive food, groceries or living is in a country.rank_food_prices— Rank countries by food price index (world average = 100) in a region or worldwide: the cheapest first, or with order=most_expensive the most expensive first. Use it when someone asks where food or groceries are cheapest or most expensive.get_currency_rate— Convert an amount between two currencies using live rates (150+ currencies, daily updates). Use it for exchange rates and converting an amount between currencies.check_visa_rules— Entry rules for one passport and destination: entry mode, allowed length of stay, how the days are counted (per entry or in a rolling window), whether a visa run resets the counter, and temporary vehicle import. Answers carry a confidence level and source — pass those on instead of stating a rule as certain.get_route_visa_rules— Visa rules for every country of a route in one call, for up to 10 passports at once, plus the tightest leg of the route.get_vehicle_import_rules— Temporary admission rules for a foreign-plated vehicle in one country: allowed days, per entry or per window, carnet requirement, green card. A country without a rule we can stand behind returns nothing rather than a guess.get_toll_rates— Toll reference for one country: payment system, per-km rates by vehicle class (car, campervan up to 3.5 t, over 3.5 t), vignette prices for every duration, concession sections and toll bridges/tunnels, each with verification date and source. Use it for toll roads, motorway fees, whether a vignette is needed and what it costs in one country.estimate_route_tolls— Estimate toll cost for a road trip from 2-10 place names: per-km tolls, vignettes, bridges and tunnels, as a EUR range with a per-country breakdown. Flags partial results when a country on the route has no data. Use it only for the toll cost between named places when no other trip details are asked; for a whole trip use plan_road_trip.get_holidays— Public holidays, school holidays (often regional, with ISO 3166-2 region codes) and official peak traffic days (France, Bison Futé) in one country for a period of up to 400 days. A country without data returns an error saying so — never present that as "no holidays". Use it for public holidays, days off, school holidays and peak traffic days.get_travel_hazards— Situation now in one country: UK FCDO travel advice level and current GDACS natural disasters (flood, earthquake, tropical cyclone, wildfire, drought, volcano) with alert level green/orange/red. Not a forecast. Use it when someone asks whether it is safe to go to a country now, about travel warnings or natural disasters.get_active_fires— NASA FIRMS VIIRS satellite fire detections of the last 48 hours in a bounding box up to 10°×10°, strongest first, with fire radiative power in MW. Use it for wildfires right now near a place or in a country: bbox is west,south,east,north in degrees — longitude first (Portugal ≈ -9.6,36.9,-6.1,42.2).get_power_plugs— Plug types (IEC A–N), mains voltage and frequency for one country, with the source of the value, plus the campsite hook-up connector in Europe (CEE17). Use it for socket and plug types, adapters, mains voltage and campsite hook-ups.get_customs_rules— Customs rules when driving into a country, optionally from a given country: food bans, cash declaration, alcohol and tobacco limits, goods value, fuel in a canister. Each rule carries a verbatim official quote and source link. A country without data returns an error saying so — never present that as "nothing is restricted". Use it for what you may bring in by car: alcohol, tobacco, cash, meat and other food, goods limits.list_license_plate_countries— Countries whose license plates are available: international code, number of regions and an example plate.get_license_plate_country— How a country's license plate looks and reads (standard, size, format), its plate types (standard, diplomatic, police, taxi…) with example numbers, and every region code on its plates, grouped by region — e.g. which region is 77 or 199 on Russian plates. Use it for what a plate region code means (77, 777, AA…) and a country's plate format.check_license_plate— Validate a plate number against the country's format (look-alike letters are normalized) and say which region its code belongs to. Pass type to check against a specific plate type's format. Never identifies the owner or the vehicle's location. Use it to check a specific plate number.get_license_plate_image— Draw an illustrative image of a country's standard civilian license plate (PNG shown inline, plus SVG/PNG links). The number must match the country's standard format. Official, police, military and diplomatic plates are not drawn. Use it to draw or show a picture of a plate.
Sunucu kartı: /.well-known/mcp/server-card.json
· npm: @openvancamp/mcp-server
npm paketi uzak sunucunun birkaç sürüm gerisinde kalabilir; uzak adres her zaman en günceldir.
Mevcut Uç Noktalar
/api/fuel/prices
174 ülke
174 ülke için güncel yakıt fiyatları. Fiyat anahtarları listesi güncel API sözleşmesinden üretilir. Resmi devlet kaynaklarından haftalık güncellenir (EU Oil Bulletin, Statistics Norway, EIA, ANP, NRCan ve diğerleri). 6 saat önbellek. Yakıt verileri son güncelleme: 26 Ekim 2026.
Fiyat anahtarları:
gasoline_regular, gasoline, gasoline_premium, gasoline_super, diesel_regular, diesel, diesel_premium, lpg, cng, e85, kerosene, premium
Birim ve para birimi yakıt türüne göredir: units[tür] ve currencies[tür], ülkenin unit ve currency alanlarından önceliklidir. Örneğin Kolombiya galon başına fiyat verir, Venezuela’da benzin bolívar cinsindendir.
curl https://openvan.camp/api/fuel/prices
Örnek yanıt:
{
"success": true,
"data": {
"DE": {
"country_code": "DE",
"country_name": "Germany",
"region": "europe",
"currency": "EUR",
"local_currency": "EUR",
"unit": "liter",
"units": {
"diesel": "liter",
"diesel_premium": "liter",
"gasoline": "liter",
"gasoline_premium": "liter",
"lpg": "liter",
"premium": "liter"
},
"currencies": {
"diesel": "EUR",
"diesel_premium": "EUR",
"gasoline": "EUR",
"gasoline_premium": "EUR",
"lpg": "EUR",
"premium": "EUR"
},
"prices": {
"gasoline_regular": null,
"gasoline": 2.1425,
"gasoline_premium": 2.24,
"gasoline_super": null,
"diesel_regular": null,
"diesel": 2.2677,
"diesel_premium": 2.469,
"lpg": 1.095,
"cng": null,
"e85": null,
"kerosene": null,
"premium": 2.24
},
"price_changes": {
"gasoline_regular": null,
"gasoline": -0.0255,
"gasoline_premium": -0.018,
"gasoline_super": null,
"diesel_regular": null,
"diesel": 0.0038,
"diesel_premium": -0.058,
"lpg": -0.0383,
"cng": null,
"e85": null,
"kerosene": null,
"premium": null
},
"fetched_at": "2026-10-26T06:04:22+03:00",
"sources": [
"EU Weekly Oil Bulletin",
"clever-tanken.de (Premium Diesel)",
"Tankerkoenig (tankerkoenig.de)",
"Fuelo.net",
"Cargopedia.net",
"BenzinpreisAktuell.de"
],
"sources_count": 3,
"is_excluded": false
}
},
"meta": {
"total_countries": 174,
"updated_at": "2026-10-26 06:04:23",
"cache_ttl_hours": 6
}
}
/api/currency/rates
150+ para birimi
150’den fazla para biriminin EUR’ya göre kurları (EUR = 1), birden çok açık kaynaktan, arızada otomatik geçişle. 6 saatte bir güncellenir: zamanı meta.updated_at alanındadır; 25 saatten eski kur bayat sayılır.
curl https://openvan.camp/api/currency/rates
Gerçek API yanıtı (152 para biriminden birkaçı):
{
"success": true,
"rates": {
"EUR": 1,
"GBP": 0.83650983,
"GEL": 2.8875,
"KZT": 507.80379551,
"RUB": 90.166,
"TRY": 55.5241,
"USD": 1.11219528,
"…": "…"
},
"meta": {
"count": 152,
"base": "EUR",
"updated_at": "2026-10-29T06:05:23+03:00",
"refreshed_every_hours": 6,
"max_age_seconds": 90000
}
}
/api/vanbasket/countries
90+ ülke
VanBasket Food Price Index — gıdanın dünya ortalamasına göre ne kadar pahalı olduğu (Dünya = 100). World Bank ICP 2021 temelli, IMF CPI ile düzeltilmiş.
# All countries
curl https://openvan.camp/api/vanbasket/countries
# Compare two countries
curl "https://openvan.camp/api/vanbasket/compare?from=DE&to=TR"
# Single country with history
curl https://openvan.camp/api/vanbasket/countries/DE
/api/visa/check
39.601 çift
Vize ve sınır kuralları: her pasaport × ülke çifti için ne kadar kalabileceğiniz, günlerin nasıl sayıldığı (her girişte mi, kayan pencerede mi), vize runun sayacı sıfırlayıp sıfırlamadığı — ayrıca geçici araç ithalat kuralları. Her yanıt güven düzeyini, kaynağını ve hangi katmandan geldiğini taşır.
# One pair: stay rule, entry mode, shared-counter zone, vehicle rule
curl "https://openvan.camp/api/visa/check?passport=RU&destination=TR"
# All 199 destinations for one passport
curl "https://openvan.camp/api/visa/passport/DE?mode=visa_free"
# Several countries and passports at once: the tightest leg of a route
curl "https://openvan.camp/api/visa/route?t=GE,AM,TR&p=RU,DE"
# Compact payload for colouring a world map
curl https://openvan.camp/api/visa/map/US
# Temporary vehicle import rules (country slug, e.g. georgia)
curl https://openvan.camp/api/visa/vehicle/georgia
# Passport ranking and the change log
curl "https://openvan.camp/api/visa/rank?limit=10"
curl "https://openvan.camp/api/visa/history?subject_key=RU%3ETR"
/api/plates
Plakalar
Dünya araç plakaları: format, bölge kodları ve hazır plaka görseli. SVG/PNG, sitedekiyle aynı motorla çizilir — plaka yazı tipi içinde kontur olarak gelir, hiçbir şey kurmanız gerekmez: bir <img src> yeterli. Ayrıca harf normalleştirmeli doğrulama, rastgele plaka ve tarayıcıda çizim için motor.
# Ready plate image — put it into <img src> (PNG: plate.png?width=800)
curl "https://openvan.camp/api/plates/ru/plate.svg?number=A123BC®ion=77"
# Countries, then one country: format, regions, codes, browser engine
curl https://openvan.camp/api/plates
curl "https://openvan.camp/api/plates/ru?locale=en"
# Validate a number and resolve its region; random plate
curl "https://openvan.camp/api/plates/ru/validate?number=A123BC®ion=799"
curl https://openvan.camp/api/plates/ru/random
/api/tolls
Rota maliyeti
Ülkelere göre ücretli yollar — otomobil, 3,5 tona kadar karavan ve daha ağır araçlar için kilometre başı ücretler, vinyetler, ücretli köprü ve tüneller, her biri kontrol tarihi ve kaynağıyla — ve yer adlarından tüm rotanın maliyeti: geçiş ücretleri euro cinsinden aralık olarak, yakıt ise yol üzerindeki her ülkenin fiyatıyla.
# Tolls for a route of 2–10 place names: car | van (up to 3.5 t, default) | heavy
curl "https://openvan.camp/api/tolls/route?waypoints=Munich|Venice&vehicle_class=van"
# Toll reference: all countries, then one country with vignettes, bridges and tunnels
curl https://openvan.camp/api/tolls/countries
curl https://openvan.camp/api/tolls/countries/FR
# Fuel cost for the same kind of route, at the prices of every country on the way
curl -X POST https://openvan.camp/api/route-cost \
-H "Content-Type: application/json" \
-d '{"waypoints":["Berlin","Prague"],"cons":10,"fuel":"diesel"}'
waypoints
vehicle_class
cons
tank
fuel
currency
locale
Roadbook’ta nasıl göründüğüne bakın
Tam dokümantasyon
/api/roadbook/from-places
Tüm yolculuk
2–10 yer adından OpenVan.camp yol kitabı — yol kitabı sihirbazındaki planın aynısı: sürüş günleri ve konaklamalar, yakıt, geçiş ücreti, vinyet ve feribot bütçesi ve yol üzerindeki her ülke için verilen pasaport ve plakalara göre kişi ve araç giriş kuralları, tatiller, güvenlik ve elektrik. Yanıt paylaşılabilir bir yol kitabı sayfasıdır; aynı istek aynı yol kitabını döndürür.
# Roadbook for 2–10 place names: places and locale are required, everything else goes into "inputs"
curl -X POST https://openvan.camp/api/roadbook/from-places \
-H "Content-Type: application/json" \
-d '{"places":["Munich","Venice"],"locale":"en","inputs":{"travelers":["DE"],"plates":"DE","cons":10,"fuel":"diesel"}}'
# → { "code": "wqhk8", "status": "building", "url": "/en/roadbook/wqhk8-munich-venice", ... }
# While status is not "ready", poll it (returns only status and progress)
curl https://openvan.camp/api/roadbook/wqhk8/status
# → { "status": "ready", "error": null, "progress": ... } then open https://openvan.camp + url
places
locale
name
travelers
plates
weight
fuel
cons
date
currency
Roadbook’ta nasıl göründüğüne bakın
Tam dokümantasyon
/api/holidays/countries/{code}
Tatiller
Resmi tatiller, okul tatilleri (çoğu zaman bölgesel, ISO 3166-2 kodlarıyla) ve 400 güne kadar bir dönem için resmi yoğun trafik günleri — yolların, kampların ve feribotların ne zaman dolduğunu bilmek için.
# School holidays in Germany in December (kind = public | school | traffic)
curl "https://openvan.camp/api/holidays/countries/DE?from=2026-12-01&to=2026-12-31&kind=school"
# Countries and the kinds of data each has
curl https://openvan.camp/api/holidays/countries
/api/hazards/countries/{code}
Tehlikeler
Bir ülkedeki güncel durum: İngiltere Dışişleri Bakanlığı (FCDO) seyahat uyarı seviyesi ve uyarı seviyesiyle birlikte GDACS’in güncel doğal afetleri, ayrıca belirli bir alanda son 48 saatte NASA FIRMS uydularının tespit ettiği yangınlar. Tahmin değildir.
# FCDO advice level + current GDACS disasters
curl https://openvan.camp/api/hazards/countries/TR
# Active fires of the last 48 h, bbox = west,south,east,north (up to 10°×10°)
curl "https://openvan.camp/api/hazards/fires?bbox=29,36,33,38"
/api/electricity/countries/{code}
Prizler
Her ülke için priz tipleri (IEC A–N), şebeke gerilimi ve frekansı, değerin kaynağıyla birlikte; ayrıca Avrupa kamp alanlarındaki elektrik bağlantısı (CEE17).
curl https://openvan.camp/api/electricity/countries/GB
curl https://openvan.camp/api/electricity/countries
/api/customs/countries/{code}
Gümrük
Arabayla neler getirebileceğiniz: gıda yasakları, nakit beyanı, alkol ve tütün limitleri, gümrüksüz değer, bidonda yakıt. İsteğe bağlı olarak geldiğiniz ülkeye göre — AB içinde gümrük yoktur. Her kural resmi kaynaktan birebir alıntı ve bağlantı içerir.
# Entering Norway from Germany: cash, alcohol, tobacco, food
curl "https://openvan.camp/api/customs/countries/NO?from=DE"
# Jurisdictions and blocs (EU, EAEU)
curl https://openvan.camp/api/customs/countries
/api/vansky/weather/{code}/{city}
0–100
VanSky endeksi, hava durumunun karavanla yolculuğa ne kadar uygun olduğunu 0–100 arasında puanlar. 100 çok iyi anlamına gelir. Endeks, bir ülke ve bir şehir için bugünün ve önümüzdeki 7 günün değeri olarak hesaplanır. Değer, openvan.camp sayfasındaki "bugün" rakamıyla aynıdır. Şehir için API şu verileri döndürür: şehrin ülkedeki şehirler arasındaki sırası (haftalık endekse göre: 7 günün ortalaması, günler dengesizse düşürülür), endeksin bileşenleriyle birlikte günlük tahmin, ayrı puanlar (gece konaklaması, sürüş, güneş panelleri, deniz), hava kalitesi ve metin olarak yazılmış hazır öneriler. Ülkenin şehirlerini sıralı görmek için /api/vansky/weather/{code}/cities adresini kullanın. Ülke sıralaması /api/vansky/ranking adresindedir. Endeksin formülü ve ağırlıkları /api/vansky/methodology adresindedir. {code} yerine iki harfli ISO 3166-1 alpha-2 ülke kodunu yazın. Şehir, sayfa adresinin sonundaki Latin harfli slug ile belirtilir. openvan.camp/ru/vansky/georgia/batumi adresinde slug batumi olur. Slug değerini /api/vansky/search?q=Batumi isteğiyle bulabilirsiniz. q yerine şehrin adını yazın.
# One country: score, forecast, best and worst cities for the week
curl https://openvan.camp/api/vansky/weather/PT
# Find a city slug: the last part of "url" (…/vansky/portugal/lisbon → lisbon)
curl "https://openvan.camp/api/vansky/search?q=Lisbon"
# One city, as on its page: today, week, place in the country, score breakdown per day
curl "https://openvan.camp/api/vansky/weather/PT/lisbon?include=hourly"
# Rankings: cities of a country for the coming week, countries of a region
curl "https://openvan.camp/api/vansky/weather/PT/cities?limit=10"
curl "https://openvan.camp/api/vansky/ranking?region=europe&limit=10"
# How the score is calculated (curves, weights, adjustments) — recompute it yourself
curl https://openvan.camp/api/vansky/methodology
/api/vansky/climate
2021–2025
Seçtiğiniz günde herhangi bir koordinatın ya da bir VanSky şehrinin tipik hava durumunu verir. Değerler 35 arşiv gününün medyanıdır. Bu günler, ERA5 arşivinde (Copernicus hizmetinin yeniden hesaplanmış gözlemleri) 2021–2025 yıllarında seçilen tarih ile ona ±3 gün uzaklıktaki günlerdir. Yanıtta o tarih için gündüz en yüksek ve gece en düşük sıcaklık, 35 günün kaçında ≥1,5 mm yağış (yağmur veya kar) düştüğü ve en sık görülen gökyüzü durumu (clear, cloudy, overcast) yer alır. Ayrıca ~50 km çevresindeki deniz ya da büyük göl sıcaklığı (suya uzak yerlerde bu değer yoktur), güneş paneli hesabı için kWh/m² cinsinden güneş ışınımı ve 0–100 arası VanSky konfor indeksi (değer yükseldikçe konfor artar) verilir. 12 ayın her biri için ortalama açık, bulutlu, kapalı ve yağışlı gün sayısı ile indekse göre en iyi ay da döner. İstekte lat ve lng (enlem ve boylam) ya da ülkenin ISO kodu ile şehrin slug değeri gönderilir. date parametresi MM-DD biçimindedir ve isteğe bağlıdır. Boş bırakılırsa 366 günün tamamı döner.
# Any point: what the weather is usually like on 18 September
curl "https://openvan.camp/api/vansky/climate?lat=41.64&lng=41.63&date=09-18"
# A VanSky city, all 366 days + 12 months + best month
curl https://openvan.camp/api/vansky/climate/GE/batumi
/api/events
vanlife etkinlikleri
Sayfalı vanlife etkinlik listesi — fuarlar, festivaller, buluşmalar, yol gezileri. Durum, tür, ülkeye göre filtreleyin. 7 dilde yerelleştirilmiş isimler.
# Upcoming events in Germany
curl "https://openvan.camp/api/events?country=DE&status=upcoming"
# Search by name, Russian locale
curl "https://openvan.camp/api/events?search=Adventure+Northside&locale=ru"
# Event details + linked source articles
curl "https://openvan.camp/api/event/adventure-northside-2026?locale=en"
curl "https://openvan.camp/api/event/adventure-northside-2026/articles?locale=en"
en ru de fr es pt tr. Varsayılan: en. Bilinmeyen yerel ayar sessizce şununla değiştirilir: en.
articles yedeği: istenen yerel ayarla eşleşen makale yoksa tüm kaynak makaleler döndürülür.
/api/stories
7 dil
200+ yayıncıdan toplanan ve 7 dile çevrilen vanlife haberleri. Her haber şunu içerir: sources — doğrudan bağlantılar, kaynak adları, yayın tarihleri ve dil kodlarıyla yayıncıların orijinal makaleleri.
Haberlerde anlamsal arama (q, en fazla 15 sonuç) ve hazır akşam özeti (ru, en).
# Latest stories in English
curl "https://openvan.camp/api/stories?locale=en"
# Filter by category and country
curl "https://openvan.camp/api/stories?locale=de&category=festival&country=DE"
# Full story with all source articles
curl "https://openvan.camp/api/story/adac-camper-des-jahres-der-wettbewerb-fuer?locale=en"
# Semantic search over the news (1–15 results)
curl "https://openvan.camp/api/news/search?q=campervan+rules+Europe&locale=en&limit=5"
# Ready evening digest (ru or en)
curl "https://openvan.camp/api/news/digest?locale=en"
/api/story/{slug} için örnek yanıt:
{
"slug": "adac-camper-des-jahres-der-wettbewerb-fuer",
"title": "ADAC launches 'Camper of the Year' competition for motorhome drivers",
"summary": "ADAC is holding the national 'Camper des Jahres 2026' competition for motorhome owners...",
"image_url": "https://...",
"category": { "slug": "festival", "name": "Festivals" },
"countries": [{ "code": "de", "name": "Germany", "flag_emoji": "🇩🇪" }],
"first_published_at": "2026-01-22T11:00:00+03:00",
"last_updated_at": "2026-07-04T04:16:47+03:00",
"articles_count": 5,
"url": "https://openvan.camp/en/news/festival/adac-camper-des-jahres-der-wettbewerb-fuer",
"sources": [
{
"title": "Nürburgring: Bundesweiter Wettbewerb «Camper des Jahres»",
"original_url": "https://www.blick-aktuell.de/Berichte/...",
"source_name": "BLICK aktuell",
"published_at": "2026-04-30T09:24:20+03:00",
"language": "de",
"image_url": "https://..."
}
]
}
en ru de fr es pt tr. Varsayılan: en. Şunları etkiler: title, summary, ve category.name.
sources[].language her zaman yayıncının orijinal dilidir, yerel ayardan bağımsızdır.
Hızlı Başlangıç
JavaScript — Avrupa'nın en ucuz dizeli
const { data } = await fetch("https://openvan.camp/api/fuel/prices").then(r => r.json());
const cheapest = Object.values(data)
.filter(c => c.region === "europe" && c.prices.diesel !== null)
.sort((a, b) => a.prices.diesel - b.prices.diesel)
.slice(0, 5);
cheapest.forEach(c => console.log(`${c.country_name}: ${c.prices.diesel} ${c.currency}/L`));
JavaScript — döviz kurlarıyla USD'ye dönüştürme
const [{ data }, { rates }] = await Promise.all([
fetch("https://openvan.camp/api/fuel/prices").then(r => r.json()),
fetch("https://openvan.camp/api/currency/rates").then(r => r.json()),
]);
// Convert any price to USD/liter
// unit: "liter" | "gallon" (US, 3.78541 L) | "imperial_gallon" (4.54609 L)
const LITERS_PER_UNIT = { liter: 1, gallon: 3.78541, imperial_gallon: 4.54609 };
// Unit and currency are per grade: units[grade] / currencies[grade] win over unit / currency
function toUSD(country, grade) {
const currency = country.currencies?.[grade] ?? country.currency;
const unit = country.units?.[grade] ?? country.unit;
const usd = (country.prices[grade] / rates[currency]) * rates["USD"];
return usd / (LITERS_PER_UNIT[unit] || 1);
}
console.log(`Germany diesel: $${toUSD(data["DE"], "diesel").toFixed(3)}/L`);
Python — LPG olan ülkeler
import requests
data = requests.get("https://openvan.camp/api/fuel/prices").json()["data"]
lpg = [(v["country_name"], v["prices"]["lpg"], v["currency"])
for v in data.values() if v["prices"]["lpg"] is not None]
for name, price, currency in sorted(lpg, key=lambda x: x[1])[:10]:
print(f"{name}: {price} {currency}/L")
Daha fazla örnek (bash, pandas, widget): GitHub →
JavaScript / TypeScript SDK
Resmi tipli SDK — yapılandırma gerektirmez, Node.js ≥ 18, tarayıcı, Cloudflare Workers, Deno, Bun üzerinde çalışır. API anahtarı gerekmez.
Kurulum
npm install @openvancamp/sdk
# or: pnpm add @openvancamp/sdk
Hızlı başlangıç (TypeScript / ESM)
import { OpenVan } from "@openvancamp/sdk";
const ov = new OpenVan();
// Cheapest diesel in Europe (top 5, EUR-normalized)
const top5 = await ov.fuel.cheapest("diesel", 5);
top5.forEach(c => console.log(c.country_name, c.prices.diesel, c.currency));
// Is Portugal cheaper than Germany for van living?
const comp = await ov.basket.compare("DE", "PT");
console.log(`Portugal is ${Math.abs(comp.diff_percent)}% cheaper`);
// Vanlife weather suitability — top 10 countries right now
const weather = await ov.weather.top({ limit: 10 });
// Tolls and visa rules for a road trip
const tolls = await ov.tolls.route(["Munich", "Venice"], "van");
const visa = await ov.visa.check("RU", "TR");
// Holidays, hazards, plugs and customs for the next country
const traffic = await ov.holidays.country("FR", { kind: "traffic" });
const hazards = await ov.hazards.country("TR");
const plugs = await ov.electricity.country("GB");
const customs = await ov.customs.country("NO", { from: "DE" });
Python SDK
Bağımlılıksız, Python 3.9+, API anahtarı gerekmez.
pip install openvan
from openvan import OpenVan
ov = OpenVan(source="myapp.com") # source is optional: it lets us see and credit your project
for c in ov.fuel.cheapest("diesel", 5):
print(c["country_name"], c["prices"]["diesel"], c["currency"])
print(ov.visa.check("RU", "TR")["data"])
print(ov.tolls.route(["Rome", "Paris"], vehicle_class="van"))
Limitler, hatalar ve sürümler
İstek limitleri
IP başına sayılır: tüm API için dakikada 120 istek; ağır isteklerin limiti daha düşüktür — tablo gerçek değerleri gösterir. Kalan miktar X-RateLimit-Limit ve X-RateLimit-Remaining başlıklarında. Aşılırsa HTTP 429 ve Retry-After başlığı gelir — o kadar saniye bekleyip tekrar deneyin.
| İstek | Dakikada |
|---|---|
| Tüm API | 120 |
| POST /api/route-cost | 30 |
| GET /api/tolls/route | 10 |
| GET /api/hazards/fires | 15 |
| GET /api/plates/{code}/plate.svg · plate.png · random | 30 |
| POST /api/roadbook/from-places | 10 |
| GET /api/roadbook/{code}/status | 240 |
Hatalar
Hata HTTP 4xx/5xx’tir. Gövde üç biçimde gelir: { "success": false, "error": "…" } ya da { "error": "…", "message": "…" }; roadbook doğrulama hatası { "error": "validation", "fields": [ … ] }; limit aşımı ve bilinmeyen adres { "message": "…" } döndürür. Yalnızca gövdeyi değil HTTP durumunu da kontrol edin.
# 422 — invalid parameters
{ "success": false, "error": "Parameters \"passport\" and \"destination\" are required." }
# 404 — no data for this object
{ "error": "not_found", "message": "No toll data for this country" }
# 422 — roadbook validation
{ "error": "validation", "fields": ["locale"] }
# 404 — country known to the API, but no data: "we don't know", not "nothing applies"
{ "country_code": "ZZ", "covered": false, "items": [] }
# 429 — rate limit (wait Retry-After seconds)
{ "message": "Too Many Attempts." }
Veri yok, “hiçbir şey yok” demek değildir
Tatiller ve gümrük 404 ve covered: false döndürür (ülke alanları yine de vardır); otoyol rehberi ve hava durumu error alanıyla 404 döndürür. Veri yokken kullanıcıya “tatil yok”, “yol ücretsiz” ya da “yasak yok” demeyin.
Sürümler
API sürümü 1.9.0 (OpenAPI belirtimi), MCP sunucusu 0.11.0. Her değişiklik GitHub’daki değişiklik günlüğünde yayımlanır. Değişiklik günlüğü
Destek
Sorular ve hatalar — GitHub Issues ya da hello@openvan.camp. Veri kullanımı CC BY 4.0 kapsamında; site koşulları Koşullar sayfasında. GitHub Issues · /terms · /privacy
Atıf
CC BY 4.0 lisansı gereği atıf zorunludur: verilerimizi gösterdiğiniz her yerde (site, uygulama, bot, makale) yanına OpenVan.camp'e görünür bir bağlantı koyun. Kodunuzu bir yapay zekâ ajanı yazıyorsa, bu bağlantıyı korumasını isteyin. Hazır kod parçası:
Tatiller OpenHolidays API (ODbL) ve Nager.Date (MIT) kaynaklıdır: tatilleri gösterirken bu kaynakları da belirtin — yanıttaki upstream alanında listelenirler.
Data: <a href="https://openvan.camp/">OpenVan.camp</a> (CC BY 4.0)
Uygulamanızı tanımlayın — ekleyin: ?source=yoursite.com
Şunu geçirin: source alan adınız veya uygulama adınızla birlikte sorgu parametresi olarak. Kayıt gerekmez — verilerin nasıl kullanıldığını anlamamıza ve aktif projeleri takdir etmemize yardımcı olur. Değer her yanıtta şu alanda döndürülür: _attribution.your_source.
curl "https://openvan.camp/api/fuel/prices?source=myapp.com"
# Response includes:
# "_attribution": {
# "data_source": "openvan.camp",
# "license": "CC BY 4.0",
# "required": true,
# "attribution_url": "https://openvan.camp/",
# "attribution_html": "Data: <a href=\"https://openvan.camp/\">OpenVan.camp</a> (CC BY 4.0)",
# "instructions": "Attribution is required by the CC BY 4.0 license. ...",
# "your_source": "myapp.com"
# }