Openvan Travel

io.github.KopaevPublished by GitHub account Kopaevv0.9.3Updated Oct 27, 2026

Vanlife & RV data: roadbooks, fuel, tolls, visas, holidays, hazards, weather, currency. openvan.camp

The publisher's own server: travel.art

VerifiedStreamable HTTPWeb executableLocation & LifestyleWeb Search & ScrapingFinance

Overview

AI-generated overview

Read-only vanlife and RV travel data server: fuel prices, tolls, visas, weather, hazards, events and news for trip planning.

What you can do
  • Plan whole road trips: build a day-by-day roadbook with budget, entry and vehicle rules
  • Look up country travel data: fuel prices, tolls, holidays, customs, power plugs, hazards and fires
  • Check entry rules: visa and temporary vehicle import rules for passports and routes
  • Compare costs: currency rates and a food price index between countries
  • Check weather: vanlife suitability scores, rankings and typical climate by place and date
  • Browse vanlife events and aggregated news stories, plus license plate formats
When to use it
Useful when an assistant helps plan or budget a camper, van or RV trip across countries, or answers questions about fuel costs, tolls, visas, customs, weather suitability and vanlife events and news.
Requirements
Remote MCP endpoint at mcp.openvan.camp; no authentication, API key or registration. A local npm package is also offered for desktop clients. Network access to the service is required.
Before you install
Read-only data, but attribution to OpenVan.camp under CC BY 4.0 is required wherever the data is displayed. Rate limits apply (120 requests per minute per IP, 10 roadbooks per minute), and caching is requested. Hazard data reflects current conditions, not forecasts, and missing country data returns an error rather than meaning nothing applies.

Installation

In SourceWeft

  1. Open Openvan Travel in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Kopaev%2Fopenvan-travel/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "openvan-travel": {
      "type": "http",
      "url": "https://mcp.openvan.camp/mcp"
    }
  }
}

README

OpenVan.camp Public API

[OpenVan.camp — free road-trip data API for every country]

[MCP server on npm] [SDK on npm] [npm downloads] [Data: CC BY 4.0] [CI] [Published packages work] [OpenVan.camp MCP server on Glama]

Free, no-auth API for vanlife data: fuel prices, route fuel cost, toll roads, holidays and peak traffic days, travel hazards, ferry and river crossings with operator sites and timetables, power plugs, customs rules, currency rates, food cost index, weather suitability scores, visa and vehicle-import rules, vanlife events, news stories, and license plates of the world — all in one place, no registration required.

Base URL: https://openvan.camp
Auth: None required
CORS: Enabled
License: data is CC BY 4.0; code in this repository (SDK, MCP server, examples) is MIT Attribution required: show Data: <a href="https://openvan.camp/">OpenVan.camp</a> wherever you display the data — see Attribution

JavaScript/TypeScript SDK: @openvancamp/sdk — npm install @openvancamp/sdk. Zero-config, typed, Node.js / browser / edge. SDK docs →

Python SDK: openvan — pip install openvan. No dependencies, Python 3.9+, works with pandas. Python docs →

Daily CSV snapshots: openvancamp/openvan-travel-data — fuel prices, exchange rates, food cost index and weather scores as CSV/JSON, one commit a day, with history.

MCP Server (for AI agents): mcp-server/ — 32 read-only tools with interactive cards in Claude and ChatGPT (incl. plan_road_trip — a whole-trip roadbook), hosted at https://mcp.openvan.camp/mcp, or locally npx -y @openvancamp/mcp-server for Claude Desktop / Cursor / Windsurf. Install docs → · AI agents guide →

Gemini CLI extension: install this repository with gemini extensions install https://github.com/openvancamp/openvan-camp-public-api. The root gemini-extension.json connects Gemini CLI directly to the hosted OpenVan.camp MCP server; no API key is required.

Plugin for coding agents (Claude Code, Codex): the hosted MCP server plus two agent skills — openvan-travel answers trip questions with the right tools, openvan-api writes code on this API with attribution, per-grade fuel units and caching done right. Claude Code: /plugin install openvan-camp --marketplace openvancamp/openvan-camp-public-api (or /plugin marketplace add openvancamp/openvan-camp-public-api, then /plugin install openvan-camp@openvan-camp). Codex: codex plugin marketplace add openvancamp/openvan-camp-public-api, then install OpenVan.camp from the Plugins Directory. Skills only, for any agent: npx skills add openvancamp/openvan-camp-public-api.

