
免费行政区划查询 接口整理与使用教程实测说明本文对无需 key的接口uapis、民政部国家地名信息库以及用户提供 appKey的易源ShowAPI1149 做了真实请求实测高德、百度地图、天行数据因本次无 key未实测已在各小节明确标注。实测时间2026-08-18。易源 1149 经实测确认可用——appKey 既可放 query 参数?appKey也可放请求头appkey两种方式均能取到业务数据已用同参数对照验证。所有未实测接口集成前仍请自行验证。写在前面做地址清洗、用户归属地统计、物流分单、门店落区时几乎都绕不开给一个地名 / 经纬度 / 编码反查出它属于哪个省、市、区、街道以及对应的 adcode、邮编、区号、经纬度。市面上能找到的行政区划查询入口很多但质量参差有的只是网页查询工具、有的已经停服、有的需要登录、有的虽有接口但官方没给文档。本文把目前还能在公开资料里找到完整可考接入写法的接口整理出来按能不能直接程序化调用逐个说明并给出多源降级的参考实现。每个接口都标注了实测状态✅ 已实测调通 / ⚠️ 已实测但异常 / ⛔ 本次无 key 未实测。实测是发一次真实请求看返回不等于生产稳定性保证高频生产使用前仍建议自测限频与数据时效。1. 接口总览接口请求地址说明HTTPS编码需要 Key来源类型实测状态uapis Adcode 行政区域查询GET https://uapis.cn/api/v1/misc/district中国四级 全球 243 国按次耗积分是UTF-8否耗积分商业 API免费额度✅ 已调通万维易源 行政区划查询ShowAPI 1149POST https://route.showapi.com/1149-1、/1149-2五级省/市/区县/乡镇/村委会含邮编区号是UTF-8是appKeyquery 参数或请求头均可商业 API免费额度✅ 已调通高德 行政区划查询GET https://restapi.amap.com/v3/config/district国/省/市/区/街道 五级不含邮编是UTF-8是免费 key商业 API官方开放平台⛔ 无 key 未测民政部·国家地名信息库GET https://dmfw.mca.gov.cn/9095/xzqh/getList官方权威省/地/县/乡 四级是UTF-8否官方政府站✅ 已调通天行数据 全国行政区划tianapiGET/POST https://apis.tianapi.com/area/index省/市/区/街道/社区 五级是UTF-8是免费 key商业 API免费额度⛔ 无 key 未测百度地图 行政区划区域检索GET https://api.map.baidu.com/api_region_search/v1/国家/省/市/区/乡镇街道是强制UTF-8是ak商业 API官方开放平台⛔ 无 key 未测2. uapis Adcode 行政区域查询实测 ✅ 已调通无需 key按次消耗积分约 2 积分/次覆盖中国到区县级 全球 243 个国家适合不想申请 key、又要查到国际城市的场景。请求示例GET https://uapis.cn/api/v1/misc/district?keywords朝阳区adcode110105limit10主要参数keywords城市 / 区县名中英文均可、adcode6 位编码查其下级、latlng坐标反查、country国家码、limit返回条数。至少传一种查询条件。实测返回示例2026-08-18GET?adcode110105HTTP 200{total:20,results:[{name:朝阳区,level:district,country:中国,country_code:CN,province:北京市,city:北京城区,district:朝阳区,adcode:110105,citycode:010,center:{lat:39.921444,lng:116.443136}},{name:大屯街道,level:street,adcode:110105,citycode:010,center:{lat:40.004894,lng:116.44158}}]}实测注意keywords参数口径与预期不一致——传keywords朝阳区返回total:0传adcode110105正常返回 20 条。建议优先用adcode查询或先用关键词拿到 adcode 再二次下钻。3. 万维易源 行政区划查询ShowAPI 1149实测 ✅ 已调通商业接口需自备 appKey免费额度可用。官方提供 OpenAPI 3.0 文档接入写法完整。本节写法按官方文档整理已用用户提供的 appKey 做真实请求实测确认可用。有两个接入点/1149-1区域查询按级别 名称查/1149-2子区域查询按上级 ID查下级鉴权方式appKey 放在 query 参数?appKey你的key或请求头appkey: 你的key均可两种方式实测都能正常返回业务数据。下面两种写法都给你写法 Aquery 参数最常用已实测可用POST https://route.showapi.com/1149-1?appKeyYOUR_APPKEY Content-Type: application/x-www-form-urlencoded level2areaName%E6%98%86%E6%98%8E%E5%B8%82page1写法 B请求头POST https://route.showapi.com/1149-1 appkey: YOUR_APPKEY Content-Type: application/x-www-form-urlencoded level2areaName%E6%98%86%E6%98%8E%E5%B8%82page1主要参数/1149-1level1 省 / 2 市 / 3 区县 / 4 乡镇 / 5 村委会、areaName必填名称越完整越准建议 URL 编码、page最大 50 页每页最大 20 条/1149-2parentId必填上级区域 ID可从/1149-1的返回里取、page实测返回示例2026-08-18query 参数方式?appKey/1149-1level2areaName昆明市HTTP 200请求头方式同参数返回一致{showapi_res_code:0,showapi_res_error:,showapi_fee_num:1,showapi_res_body:{ret_code:0,msg:查询成功,page:1,allNum:1000,maxSize:20,allPage:50,data:[{provinceId:530000000000,cityId:530100000000,parentId:530000000000,id:530100000000,level:2,areaName:昆明市,wholeName:云南省,昆明市,areaCode:0871,zipCode:650000,pinYin:kūn míng shì,prePinYin:K,location:102.833669,24.88149}]}}/1149-2子区域查询parentId440100000000即广州市实测也返回真实下级数据如荔湾区 / 越秀区 / 海珠区 …level 3含区号、邮编、经纬度。注意事项统一返回包裹里业务数据在showapi_res_bodyshowapi_res_code为状态、showapi_res_error为错误信息、showapi_fee_num为本次计费次数。文档中lat/lon字段已标注废弃坐标请使用location字段实测中两字段仍回传但应以location为准。需要邮编、区号、拼音这类全字段时这个接口比较省事。4. 高德开放平台 行政区划查询⛔ 本次无 key 未实测官方文档完整需免费 Web 服务 key。覆盖到街道级但不含邮编需要邮编得另接邮编库。本次没有高德 key未发起真实请求以下写法来自官方文档集成前请自测。请求示例GET https://restapi.amap.com/v3/config/district?keyYOUR_KEYkeywords朝阳区subdistrict1extensionsbase主要参数key必填、keywords行政区名 / citycode / adcode可选、subdistrict0–3默认 1下级级数、extensionsbase / all默认 base、page、offset、outputJSON / XML默认 JSON。返回示例来自官方文档{status:1,info:OK,infocode:10000,districts:[{citycode:010,adcode:110105,name:朝阳区,center:116.486409,39.921489,level:district,districts:[]}]}status为1表示成功、0表示失败districts为层级嵌套数组配合subdistrict可一次拿多级。5. 民政部·国家地名信息库实测 ✅ 已调通官方权威来源民政部区划地名司主办无需 key。省级到乡级省 / 地 / 县 / 乡 四级行政区划代码与名称。请求写法来自公开博客汇总本次实测已验证可用GET https://dmfw.mca.gov.cn/9095/xzqh/getList?code110000maxLevel3主要参数code上级编码、maxLevel下钻层级。返回为 JSON 层级结构。实测需带Referer: https://dmfw.mca.gov.cn/与常规User-Agent否则易被拒绝。实测返回示例2026-08-18GET?code110000maxLevel3HTTP 200节选{data:{code:110000000000,name:北京市,level:1,type:直辖市,children:[{code:110101000000,name:东城区,level:3,type:市辖区,children:[]},{code:110105000000,name:朝阳区,level:3,type:市辖区,children:[]}]},message:null,status:2}诚实提醒该端点在站点源码中能检索到/xzqh/get*调用痕迹本次实测也能正常返回但未找到民政部公开的接口文档参数说明仅见于二手博客。政府站点程序化调用可能限频 / 反爬生产接入请控制频率并自行抓包确认最新参数。6. 天行数据 全国行政区划tianapi⛔ 本次无 key 未实测官方文档完整需免费注册得 ApiKey普通会员约 100 次/天免费。覆盖省 / 市 / 区县/ 街道乡镇/ 社区村五级支持逐级联动下查。本次没有天行 key未发起真实请求以下写法来自官方文档集成前请自测。请求示例GET https://apis.tianapi.com/area/index?keyYOUR_KEYprovince420000city420100000000主要参数key必填、province省 ID如420000、city、county、town、village选填逐级联动下查。GET / POST 均支持http / https 均可。返回示例来自官方文档{code:200,msg:success,result:{list:[{provinceid:110000,provincename:北京市,cityid:110100000000,cityname:市辖区,countyid:110101000000,countyname:东城区,townid:110101001000,townname:东华门街道办事处,villageid:110101001001,villagename:多福巷社区}]}}7. 百度地图 行政区划区域检索⛔ 本次无 key 未实测官方开放平台接口需注册百度地图开发者获取 ak官方强制 https。覆盖国家 / 省 / 市 / 区县/ 乡镇街道。本次没有百度 ak未发起真实请求以下写法来自官方文档集成前请自测。请求示例GET https://api.map.baidu.com/api_region_search/v1/?keyword山东akYOUR_AKsub_admin2主要参数keyword必填行政区名称或 adcode如山东、ak必填、sub_admin0–3下级级数、extensions_code是否召回国标编码、boundary/boundarycode边界坐标。返回示例来自官方文档{status:0,data_version:20201101,result_size:17,result:[{name:山东省,code:,level:1,districts:[{name:德州市,code:,level:2,districts:[]}]}]}横向对比事实对照维度uapis易源 1149高德民政部天行百度是否需 key否积分是appKey是否是是返回格式JSONJSONJSONJSONJSONJSONHTTPS是是是是是是强制编码UTF-8UTF-8UTF-8UTF-8UTF-8UTF-8来源类型商业 API商业 API官方开放平台官方政府站商业 API官方开放平台数据级别中国四级 全球五级五级省地县乡四级五级五级含邮编/区号区号邮编区号否代码否否实测状态✅ 调通✅ 调通⛔ 无 key✅ 调通⛔ 无 key⛔ 无 key各有取舍没有全能最优不想申请 key 优先看 uapis 与民政部均已实测可用要邮编区号全字段看易源 1149实测可用appKey 放 query 参数或请求头均可做地图类业务、要边界坐标看高德 / 百度未实测需自备 key要免费额度内的五级联动看天行未实测需自备 key。生产环境参考实现多源降级下面是一段 Python 参考实现把所有源列为对等节点按发请求并落业务字段、失败则切换下一源的通用逻辑串联。各源的排序交由调用方自行决定不存在某个源是’更优兜底’。importos,requests SOURCES[# 无需 key 且已实测可用的源放前面{name:uapis,url:https://uapis.cn/api/v1/misc/district,params:lambdaname:{adcode:110105},# 实测优先用 adcodekeywords 口径不稳定key:None,},{name:mca,url:https://dmfw.mca.gov.cn/9095/xzqh/getList,params:lambdaname:{code:110000,maxLevel:3},key:None,headers:{Referer:https://dmfw.mca.gov.cn/,User-Agent:Mozilla/5.0},},# 需 key 的源从环境变量读不要硬编码{name:amap,url:https://restapi.amap.com/v3/config/district,params:lambdaname:{keywords:name,subdistrict:1,extensions:base},key:(key,os.getenv(AMAP_KEY)),},{name:tianapi,url:https://apis.tianapi.com/area/index,params:lambdaname:{},key:(key,os.getenv(TIANAPI_KEY)),},{name:baidu,url:https://api.map.baidu.com/api_region_search/v1/,params:lambdaname:{keyword:name,sub_admin:2},key:(ak,os.getenv(BAIDU_AK)),},{name:showapi,url:https://route.showapi.com/1149-1,params:lambdaname:{level:,areaName:name,page:1},headers:{appkey:os.getenv(SHOWAPI_APPKEY)or},# 实测确认query 参数 ?appKey 与请求头 appkey 均可同参数返回一致此处用请求头写法},]defquery_region(name):last_errNoneforsinSOURCES:try:paramss[params](name)ifs[key]ands[key][1]:params[s[key][0]]s[key][1]resprequests.get(s[url],paramsparams,headerss.get(headers),timeout8)# 简易成功判据HTTP 200 且返回体里含业务数据ifresp.okandresp.text.strip():return{source:s[name],raw:resp.text}exceptExceptionase:last_errecontinuereturn{source:None,error:str(last_err)}# 上线前建议对每个源补一次连通性验证再纳入正式链路注意示例代码未运行、未实测只演示降级结构key 类源请放环境变量切勿写死在代码里。踩坑清单同名异地全国同名区县不少如多个新华区“城关镇”只传areaName容易串。尽量带上上级编码或adcode收敛。uapis 的keywords参数口径实测传keywords朝阳区返回空传adcode正常优先用adcode。易源 1149 的 appKey 两种写法都行?appKey查询参数与-H appkey: ...请求头实测均能取到业务数据已用同参数对照验证。注意参数口径——早期 query 参数测试返回空是因选的areaName如朝阳区“北京”未匹配到并非鉴权位置问题。邮编不是行政区划字段地图类接口高德 / 百度 / 天行多数不含邮编要邮编请选易源 1149 或另接邮编库。经纬度字段已废弃易源 1149 文档里lat/lon已标废弃用location。政府 / 商业站反爬民政部这类官方站需带 Referer / UA商业平台也可能限频别裸请求。免费额度与计费易源返回里的showapi_fee_num就是本次扣费次数其他平台超量按次计费留意对账。行政区划会变动撤县设区、合并街道年年有生产数据要定期刷新别缓存一辈子。附录补充说明网上流传的部分同类接口需自备 key 或写法不完整未进入正文例如某些博客提到的 CoderBox / 麦田帮等第三方接口经核验前者已于 2026-06-30 停止公开服务、后者域名已变更为无关站点均不再可用教程中不推荐。邮编库youbianku.com、国家统计局统计用区划代码页stats.gov.cn、民政部全国行政区划信息查询平台网页xzqh.mca.gov.cn等是网页查询工具或静态代码数据页未提供可免费程序化调用的接口地址仅作官网入口参考。高德 / 百度 / 天行本次因无 key 未实测写法来自官方文档集成前请自行验证。常见问题 FAQ1. 免费行政区划查询接口里哪些不需要申请 key不需 key 的主要有 uapis按次耗积分和民政部·国家地名信息库其余多为需注册免费 key 的商业开放平台接口。两者本次均已实测调通。2. 哪些接口本次做了真实请求实测无需 key 的 uapis、民政部已实测调通用户提供 appKey 的易源 1149 经实测确认调通query 参数与请求头两种鉴权方式均验证可用。高德、百度、天行因本次无 key 未实测已在文中标注。3. 为什么有的接口返回里没有邮编地图类接口高德、百度、天行普遍不含邮编字段只返回 adcode / 名称 / 经纬度。需要邮编、区号时选易源 1149实测可用appKey 放 query 参数或请求头均可或单独接邮编库。4. 万维易源 1149 接口要怎么认证appKey 放query 参数?appKey或请求头appkey均可实测两种写法都能取到业务数据。query 参数写法最常用已实测可用curlhttps://route.showapi.com/1149-1?appKey你的key\-HContent-Type: application/x-www-form-urlencoded\-dlevel2-dareaName昆明市-dpage1请求头写法curlhttps://route.showapi.com/1149-1\-Happkey: 你的key\-HContent-Type: application/x-www-form-urlencoded\-dlevel2-dareaName昆明市-dpage1注意早期一次不干净的对照实验曾误以为query 参数返回空、必须用请求头后经同参数对照验证两种写法等效详见正文第 3 节鉴权说明。5. 高德 / 百度 / 天行的 key 在哪里申请分别在各自开放平台注册开发者后创建Web 服务类型应用即可拿到 key / ak个人通常有免费额度。6. 哪个接口能查到国外的行政区划uapis 的 district 接口支持中国四级 全球 243 个国家的行政区域查询是少数覆盖国际的源已实测可用。7. 民政部的接口稳定吗能直接上生产吗民政部国家地名信息库是官方权威来源本次实测能正常返回。但公开资料里没有官方 API 文档参数来自二手博客政府站也可能限频 / 反爬建议先自行抓包验证再决定是否接入。8. 这些接口收费吗多数有免费额度如天行普通会员约 100 次/天、高德 / 百度按调用量阶梯超量后按次计费uapis 按积分扣减易源按showapi_fee_num计次。9. 返回的行政区划级别到哪一级易源 1149、高德、天行、百度均到五级省 / 市 / 区 / 街道 / 社区或村uapis 中国部分到区县级、并覆盖全球国级民政部到省 / 地 / 县 / 乡四级。10. 调用时接口突然失效怎么办采用多源降级把多个接口列为对等节点一个失败自动切下一个。本文生产环境参考实现演示了该结构各源排序由你按成本自定。11. 本文列出的接口都实测过可用吗不是。uapis、民政部、易源 1149 已实测调通易源经重测确认 appKey 放 query 参数或请求头均可高德、百度、天行因无 key 未实测写法来自官方文档集成前请自行验证返回结构与稳定性。