OpenStreetMap Nominatim 兼容替换

公共 Nominatim 实例要求每秒最多一个请求,且不得大量使用。osm.mygeocode.com 支持相同的 search 和 reverse 接口,提供 JSON、JSONv2 和 GeoJSON 格式,配额也是您真正可以规划的。

只需更换一个主机名

原始主机
  • nominatim.openstreetmap.org
改用osm.mygeocode.com
密钥参数原服务没有密钥,这里也不需要:任何地址不使用密钥每天也有 2,500 次请求。如需使用额度、套餐和使用记录,请在查询中添加 key=...,或发送 X-API-Key 请求头。
之前
curl "https://nominatim.openstreetmap.org/search?q=Brandenburg+Gate+Berlin&format=json&addressdetails=1"
之后
curl "https://osm.mygeocode.com/search?q=Brandenburg+Gate+Berlin&format=json&addressdetails=1"

为什么用户选择迁移

公共 Nominatim 服务器是一种共享资源,有严格的使用政策。自己运行一个实例则是一份全职工作。这里是相同的接口,却没有这两个问题。

无论是否使用密钥,免费配额都相同。发往 osm.mygeocode.com 的请求,与您的地址或密钥在我们自有端点上获得的每天 2,500 次免费请求合并计算。超出后,使用预付额度按每次请求 €0.0001 计费,或使用 Unlimited 密钥每月 €50。注册只需一个电子邮件地址,别无其他。

查看价格 免费获取密钥

端点

osm.mygeocode.com 上的路径功能底层服务
/search?q=...&format=json自由格式搜索正向地理编码
/search?street=...&city=...&country=...&format=json结构化搜索正向地理编码
/reverse?lat=...&lon=...&format=json逆向逆地理编码

响应示例

这是上述请求返回的内容。字段名、嵌套和类型与 Nominatim(OSM)一致。只有背后的数据来自我们。

来自 osm.mygeocode.com 的响应
[
  {
    "place_id": 2384719,
    "licence": "Data by My Geocode, https://www.mygeocode.com/terms/",
    "osm_type": "way",
    "osm_id": 518071791,
    "lat": "52.5162746",
    "lon": "13.3777041",
    "class": "tourism",
    "type": "attraction",
    "place_rank": 30,
    "importance": 0.8317,
    "addresstype": "tourism",
    "name": "Brandenburger Tor",
    "display_name": "Brandenburger Tor, Pariser Platz, Mitte, Berlin, 10117, Deutschland",
    "address": {
      "tourism": "Brandenburger Tor",
      "road": "Pariser Platz",
      "suburb": "Mitte",
      "borough": "Mitte",
      "city": "Berlin",
      "state": "Berlin",
      "postcode": "10117",
      "country": "Deutschland",
      "country_code": "de"
    },
    "boundingbox": ["52.5161073", "52.5164414", "13.3775375", "13.3778623"]
  }
]

细节与差异

Nominatim 没有密钥,这里每天前 2,500 次请求也同样不需要。如需使用额度、套餐和使用记录,请在查询中添加 key=...,或发送 X-API-Key 请求头。

响应中的版权声明、许可名称、条款和隐私链接是我们的,而不是原服务商的。其他所有内容都保持原有结构。

  • /search 默认返回 jsonv2,/reverse 默认返回 XML,与 Nominatim 自身的默认设置一致。
  • xmljsonjsonv2geojsongeocodejson 格式均受支持。
  • 许可声明行和 XML 中的 attribution 属性是我们的。
  • 没有批量端点,因为原服务也没有。批量处理请使用 api.mygeocode.com 上的 POST /v1/forward/v1/reverse(每次调用最多 100 条,每条计为一个请求)。

如果您的客户端依赖于此处未列出的字段或行为,请告诉我们。兼容性缺口通常很小,因此会很快修复。

其他兼容替换主机

兼容替换的工作原理概览以及 JavaScript 库兼容替换