In your AI assistant, no code: Claude connector · ChatGPT app · Telegram bot @OpenVanCampBot — the same data as interactive cards in the chat. How to connect →


What is authoritative

ResourcePurpose
This READMEQuick overview and code examples
/docsInteractive documentation with "Try it out"
/docs.openapiFull OpenAPI 3.0 contract (always up to date)
/docs.postmanPostman collection

The OpenAPI spec at /docs.openapi is generated from the live codebase and is the authoritative contract. Numbers in this README (country counts, story totals) are approximate and updated periodically — check /api/fuel/prices meta or /api/stories pagination for current totals.


Endpoints

EndpointDescriptionCoverage
GET /api/fuel/pricesRetail fuel prices (gasoline, diesel, LPG, E85)170+ countries
POST /api/route-costFuel cost for a route of 2–10 waypoints, per-country prices—
POST /api/roadbook/from-placesWhole-trip roadbook from 2–10 place names: day-by-day plan, budget, per-country entry and vehicle rules; returns a shareable page—
GET /api/roadbook/{code}/statusBuild status of a roadbook (poll until ready)—
GET /api/tolls/countriesToll roads by country: payment system, per-km rates by vehicle class, vignettes80+ countries
GET /api/tolls/routeToll cost for a route of 2–10 place names (car, van, heavy), EUR range—
GET /api/holidays/countries/{code}?from=&to=Public holidays, school holidays (regional) and peak traffic days210+ countries
GET /api/hazards/countries/{code}UK FCDO travel advice level and current GDACS natural disasters—
GET /api/hazards/fires?bbox=NASA FIRMS active fires of the last 48 hours in a bounding box (up to 10°×10°)worldwide
GET /api/ferries?bbox=Ferry and river crossing lines and ports (GeoJSON, OpenStreetMap, ODbL) with hand-checked operator sites and booking linksworldwide
GET /api/ferries/{id}/scheduleTimetable digest from open GTFS feeds: next departures, weekdays, rhythm, travel time820 crossings (Oct 2026)
GET /api/electricity/countries/{code}Plug types, mains voltage and frequency, campsite hook-up (CEE17)220+ countries
GET /api/customs/countries/{code}?from=Customs rules on entry by car: food, cash, alcohol, tobacco, fuel canister—
GET /api/currency/ratesExchange rates relative to EUR150+ currencies
GET /api/vanbasket/countriesFood price index relative to world average (100 = world avg)90+ countries
GET /api/vanbasket/compare?from=DE&to=TRCompare food costs between two countries—
GET /api/vanbasket/countries/{code}Single country + historical snapshots—
GET /api/vansky/weatherVanlife weather suitability scores (0–100) with 7-day forecast160+ countries
GET /api/vansky/weather/{code}One country, with marine and solar data—
GET /api/vansky/weather/{code}/{city}One city as on its page: today and the week, place in the country, per-day score breakdown, worst day, air quality, recommendations (include=hourly for 3-hour steps)—
GET /api/vansky/weather/{code}/citiesCities of a country ranked by the week score (as on the site) or today—
GET /api/vansky/rankingCountries ranked by the week score or today, by region160+ countries
GET /api/vansky/methodologyHow the VanSky score is calculated: curves, weights, adjustments — recompute it yourself—
GET /api/vansky/climate?lat=&lng=&date=Typical weather on any day of the year anywhere (ERA5 2021–2025): temperature, precipitation days, sky, sea, solar, VanSky index, months, best monthworldwide
GET /api/vansky/climate/{code}/{city}The same for a VanSky city—
GET /api/visa/check?passport=RU&destination=TREntry rules: entry mode, length of stay, how days are counted, vehicle import199 destinations
GET /api/visa/route?t=RU,GE,TR&p=RUVisa rules for a whole route, up to 10 passports—
GET /api/visa/passport/{code}All destinations for one passport—
GET /api/visa/vehicle/{place}Temporary vehicle import rules for a country—
GET /api/eventsVanlife events: expos, festivals, meetups, road trips1,100+ events
GET /api/event/{slug}Full event details with geo coordinates—
GET /api/event/{slug}/articlesSource articles linked to an event—
GET /api/storiesNews stories aggregated from 200+ publishers31,000+ stories
GET /api/story/{slug}Full story with all source articles and direct links—
GET /api/news/search?q=...Semantic search over stories—
GET /api/news/digestToday's news digest—
GET /api/platesLicense plates of the world: formats, region codes, example plates199 countries
GET /api/plates/{code}/typesPlate types of a country (private, taxi, motorcycle, diplomatic…); empty where not broken down—
GET /api/plates/{code}/plate.svgReady plate image (also .png) — drop into <img src>—

