Skip to main content
Glama

OpenVan.camp 公共 API

免费、无需身份验证的房车生活数据 API:燃油价格、货币汇率、食品成本指数、房车生活活动和新闻报道——所有数据汇集于一处,无需注册。

基础 URL: https://openvan.camp
身份验证: 无需
CORS: 已启用
许可协议: CC BY 4.0

MCP 服务器(供 AI 代理使用): mcp-server/ — 托管于 https://mcp.openvan.camp/mcp,也可使用 npx -y mcp-remote https://mcp.openvan.camp/mcp 供 Claude Desktop / Cursor / Windsurf 使用。安装文档 →

自定义 GPT: OpenVan Travel Assistant — 已在 ChatGPT GPT Store 上线。


权威性说明

资源

用途

本 README

快速概览和代码示例

/docs

带有“试一试”功能的交互式文档

/docs.openapi

完整的 OpenAPI 3.0 合约(始终保持最新)

/docs.postman

Postman 集合

位于 /docs.openapi 的 OpenAPI 规范是从实时代码库生成的,是权威的合约。本 README 中的数字(国家/地区数量、报道总数)均为近似值,并会定期更新——请查看 /api/fuel/prices 元数据或 /api/stories 分页以获取当前总数。


端点

端点

描述

覆盖范围

GET /api/fuel/prices

零售燃油价格(汽油、柴油、LPG、E85)

120+ 国家/地区

GET /api/currency/rates

相对于欧元的汇率

150+ 货币

GET /api/vanbasket/countries

相对于世界平均水平的食品价格指数(100 = 世界平均)

90+ 国家/地区

GET /api/vanbasket/compare?from=DE&to=TR

比较两国之间的食品成本

GET /api/vanbasket/countries/{code}

单个国家/地区 + 历史快照

GET /api/events

房车生活活动:博览会、节日、聚会、公路旅行

695 个活动

GET /api/event/{slug}

包含地理坐标的完整活动详情

GET /api/event/{slug}/articles

与活动关联的来源文章

GET /api/stories

从 200 多家出版商聚合的新闻报道

8200+ 报道

GET /api/story/{slug}

包含所有来源文章和直接链接的完整报道


快速入门

# Fuel prices
curl https://openvan.camp/api/fuel/prices

# Currency rates (EUR-based)
curl https://openvan.camp/api/currency/rates

# Food price index
curl https://openvan.camp/api/vanbasket/countries

# Upcoming vanlife events in Germany
curl "https://openvan.camp/api/events?country=DE&status=upcoming&locale=en"

# Latest vanlife news stories in English
curl "https://openvan.camp/api/stories?locale=en"

燃油价格 — /api/fuel/prices

来自 45 个以上官方政府来源的每周零售价格。
缓存 TTL: 6 小时。请勿以超过每 10 分钟一次的频率轮询。

curl https://openvan.camp/api/fuel/prices
{
  "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
  }
}

注意:

  • unit 对于大多数国家是 "liter"(升),对于美国和厄瓜多尔是 "gallon"(加仑)

  • is_excluded: true 表示该国拥有高额燃油补贴(价格不能反映市场价格)

  • price_changes = 与上周价格的差值


货币汇率 — /api/currency/rates

来自多个开源提供商的基于欧元的汇率,并具有自动回退功能。
缓存 TTL: 25 小时。每天 07:00 UTC 刷新。

curl https://openvan.camp/api/currency/rates
{
  "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"
}

转换为任何货币:

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

VanBasket 食品价格指数 — /api/vanbasket/*

食品篮子相对于世界平均水平的相对成本(世界 = 100)。
基于世界银行 2021 年 ICP 数据,并根据 IMF CPI 进行调整。
数据来源: CC BY 4.0

# 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 historical snapshots
curl https://openvan.camp/api/vanbasket/countries/DE
{
  "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"
  }
}

比较响应:

{
  "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:如果您在 from 国家/地区花费 100 欧元购买食品,那么在 to 国家/地区您将花费 69 欧元。


活动 — /api/events

房车生活活动:展览、节日、聚会、公路旅行。实时更新。

查询参数:

参数

默认值

locale

en ru de fr es pt tr

en

status

upcoming ongoing past all

upcoming

type

expo festival forum meetup roadtrip

country

ISO 3166-1 alpha-2

search

文本

page

整数

1

limit

整数(最大 100)

30

# Upcoming events in Germany
curl "https://openvan.camp/api/events?country=DE&status=upcoming&locale=en"

# Event details
curl "https://openvan.camp/api/event/fit-camper-2026?locale=en"

# Source articles linked to an event
curl "https://openvan.camp/api/event/fit-camper-2026/articles?locale=en"
{
  "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 }
}

注意:

  • 未知或缺失的 locale 将静默回退到 en

  • /api/event/{slug}/articles 返回按 locale 过滤的来源文章;如果没有匹配项,则返回所有文章(可能使用原始出版商语言)


报道 / 新闻 — /api/stories

从 200 多家出版商聚合的房车生活新闻报道,并翻译成 7 种语言。每篇报道都汇集了涵盖同一主题的多篇来源文章。

查询参数:

参数

默认值

locale

en ru de fr es pt tr

en

category

分类 slug(例如 camping, travel, gear, incident

country

ISO 3166-1 alpha-2

search

文本

page

整数

1

limit

整数(最大 50)

20

# Latest stories in English
curl "https://openvan.camp/api/stories?locale=en"

# German vanlife news in Germany
curl "https://openvan.camp/api/stories?locale=de&country=DE"

# Full story with all source links
curl "https://openvan.camp/api/story/free-overnight-parking-netherlands?locale=en"
{
  "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://..."
    }
  ]
}

注意:

  • titlesummary 会被翻译成请求的 locale

  • sources[].language 始终是原始出版商语言,与 locale 无关

  • sources[].original_url 是指向出版商文章的直接链接


响应格式

所有 JSON 端点都遵循一致的信封格式:

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

每个响应都包含一个 _attribution 对象:

"_attribution": {
  "data_source": "openvan.camp",
  "license": "CC BY 4.0",
  "attribution_url": "https://openvan.camp/",
  "attribution_html": "Data: <a href=\"https://openvan.camp/\">OpenVan.camp</a> (CC BY 4.0)"
}

错误:

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

如果您在调用时没有发送 Accept: application/json,某些错误响应可能会返回 HTML。请务必发送该标头:

Accept: application/json

速率限制

每个 IP 每分钟 120 次请求。请负责任地使用:

  • 缓存燃油价格至少 6 小时

  • 缓存货币汇率至少 1 小时

  • 缓存报道/活动至少 15 分钟


归属说明

CC BY 4.0 要求。建议格式:

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

标识您的集成

在任何请求中传递 ?source=yoursite.com — 无需注册。您的值将作为 _attribution.your_source 返回,以便您可以验证它是否正常工作:

curl "https://openvan.camp/api/fuel/prices?source=myapp.com"
{
  "success": true,
  "data": { "..." },
  "meta": { "..." },
  "_attribution": {
    "data_source": "openvan.camp",
    "license": "CC BY 4.0",
    "attribution_url": "https://openvan.camp/",
    "attribution_html": "Data: <a href=\"https://openvan.camp/\">OpenVan.camp</a> (CC BY 4.0)",
    "your_source": "myapp.com"
  }
}

这有助于我们了解数据的使用方式并确认活跃的项目。


资源

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kopaev/openvan-camp-public-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server