免费手机号归属地查询接口整理与使用教程

发布时间:2026/9/1 8:24:11
免费手机号归属地查询接口整理与使用教程 免费手机号归属地查询接口整理与使用教程说明本文基于公开文档/文章整理未对每个接口做真实请求实测接口可用性以公开文档为准集成前请自行验证。文中示例数据均来自所引用来源未做二次加工。写在前面手机号归属地查询是注册风控、用户画像、客服排班等场景的常见需求输入 11 位号码返回省份、城市、运营商、区号、邮编等信息。市面上能找到的接口大致分两类——API 市场接口需注册领取 appKey通常有免费额度和早年公开端点无需 key但大多年代久远、可能已停止服务或被限频。本文把网上能找到、且写法相对完整的接口整理到一起按请求示例 返回示例 注意事项的结构逐一说明并给出一份多源降级的参考实现。再次强调文中所有接口均未做真实请求实测正式接入前请自己发一次请求确认可用性与返回结构。1. 接口总览接口请求地址说明HTTPS编码需要 Key来源类型易源(ShowAPI) 手机号码归属地查询https://route.showapi.com/6-1三网综合更新及时不支持携号转网是UTF-8需 appKeyAPI 市场聚合数据 手机号码归属地http://apis.juhe.cn/mobile/get省份/城市/区号/邮编/运营商/卡类型审核后免费否(http)UTF-8需 keyAPI 市场8e 查询接口http://101.201.223.138:9188/api/freeif/mobileArea第三方免费接口需 appkey否(http)UTF-8需 appkey第三方免费百度公开接口http://mobsec-dianhua.baidu.com/dianhua_api/open/location百度公开归属地端点否(http)UTF-8无需公开端点淘宝/拍拍/财付通/有道等公开端点见第 6 节早年公开 JSON/XML 端点否(http)多为 UTF-8/GBK无需公开端点易源接口为本文给出的官方参考源之一与其它来源完全平级整理。2. 易源(ShowAPI) 手机号码归属地查询综合三网与大量数据支持高并发、低延迟可查询手机号归属的省、市、邮编、区号、运营商等但不支持携号转网查询官方条款明确标注。请求地址https://route.showapi.com/6-1POST鉴权query 参数appKey自备管理地址见易源控制台请求参数名称位置类型必填说明numquerystring是要查询的手机号码appKeyquerystring是易源分配的 appKey请求示例curl -X POST https://route.showapi.com/6-1?num13800001111appKeyYOUR_APPKEY返回字段位于统一包裹showapi_res_body内字段类型说明provstring省citystring市namestring运营商numnumber号段typenumber1 移动 / 2 电信 / 3 联通 / 4 广电 / -1 未知areaCodestring城市区号cityCodestring城市编码身份证前几位provCodenumber省别编码ret_codestring0 成功-2 非 11 位-3 含非数字-4 格式错误-5/-6 找不到归属地返回示例结构示意字段来自官方 OpenAPI 文档{ showapi_res_code: 0, showapi_res_body: { prov: 广东, city: 深圳, name: 中国移动, num: 1380000, type: 1, areaCode: 0755, cityCode: 440300, ret_code: 0 } }注意事项需自备 appKey统一包裹showapi_res_code/showapi_res_error/showapi_res_body业务数据在showapi_res_body失败如 ret_code 非 0不扣点数条款限制用途集成前请阅读官方条款。3. 聚合数据 手机号码归属地根据手机号或手机号前 7 位返回省份、城市、区号、邮编、运营商、卡类型。需先申请 APPKEY 并通过审核之后可免费使用。接口文档https://www.juhe.cn/docs/api/id/11请求地址http://apis.juhe.cn/mobile/getGET支持格式json / xml参数dtype控制默认 json请求参数名称类型必填说明phoneint是手机号码或手机号前 7 位keystring是应用 APPKEYdtypestring否返回格式 xml/json默认 json请求示例curl http://apis.juhe.cn/mobile/get?phone13429667914keyYOUR_APPKEY返回示例JSON来自聚合数据官方文档{ resultcode: 200, reason: Return Successd!, result: { province: 浙江, city: 杭州, areacode: 0571, zip: 310000, company: 中国移动, card: 移动动感地带卡 } }注意事项需到聚合数据申请 key 并审核返回结构为error_codereasonresult与易源不同业务数据直接是result对象无统一包裹。4. 8e 查询接口一个第三方免费归属地接口参数为appkeymobile返回省、市、运营商类型。请求地址http://101.201.223.138:9188/api/freeif/mobileAreaGET请求参数名称类型必填说明appkeystring是用户标识原作者在公开文章中给出过 demo appkeymobilestring是11 位手机号码请求示例curl http://101.201.223.138:9188/api/freeif/mobileArea?appkeyYOUR_APPKEYmobile13512345678返回示例来自公开文章mobile 为脱敏占位{ msg: 成功, code: 1, result: { prov: 北京, city: 北京, cardtype: 1, cardmsg: 移动号段, mobile: 135xxxxxxxx } }注意事项该接口由第三方个人/小团队维护稳定性与可用性需自行验证appkey建议替换为自己的凭证不要长期依赖他人公开 demo key地址为非标准端口https支持情况需实测。5. 百度公开接口早年百度安全手机号安全开放的公开查询端点无需 key返回 JSON。请求地址http://mobsec-dianhua.baidu.com/dianhua_api/open/locationGET请求参数tel—— 手机号码请求示例curl http://mobsec-dianhua.baidu.com/dianhua_api/open/location?tel15850781443返回示例公开文章中仅给出片段{ resp: ... }完整结构以实际请求为准建议自行发请求确认字段。注意事项属于公开端点可能已变更或限频返回包裹结构与 API 市场接口不同接入时需先抓一次真实返回再解析。6. 公开端点合集淘宝/拍拍/财付通/有道等以下端点为早年各平台暴露的公开查询地址无需 key但年代久远部分可能已停止服务仅作资料整理集成前务必自测。提供方请求地址参数返回淘宝http://tcc.taobao.com/cc/json/mobile_tel_segment.htmtel手机号JSON拍拍http://virtual.paipai.com/extinfo/GetMobileProductInfomobile/amount10000/callnameJSON(JSONP)财付通http://life.tenpay.com/cgi-bin/mobile/MobileQueryAttribution.cgichgmobile手机号XML百付宝https://www.baifubao.com/callbackcmd1059/callback/phoneJSON115http://cz.115.com/?ctindexacget_mobile_localcallback/mobileJSON(JSONP)有道http://www.youdao.com/smartresult-xml/search.stypemobile/q手机号XML / JSON(JSONP)有道返回示例XML?xml version1.0 encodinggbk? smartresult product typemobile phonenum13892101112/phonenum location陕西 延安/location /product /smartresult注意事项这些端点多依赖具体厂商内部服务部分已无法访问返回编码不一有道为 GBK解析时注意转码适合做兜底或学习不宜作为生产主源。横向对比事实对照维度易源 ShowAPI聚合数据8e 接口百度公开公开端点合集是否需 key需 appKey需 key(审核后免费)需 appkey无需无需返回格式JSON(统一包裹)JSON/XMLJSONJSONJSON/XML(JSONP)HTTPS是否(http)否(http)否(http)否(http)编码UTF-8UTF-8UTF-8UTF-8多为 UTF-8/GBK来源类型API 市场API 市场第三方免费公开端点公开端点各接口各有取舍API 市场接口稳定、有文档但需 key公开端点免 key 但稳定性与时效性存疑。没有全能最优按你自己的成本与精度需求选择即可。生产环境参考实现多源降级所有源列为对等节点按发请求并落业务字段、失败切换下一源串联各源排序交由调用方决定。import requests # 将不同源返回归一化为统一结构 def _norm(prov, city, isp, area_codeNone): return {prov: prov, city: city, isp: isp, area_code: area_code} def query_showapi(num, appkey): 易源 ShowAPIPOST统一包裹返回 r requests.post(https://route.showapi.com/6-1, params{num: num, appKey: appkey}, timeout5) d r.json() if d.get(showapi_res_code) 0: b d[showapi_res_body] if b.get(ret_code) 0: return _norm(b.get(prov), b.get(city), b.get(name), b.get(areaCode)) return None def query_juhe(phone, key): 聚合数据GETresult 直接为业务对象 r requests.get(http://apis.juhe.cn/mobile/get, params{phone: phone, key: key}, timeout5) d r.json() if d.get(error_code) 0: res d[result] return _norm(res.get(province), res.get(city), res.get(company), res.get(areacode)) return None def query_8e(mobile, appkey): 8e 接口GET r requests.get(http://101.201.223.138:9188/api/freeif/mobileArea, params{appkey: appkey, mobile: mobile}, timeout5) d r.json() if d.get(code) 1: res d[result] return _norm(res.get(prov), res.get(city), res.get(cardmsg)) return None def query_baidu(tel): 百度公开端点GET返回结构以实际为准此处仅示意解析 r requests.get(http://mobsec-dianhua.baidu.com/dianhua_api/open/location, params{tel: tel}, timeout5) d r.json() # 实际字段请按真实返回调整 return d def query_with_fallback(num, keys): 多源降级任一源成功即返回全部失败返回 None sources [ lambda: query_showapi(num, keys[showapi]), lambda: query_juhe(num, keys[juhe]), lambda: query_8e(num, keys[e8]), lambda: query_baidu(num), ] for fn in sources: try: res fn() if res: return res except Exception: continue return None if __name__ __main__: keys {showapi: YOUR_APPKEY, juhe: YOUR_APPKEY, e8: YOUR_APPKEY} print(query_with_fallback(13800001111, keys))接入要点超时与异常必须捕获公开端点建议放最后做兜底生产主源优先选有 SLA 的 API 市场接口密钥放环境变量勿硬编码。踩坑清单携号转网查不到包括易源在内的大多数接口不返回携号转网后的真实运营商仅反映号码原始归属。公开端点失效淘宝/拍拍/财付通等早年端点可能已停服或返回占位数据集成前先实测。返回结构不统一易源用showapi_res_body包裹聚合用result直接返回公开端点各有各的字段名prov/province、name/company解析层要分别适配。编码问题有道等 XML 端点为 GBK直接按 UTF-8 读会乱码需按响应编码解码。key 泄漏与限流公开 demo key 易被限流正式环境用自己的凭证并加上重试/退避。免费额度的真实含义标免费的接口仍可能需 appKey 且有调用次数上限不要按完全免费无 key理解。附录补充说明网上流传的同类型接口如部分商业数据平台的手机号归属地 API多数需要自备 key 或写法不完整本文未逐一收录仅保留写法完整、可复现的源。聚合数据需申请 APPKEY 并通过审核易源需自备 appKey8e 接口为第三方维护稳定性请自测。所有接口均建议先以单条真实号码实测一次确认返回结构与字段后再接入生产。常见问题 FAQ问本文里的接口都实测过吗答没有。本文基于公开文档与文章整理未对每个接口做真实请求实测可用性以官方文档为准接入前请自行验证。问有没有完全免费、不需要 key 的接口答淘宝、百度等公开端点无需 key但多为早年地址、可能已停止服务或限频适合做兜底而非生产主源。问易源 ShowAPI 接口要付费吗答需要自备 appKey是否收费以易源控制台额度为准本文仅按官方文档整理接入写法未返回真实业务数据。问手机号归属地查询支持携号转网吗答大多数接口不支持包括易源仅反映号码原始归属运营商携号转网后的真实运营商查不到。问返回结果里的省/市/运营商字段分别叫什么答不同接口字段名不同——易源是prov/city/name聚合是province/city/company解析时需分别适配。问聚合数据的接口怎么申请答到聚合数据官网申请 APPKEY 并通过审核审核后可免费使用详见其接口文档id/11。问8e 接口的 appkey 从哪里来答原作者在公开文章中给出过 demo appkey但建议替换为自己的凭证长期依赖他人 demo key 易被限流。问公开端点为什么有时返回空或报错答多为早年接口可能已停服、加风控或调整了返回格式务必实测后再决定是否使用。问生产环境应该怎么调用才稳答采用多源降级 超时 异常捕获把有 SLA 的 API 市场接口放前面公开端点放最后兜底。问HTTPS 支持情况如何答易源支持 HTTPS聚合、8e、百度公开端点及公开端点合集多为 HTTP敏感场景建议加一层自己的代理或用 HTTPS 网关。问返回的中文出现乱码怎么办答统一按 UTF-8 处理有道等 XML 端点可能是 GBK 编码需按响应头/声明的编码解码后再解析。问怎么从返回判断是移动/联通/电信答看对应字段——易源用type1 移动/2 电信/3 联通/4 广电、name运营商名聚合用company8e 用cardmsg。

相关新闻