Quick Start

bash
# Fuel pricescurl https://openvan.camp/api/fuel/prices
# Currency rates (EUR-based)curl https://openvan.camp/api/currency/rates
# Food price indexcurl https://openvan.camp/api/vanbasket/countries
# Upcoming vanlife events in Germanycurl "https://openvan.camp/api/events?country=DE&status=upcoming&locale=en"
# Latest vanlife news stories in Englishcurl "https://openvan.camp/api/stories?locale=en"

Fuel Prices — /api/fuel/prices

Weekly retail prices from 45+ official government sources.
Cache TTL: 6 hours. Please poll no faster than every 10 minutes.

bash
curl https://openvan.camp/api/fuel/prices
json
{  "success": true,  "data": {    "DE": {      "country_code": "DE",      "country_name": "Germany",      "region": "europe",      "currency": "EUR",      "local_currency": "EUR",      "unit": "liter",      "prices": {        "gasoline": 1.79,        "diesel": 1.69,        "lpg": 0.89,        "e85": null,        "premium": null      },      "price_changes": { "gasoline": -0.02, "diesel": 0.01, "lpg": 0.0 },      "fetched_at": "2026-04-05T10:00:00+00:00",      "sources": ["EU Weekly Oil Bulletin", "Fuelo.net"],      "sources_count": 2,      "is_excluded": false    }  },  "meta": {    "total_countries": 121,    "updated_at": "2026-04-05 10:00:00",    "cache_ttl_hours": 6  }}

