蓝虾仁工具站 - 邮编查询API开发文档

提供全国邮政编码查询服务,每日300次内免费,超出后按阶梯收费,稳定高效的API服务

一、API概述

1. 功能说明

本API提供全国邮政编码查询服务,支持省/市/区/街道四级地址精准查询,基于云端数据库,查询响应快速(毫秒级返回),适用于工具站、表单验证、物流系统等场景。

2. 核心优势

  • 高精度:支持全国34个省级行政区的邮编查询
  • 支持模糊查询(部分地址关键词匹配)
  • 响应格式统一,易于集成
  • 每日300次免费额度,满足基本需求
  • 多种计费套餐,灵活选择

二、基础信息

1. 接口地址

POST https://api.lanxiaren.com/api/tools/postcode

2. 请求方式

  • 方法:POST
  • 数据格式:application/x-www-form-urlencodedapplication/json
  • 字符编码:UTF-8
  • 跨域支持:默认允许所有域名跨域

3. 请求频率限制

  • 免费额度:每日300次调用
  • QPS限制:10次/秒(同IP)
  • 超过免费额度后,需购买套餐或按量付费

三、请求参数

参数名 类型 是否必选 描述 示例值
province String 省份名称(支持简称/全称) 广东省、广东
city String 城市名称(地级市/直辖市) 深圳市、北京
district String 区/县名称 南山区、海淀区
street String 街道/乡镇名称(选填) 科技园街道
api_key String API密钥(注册后获取) lxr_1234567890abcdef

四、响应格式

1. 成功响应(code=200)

{
  "code": 200,
  "msg": "查询成功",
  "postcode": "518057",
  "address": "广东省深圳市南山区科技园街道",
  "adcode": "440305",
  "quota": {
    "used": 25,
    "remaining": 275,
    "total": 300
  }
}

2. 失败响应(code≠200)

{
  "code": 429,
  "msg": "今日免费额度已用尽,请购买套餐继续使用"
}

五、错误码对照表

状态码 描述 解决方案
400 请填写完整的省份和城市信息! 检查province和city参数是否为空
401 API密钥无效或已过期 检查api_key是否正确
403 套餐额度已用完 升级套餐或等待下个月重置
404 未查询到该地址的邮编 调整地址关键词
429 今日免费额度已用尽 注册账号获取API密钥,或购买套餐
500 服务器内部错误 稍后重试,或联系技术支持

六、调用示例

1. 前端原生JS调用

// 邮编查询函数
async function queryPostcode(province, city, district, street = '') {
  try {
    const requestData = new URLSearchParams({
      province: province,
      city: city,
      district: district,
      street: street
    });

    const response = await fetch('https://api.lanxiaren.com/api/tools/postcode', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      body: requestData
    });

    const result = await response.json();
    if (result.code === 200) {
      console.log('查询成功:', result.postcode);
      return result;
    } else {
      console.error('查询失败:', result.msg);
      return result;
    }
  } catch (error) {
    console.error('网络异常:', error.message);
    return { code: 500, msg: '网络异常' };
  }
}

// 调用示例
queryPostcode('广东省', '深圳市', '南山区', '科技园街道');

2. 后端PHP调用示例

<?php
// PHP调用邮编查询API示例
function callPostcodeAPI($province, $city, $district, $street = '', $apiKey = '') {
  $apiUrl = 'https://api.lanxiaren.com/api/tools/postcode';
  
  $params = [
    'province' => $province,
    'city' => $city,
    'district' => $district,
    'street' => $street
  ];
  
  if (!empty($apiKey)) {
    $params['api_key'] = $apiKey;
  }
  
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $apiUrl);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  
  $response = curl_exec($ch);
  curl_close($ch);
  
  return json_decode($response, true);
}

// 调用示例
$result = callPostcodeAPI('广东省', '深圳市', '南山区');
if ($result['code'] === 200) {
  echo "邮编:" . $result['postcode'];
} else {
  echo "错误:" . $result['msg'];
}
?>

七、在线演示

API调用演示

填写地址信息,测试API调用:

提示:此演示使用模拟数据,实际调用请使用真实API地址

八、注意事项

免费额度限制:每个IP地址每日300次免费调用,超过后返回429错误码

API密钥安全:请妥善保管您的API密钥,不要在客户端代码中硬编码

地址匹配规则:支持部分关键词模糊匹配,建议传入完整名称以提高精准度

建议:对于高并发场景,建议在客户端添加请求队列,避免触发频率限制(10次/秒)

技术支持