12 个最佳的免费地图与地理编码 API
目前有 12 家提供商可以为你提供免费的地图 API,但对于“免费”的理解却千差万别。Geoapify 每天为你提供 3,000 次请求,无需信用卡,且允许商业使用。TomTom 每月为你提供 20,000 次地理编码,同样无需信用卡。Google Maps 每月为每个 SKU 提供 10,000 次调用,但需要一个付费账户。Nominatim 和 US Census Geocoder 则完全不需要 API key。
一览最佳的免费地图 API
免费地图 API 是指在公布的配额内可以以 $0 调用的地图、瓦片或地理编码服务。配额通常按请求、地图加载或积分计算,并每天或每月重置。一旦超出配额,大多数提供商会停止服务或开始计费。
| 提供商 | 免费配额(截至 2026-10-22 检查) | 是否需要信用卡 | 免费层是否支持商业使用 |
|---|---|---|---|
| Google Maps Platform | 每月每个 SKU 10,000 次调用 | 是,需要付费账户 | 是 |
| Mapbox | 每月 50,000 次网页地图加载 + 100,000 次临时地理编码 | 否(在添加信用卡前会有较低的演示上限) | 是 |
| HERE Base plan | 每月 30,000 次地理编码 + 30,000 次瓦片请求 | 是,需要付款方式 | 是 |
| TomTom | 每月 20,000 次地理编码 + 200,000 次瓦片请求 | 否 | 是 |
| Esri ArcGIS Location Platform | 20,000 次地理编码 + 2,000,000 次底图瓦片 | 仅在超出免费层时需要 | 是 |
| Azure Maps | 每月 5,000 次搜索 + 5,000 次地图瓦片事务 | 是,用于身份验证 | 是 |
| Geoapify | 每天 3,000 积分 | 否 | 是,需注明出处 |
| LocationIQ | 每天 5,000 次请求,每秒 2 次 | 未说明 | 有限制,需添加反向链接 |
| Geocodio | 每天 2,500 次查询 | 否 | 未说明 |
| MapTiler Cloud | 每月 5,000 次地图会话 + 100,000 次 API 请求 | 否 | 否,仅限非商业用途 |
| OSM Nominatim | 每秒 1 次请求,无需 API key | 否 | 仅限轻度使用 |
| US Census Geocoder | 未说明配额,每个批处理文件 10,000 个地址 | 否 | 是(公共服务) |
对于其他类别,请参阅我们的免费 API 指南。
无需信用卡的免费地图 API
这五家提供商可以让你在无需输入支付信息的情况下注册并发布原型。
1. Geoapify
Geoapify 的定价页面列出了免费计划中每天 3,000 积分的额度,其中简单的地理编码、地点搜索或路径规划调用会消耗 1 积分。速率限制为每秒 5 次请求。页面明确指出“无需信用卡”,FAQ 允许生产和商业使用,前提是你必须展示 “Powered by Geoapify” 以及数据来源署名。
最适适用于:需要通过一个 API key 同时使用地理编码、路径规划和瓦片服务的小型商业应用。
2. TomTom
TomTom 的开发者定价现在按月计算免费使用量,而不是按天。你每月可以获得 20,000 次地理编码和 20,000 次逆向地理编码请求,外加 200,000 次地图瓦片请求。页面明确指出“无需信用卡”。
最适适用于:在无需付费账户的情况下获得更高的每月地理编码量。
3. Mapbox
Mapbox 定价包括每月 50,000 次网页地图加载(GL JS)和 100,000 次临时地理编码请求。你可以在不绑定信用卡的情况下注册,但在添加之前,你将处于“演示访问”状态,配额上限较低(每月 5,000 次地图加载和 10,000 次临时地理编码)。永久地理编码(即存储结果)没有免费层。地理编码默认为每分钟 1,000 次请求。
最适适用于:网页或移动应用中精致的矢量地图。
4. Geocodio
Geocodio 在其按需付费计划中每天为你提供前 2,500 次免费查询,且不会累积到下一天。在超出免费层之前无需信用卡。该计划的覆盖范围仅限于美国、加拿大和墨西哥。
最适适用于:北美地区的地址地理编码和电子表格数据清洗。
5. MapTiler Cloud
MapTiler 的免费计划涵盖每月 5,000 次地图会话、1,000 次搜索会话和 100,000 次 API 请求,无需信用卡。该计划被标注用于测试、原型、个人或非商业用途,并且地图上必须保留 MapTiler 的 Logo。
最适适用于:使用自定义地图样式的个人项目和原型。
需要绑定付费账户的免费层
接下来的四家在其配额内是免费的,但你必须先绑定信用卡或付款方式。请务必在第一天就设置预算警报。
6. Google Maps Platform
Google 的定价页面为每个 Essentials SKU(包括 Geocoding 和 Dynamic Maps)提供了每个日历月 10,000 次免费的可计费事件。Maps Embed API 是无限制的。即使是免费使用,你也需要一个启用了计费功能的 Cloud 项目。地理编码结果受缓存限制约束(地点 ID 可以存储),并且你在地图上显示的结果必须显示在 Google 地图上。
最适适用于:需要 Google 地点数据和熟悉地图 UI 的应用。我们的Google Maps API 集成指南详细介绍了 API key 的设置。
7. HERE Base plan
HERE 的定价页面列出了地理编码和逆向地理编码、自动补全、矢量瓦片和栅格瓦片每月各 30,000 次免费事务,且“没有每日事务限制”。HERE 2025 年 4 月的发行说明指出,在引导注册过程中必须提供付款方式。
最适适用于:未来将发展为使用 HERE 路径规划的物流和车队原型。
8. Esri ArcGIS Location Platform
ArcGIS Location Platform 定价包含 20,000 次地理编码(非存储)、2,000,000 次底图瓦片、1,000 次底图会话和 20,000 次路径规划。计费帮助文档指出,你只需添加付款方式即可在超出免费层之外开启按需付费。存储的地理编码没有免费层。该页面按月计算费用,但没有明确说明重置周期。
最适适用于:重度 GIS 应用以及已经在使用 ArcGIS 工具的团队。
9. Azure Maps
Azure Maps Gen2 定价包含每月 5,000 次免费搜索事务、5,000 次底图瓦片事务、5,000 次地理位置定位和 1,000 次路径规划事务。Azure 的免费账户 FAQ 指出,注册需要信用卡或借记卡进行身份验证。
最适适用于:已经在使用 Azure 并希望在同一账单下使用地理编码的团队。
无需 API key 或条款受限的免费地理编码 API
10. LocationIQ
LocationIQ 的免费计划允许每天 5,000 次请求,速率为每秒 2 次请求和每分钟 60 次请求。商业使用是“受限的”:你必须添加一个可见的“Search by LocationIQ.com”链接。响应可以缓存长达 48 小时。
最适适用于:基于 OpenStreetMap 的地理编码,拥有真实的 API key 并为商业网站提供支持。
11. OpenStreetMap Nominatim
公共的 Nominatim 服务器不需要 API key,也不需要账户。Nominatim 使用政策将你的整个应用限制在每秒 1 次请求,要求提供命名你应用的 User-Agent 或 Referer,禁止自动补全和网格查询,并 discourages 批量地理编码。你必须根据 ODbL 许可协议注明 OpenStreetMap 的来源。
我们今天运行的一个测试调用返回了勃兰登堡门的坐标 52.5162699, 13.3777034:
curl -s -A "my-app/1.0 (you@example.com)" \
"https://nominatim.openstreetmap.org/search?q=Brandenburg+Gate&format=json&limit=1"
OpenStreetMap 的标准瓦片遵循单独的瓦片使用政策:可见署名、7 天缓存且禁止批量下载。
最适适用于:低流量的工具和演示。
12. US Census Bureau Geocoder
Census Geocoder 可将美国地址与坐标和人口普查地理区域进行匹配。我们的实时调用无需 key,并将白宫匹配到经度 -77.0352,纬度 38.8987。批处理文件最多可包含 10,000 个地址。文档中没有说明速率限制,因此请自行控制调用频率。
curl -s "https://geocoding.geo.census.gov/geocoder/locations/onelineaddress?address=1600+Pennsylvania+Ave+NW,+Washington,+DC+20500&benchmark=Public_AR_Current&format=json"
最适适用于:仅限美国的地址数据、研究和公民项目。
还有两个选项存在,但条款较为严格。OpenCage 的免费层为每天 2,500 次请求,速率为每秒 1 次,仅标注用于测试。Stadia Maps 每月提供 200,000 积分,但不允许商业使用。
你应该选择哪种免费的地理编码 API?
请根据你的限制条件来选择提供商,而不是仅仅选择表格中数字最大的那一个:
- 无需信用卡且用于商业应用: Geoapify(每天 3,000 次)或 TomTom(每月 20,000 次地理编码)。
- 完全无需 API key: Nominatim 用于全球查询,Census Geocoder 用于美国地址。
- 批量清洗美国地址: Geocodio(每天 2,500 次)或 Census 批处理文件。
- 最好看的网页地图: Mapbox 或 MapTiler,具体取决于你是否用于商业目的。
- 已经在支付云账单: 在 Google Cloud 上使用 Google Maps,在 Azure 上使用 Azure Maps。
如果你的应用还需要天气预报,我们的天气 API 总结可以与上述任何选项完美配合。
比配额更重要的限制
免费层很少会因为调用量不足而失败,而是会因为条款问题而失败:
- 存储: Mapbox 临时地理编码、Esri 非存储地理编码和 Stadia 结果无法长期保存。存储它们需要付费的“永久”SKU。
- 署名: Geoapify、LocationIQ、MapTiler 和 OpenStreetMap 都要求在显著位置注明出处。
- 商业使用: MapTiler、Stadia Maps 和 OpenCage 的免费计划不适用于产生收入的商业应用。
- 达到上限时会发生什么: MapTiler 会暂停服务,Mapbox 演示访问会阻止所有 API 直到您添加信用卡,而 Google 或 Azure 则会开始计费。
让你的编程 AI 助手使用 Apidog CLI 进行测试
一个重试循环可能会在几分钟内耗尽一整天的免费配额。让你的编程 AI 助手一次性编写地理编码测试,并在每次代码更改时运行它们,使用 Apidog CLI。
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com # 在提示时选择你的代理
然后给 Claude Code、Codex 或 Cursor 一个提示词:
In Apidog project <id>, create an environment "geoapify" with base URL
https://api.geoapify.com and a variable GEOAPIFY_KEY. Create a test case for
GET /v1/geocode/search?text=Brandenburg Gate&[REDACTED CREDENTIAL] that asserts
status 200, at least one feature, and lat between 52.5 and 52.6. Run it once
and summarize any failures. Don't run it more than 3 times.
AI 助手会读取负载 schema,验证其文件并运行测试用例:
apidog environment create geoapify --project <id> --base-url https://api.geoapify.com
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog run --test-case <caseId> --project <id> -e <envId> \
--env-var "GEOAPIFY_KEY=$GEOAPIFY_KEY" -r cli,json
使用 --env-var 传递 API key 可以避免将其保存在环境中。同样的 apidog run ... -r junit 命令也可以直接集成到 GitHub Actions 中,正如我们的Apidog CLI CI/CD 指南所展示的。有关完整的代理设置,请参阅Apidog CLI in Claude Code。Apidog 的免费计划最多支持 4 个用户。
常见问题
有完全免费的地图 API 吗? 有。Nominatim、OpenStreetMap 的标准瓦片和 US Census Geocoder 都不需要 key。公平使用规则(例如 Nominatim 上的每秒 1 次请求)将其限制在低流量应用中。
Google Maps API 是免费的吗? 部分免费。每个 Essentials SKU(包括 Geocoding 和 Dynamic Maps)每月可获得 10,000 次免费调用,且 Maps Embed API 是无限制的。但你仍然需要一个绑定了信用卡的付费账户。
哪种免费的地理编码 API 允许在无需信用卡的情况下进行商业使用? Geoapify 允许在其免费计划中进行商业使用(需注明出处),而 TomTom 的每月免费请求不需要信用卡。LocationIQ 允许通过添加反向链接进行有限的商业使用。
我可以存储来自免费地理编码 API 的结果吗? 通常不行。Mapbox 临时地理编码、Esri 非存储地理编码和 Stadia Maps 限制了存储。OpenCage 允许存储,但其免费层仅用于测试。
对于个人项目来说,最好的免费地图 API 是什么? 如果需要样式化的地图,可以使用 MapTiler 或 Mapbox,如果需要地理编码,可以使用 Nominatim 或 Geoapify。这四者都可以在不使用信用卡的情况下工作。
如何避免在 Google Maps 或 Azure Maps 上产生意外账单? 在发布软件之前,在云控制台中设置预算警报和针对每个 API 的配额上限。











Top comments (0)