Notes:

  • unit is "liter" for most countries, "gallon" for US and Ecuador
  • is_excluded: true means the country has heavy fuel subsidies (prices don't reflect market rates)
  • price_changes = delta vs last week's prices

Currency Rates — /api/currency/rates

EUR-based exchange rates from multiple open-source providers with automatic fallback.
Cache TTL: 25 hours. Refreshed daily at 07:00 UTC.

bash
curl https://openvan.camp/api/currency/rates
json
{  "success": true,  "rates": {    "EUR": 1,    "USD": 1.08,    "GBP": 0.85,    "TRY": 38.5,    "GEL": 2.95,    "KZT": 510,    "RUB": 98.5  },  "cached": true,  "updated_at": "2026-04-08T07:00:00+00:00"}

Convert to any currency:

js
const priceInUSD = (priceEUR / rates.EUR) * rates.USD;const priceInTRY = (priceEUR / rates.EUR) * rates.TRY;

VanBasket Food Price Index — /api/vanbasket/*

Relative cost of a food basket compared to world average (World = 100).
Based on World Bank ICP 2021 data, adjusted with IMF CPI.
Data source: CC BY 4.0

bash
# All countriescurl https://openvan.camp/api/vanbasket/countries
# Compare two countriescurl "https://openvan.camp/api/vanbasket/compare?from=DE&to=TR"
# Single country with historical snapshotscurl https://openvan.camp/api/vanbasket/countries/DE
json
{  "success": true,  "data": {    "CH": { "country_code": "CH", "country_name": "Switzerland", "vanbasket_index": 162.3, "pct_vs_world": 62.3 },    "DE": { "country_code": "DE", "country_name": "Germany",     "vanbasket_index": 118.7, "pct_vs_world": 18.7 },    "TR": { "country_code": "TR", "country_name": "Turkey",      "vanbasket_index":  82.4, "pct_vs_world": -17.6 },    "GE": { "country_code": "GE", "country_name": "Georgia",     "vanbasket_index":  64.1, "pct_vs_world": -35.9 }  },  "meta": {    "total_countries": 92,    "world_avg": 100,    "base_year": 2021,    "source": "World Bank ICP 2021",    "license": "CC BY 4.0"  }}

Compare response:

json
{  "success": true,  "data": {    "from": { "country_code": "DE", "country_name": "Germany", "vanbasket_index": 118.7 },    "to":   { "country_code": "TR", "country_name": "Turkey",  "vanbasket_index":  82.4 },    "diff_percent": -30.6,    "budget_100": 69,    "cheaper": true  }}

budget_100: if you spend €100 on food in the from country, you'd spend €69 in the to country.


Events — /api/events

Vanlife events: exhibitions, festivals, meetups, road trips. Updated in real time.

Query params:

ParamValuesDefault
localeen ru de fr es pt tren
statusupcoming ongoing past allupcoming
typeexpo festival forum meetup roadtrip—
countryISO 3166-1 alpha-2—
searchtext—
pageinteger1
limitinteger (max 100)30
bash
# Upcoming events in Germanycurl "https://openvan.camp/api/events?country=DE&status=upcoming&locale=en"
# Event detailscurl "https://openvan.camp/api/event/fit-camper-2026?locale=en"
# Source articles linked to an eventcurl "https://openvan.camp/api/event/fit-camper-2026/articles?locale=en"
json
{  "events": [    {      "id": 493,      "slug": "fit-camper-2026",      "event_name": "Fit Your Camper",      "event_type": "expo",      "event_type_label": "Exhibition",      "start_date": "2026-04-09",      "end_date": "2026-04-12",      "city": "Bologna",      "country_code": "IT",      "country": { "code": "it", "name": "Italy", "flag_emoji": "🇮🇹" },      "venue_name": "BolognaFiere",      "status": "upcoming",      "articles_count": 7,      "url": "https://openvan.camp/en/event/fit-camper-2026"    }  ],  "pagination": { "total": 48, "page": 1, "limit": 30, "pages": 2 }}

Notes:

  • Unknown or missing locale silently falls back to en
  • /api/event/{slug}/articles returns source articles filtered by locale; if none match, all articles are returned (may be in the original publisher language)

Stories / News — /api/stories

Vanlife news stories aggregated from 200+ publishers and translated into 7 languages. Each story clusters multiple source articles covering the same topic.

Query params:

ParamValuesDefault
localeen ru de fr es pt tren
categorycategory slug (e.g. camping, travel, gear, incident)—
countryISO 3166-1 alpha-2—
searchtext—
pageinteger1
limitinteger (max 50)20
bash
# Latest stories in Englishcurl "https://openvan.camp/api/stories?locale=en"
# German vanlife news in Germanycurl "https://openvan.camp/api/stories?locale=de&country=DE"
# Full story with all source linkscurl "https://openvan.camp/api/story/free-overnight-parking-netherlands?locale=en"
json
{  "slug": "free-overnight-parking-netherlands",  "title": "Free Overnight Parking for Motorhomes in the Netherlands",  "summary": "The Dutch motorhome community is pushing for more designated free overnight spots...",  "image_url": "https://...",  "category": { "slug": "travel", "name": "Travel" },  "countries": [{ "code": "nl", "name": "Netherlands", "flag_emoji": "🇳🇱" }],  "first_published_at": "2026-04-01T10:00:00+00:00",  "last_updated_at": "2026-04-03T08:00:00+00:00",  "articles_count": 5,  "url": "https://openvan.camp/en/news/travel/free-overnight-parking-netherlands",  "sources": [    {      "title": "Gratis overnachten in je camper: de beste plekken",      "original_url": "https://www.campermagazine.nl/overnachten/gratis-plaatsen",      "source_name": "CamperMagazine.nl",      "published_at": "2026-04-01T10:00:00+00:00",      "language": "nl",      "image_url": "https://..."    }  ]}

Notes:

  • title and summary are translated to the requested locale
  • sources[].language is always the original publisher language, regardless of locale
  • sources[].original_url is the direct link to the publisher article

License Plates — /api/plates/*

License plates of the world: plate formats, every region code grouped by region (with ISO 3166-2 units), validation, and the plate itself as an image. Images are drawn by the same engine as openvan.camp/en/license-plates — the plate typeface is inside as vector outlines, so there are no fonts to install.

The simplest integration is a plain image:

html
<img src="https://openvan.camp/api/plates/ru/plate.svg?number=A123BC&region=77" alt="A123BC 77">
  • plate.png?width=800 — PNG, 200–2000 px wide, transparent background
  • Look-alike Latin letters are normalized (A123BC → А123ВС on Russian plates)
  • A number outside the country format returns 422; add custom=1 to draw any text (e.g. a name)
  • Images are served Cache-Control: public, max-age=31536000, immutable; image URLs returned by the API carry v=<engine version>, so an engine update arrives under a new URL
bash
curl https://openvan.camp/api/plates                                        # countriescurl "https://openvan.camp/api/plates/ru?locale=en"                         # format, regions, codes, enginecurl "https://openvan.camp/api/plates/ru/validate?number=A123BC&region=799" # valid? which region?curl https://openvan.camp/api/plates/ru/random                              # random plate + image URLs

Plate types — special plates have their own colour and number format. GET /api/plates/{code}/types lists them (on Russian plates: private, diplomatic red, police blue, military black, taxi_bus yellow, motorcycle, trailer, tractor, export_transit), each with an example number. Pass type to the image, /random and /validate; the response says which type was used:

bash
curl "https://openvan.camp/api/plates/ru/random?type=police"                # a valid blue police plate + image URLscurl "https://openvan.camp/api/plates/ru/validate?number=У7962&region=790&type=police"
html
<img src="https://openvan.camp/api/plates/ru/plate.svg?number=190Т307&region=23&type=diplomatic" alt="190 Т 307 23">

To draw plates in the browser yourself (e.g. an interactive generator), load the scripts listed in data.engine.scripts of /api/plates/{code} in order and call Plates.render(code, number, region) → {svg} (an SVG element) or {error}.

Images and the engine are available for countries whose plate typeface may be redistributed (glyphs_license: free or sharealike); for the rest the data endpoints still work. Rate limit: 60 requests/minute for images and /random, 120 for the rest.


Roadbook — /api/roadbook/from-places

A whole trip plan — the same roadbook people build in the wizard: route, driving days and overnights, budget (fuel, tolls, vignettes, ferries), and for every country on the way the entry and vehicle rules for the given passports and plates, holidays, safety and power. Identical requests return the same roadbook.

bash
# 1. Create (all inputs are optional)curl -X POST "https://openvan.camp/api/roadbook/from-places?source=your-app" \  -H "Content-Type: application/json" \  -d '{"places":["Munich","Venice"],"locale":"en","inputs":{"travelers":["DE"],"cons":10,"fuel":"diesel"}}'# → {"code":"wqhk8","url":"/en/roadbook/wqhk8-munich-venice","status":"pending","points":[...]}
# 2. Poll until "ready" (long routes take up to a minute), then open https://openvan.camp + urlcurl https://openvan.camp/api/roadbook/wqhk8/status

10 roadbooks per minute per IP. The MCP tool plan_road_trip does all of this and returns the plan itself.


Holidays, Hazards, Power Plugs, Customs

Trip-planning data for a country you are about to drive into. Every list endpoint has a /countries index; pass locale for translated names.

bash
# Public, school (with ISO 3166-2 regions) and peak traffic days; kind=public|school|trafficcurl "https://openvan.camp/api/holidays/countries/FR?from=2026-10-01&to=2026-11-15"
# FCDO travel advice level + current GDACS disasters (flood, earthquake, cyclone, wildfire…)curl https://openvan.camp/api/hazards/countries/TR
# NASA FIRMS fire detections of the last 48 h; bbox = minLon,minLat,maxLon,maxLat, up to 10°×10°curl "https://openvan.camp/api/hazards/fires?bbox=-1,38,1,40"
# Ferry and river crossing lines and ports in a box; zoom sets geometry detail (ODbL)curl "https://openvan.camp/api/ferries?bbox=4.9,58.8,6.2,59.4&zoom=9"
# One crossing with both ends, then its timetable digest in the operator's local timecurl https://openvan.camp/api/ferries/r5958961curl https://openvan.camp/api/ferries/r5958961/schedule
# Plug types, voltage, frequency, campsite hook-up connectorcurl https://openvan.camp/api/electricity/countries/GB
# Customs rules on entry by car, optionally from a given country; each rule quotes the official sourcecurl "https://openvan.camp/api/customs/countries/NO?from=DE"
  • A country without holiday or customs data returns an error that says so — it does not mean "no holidays" or "nothing is restricted"
  • Hazards describe the situation now, not a forecast; fire data for a new area may return "being loaded, retry in a minute" on the first request

Response Format

All JSON endpoints follow a consistent envelope:

json
{ "success": true, "data": { ... }, "meta": { ... }, "_attribution": { ... } }

Every response includes an _attribution object:

json
"_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. ..."}

Errors:

json
{ "success": false, "error": "Description of the error." }

If you call without Accept: application/json, some error responses may return HTML. Always send the header:

Accept: application/json

Rate Limiting

120 requests per minute per IP. Please be responsible:

  • Cache fuel prices for at least 6 hours
  • Cache currency rates for at least 1 hour
  • Cache stories/events for at least 15 minutes

Attribution

Attribution is required by the CC BY 4.0 license. Wherever you show the data — website, app, bot, dashboard, article — place a visible link next to it:

html
Data: <a href="https://openvan.camp/">OpenVan.camp</a> (CC BY 4.0)

The same snippet comes in every response as _attribution.attribution_html, and in the X-Attribution-Required response header.

Ferries are the exception: lines and ports from /api/ferries are an OpenStreetMap derivative under ODbL — credit "© OpenStreetMap contributors" as well, and timetables carry the license of their GTFS feed (_attribution and sources name it).

Building with an AI coding agent? Tell it to keep this link in the UI it generates — or just let it read _attribution.instructions from any response.

Identify your integration

Pass ?source=yoursite.com with any request — no registration needed. Your value is echoed back as _attribution.your_source so you can verify it's working:

bash
curl "https://openvan.camp/api/fuel/prices?source=myapp.com"
json
{  "success": true,  "data": { "..." },  "meta": { "..." },  "_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"  }}

This helps us understand how the data is being used and acknowledge active projects.


Built with OpenVan

Public projects using the API:

ProjectWhat it doesUses
cyfuelFuel-price map that ranks an "efficient fill": tank cost plus the fuel burned driving there (cyfuel.cybush.uk)fuel prices
DriveLogDriving and fuel log web appfuel prices
E-LogisticLogistics platform with EU diesel prices by countryfuel prices

Built something with the data? Open a pull request adding it to this table, or tell us in Discussions.

Badge for your README:

markdown
[![Data: OpenVan.camp](https://img.shields.io/badge/data-OpenVan.camp-467187)](https://openvan.camp/)

[Data: OpenVan.camp]


JavaScript / TypeScript SDK

bash
npm install @openvancamp/sdk# or: pnpm add @openvancamp/sdk
ts
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 nowconst weather = await ov.weather.top({ limit: 10 });

ESM-native, fully typed (TypeScript included), works in Node.js ≥ 18, browser, Cloudflare Workers, Deno, Bun. No API key.

npm: @openvancamp/sdk · Full SDK docs →


Resources

The same data on the site

Fuel prices by country · Passport & visa checker · Roadbook trip planner · VanSky weather · Food cost index · Vanlife events · Vanlife news

Source: README.md at commit 9b3892b

Tools

0
SourceWeft has not read this server's tools yet.

Version history

12
  1. v0.9.3LatestOct 13, 2026
  2. v0.9.0Oct 11, 2026
  3. v0.8.3Oct 11, 2026
  4. v0.8.0Oct 10, 2026
  5. v0.7.1Oct 6, 2026
  6. v0.6.2Oct 4, 2026
  7. v0.6.1Oct 3, 2026
  8. v0.5.1Sep 29, 2026
  9. v0.5.0Sep 29, 2026
  10. v0.4.1Sep 29, 2026
  11. v0.4.0Sep 27, 2026
  12. v0.2.3Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Travel integrations