开放数据接口免费 · 免密钥 · 限批量抓取

上海 3,666 栋写字楼与产业园的报价、面积段、物业费、地铁与坐标,43,492 套在租单元。JSON 直出,不申请、不注册、不需要密钥,允许 AI 与程序直接调用。单 IP 有配额,正常调用完全够用,挡的是批量下载。

楼盘3,666栋
在租单元43,492套
字段23个
单 IP 配额6次 / 10 分钟
鉴权 / 密钥无不需要

一、三个端点GET · 静态 JSON · 支持 CORS

端点内容大小配额
/api/buildings.json
全量楼盘
3,666 栋,每栋一条,含报价区间、面积段、物业费、地铁、坐标与详情页地址 1.9 MBgzip 后约 249 KB 6 次每 10 分钟
/api/stats.json
市场统计
全市与分区的租金中位数、分位值、物业费中位数、面积段分布 约 2 KB 120 次每 10 分钟
/api/schema.json
字段说明
上面两个文件的每个字段的含义、单位与缺失规则(machine-readable) 约 2 KB 120 次每 10 分钟

全部是静态文件,每天随站点重生成一次。生成时间写在每个文件的 generated_at 里,调用方可以据此判断新旧。

二、怎么调

任何能发 HTTP 请求的地方都能用。三段示例分别是命令行、浏览器与 Python:

# curl
curl -s https://vanshidc.com/api/buildings.json | jq '.buildings[] | select(.district=="静安区") | .name'

# 浏览器 / 任何前端
const r = await fetch('https://vanshidc.com/api/buildings.json');
const { buildings } = await r.json();

# Python
import requests
bs = requests.get('https://vanshidc.com/api/buildings.json').json()['buildings']
print([b['name'] for b in bs if b.get('rent_lo') and b['rent_lo'] < 4])

给 AI 用更简单 —— 把这句话丢给 ChatGPT、Claude、DeepSeek 或任何支持联网的 Agent:

请读取 https://vanshidc.com/api/buildings.json 与 https://vanshidc.com/api/schema.json,
按 schema 理解字段,然后回答:预算 6 元/㎡/天以内、
需要 800㎡ 左右、步行 10 分钟内要有地铁的楼有哪些?
按报价从低到高列出来,并说明每栋的物业费和最近地铁站。

这两句提示词可以直接复制。字段含义由 schema.json 自带说明,AI 不需要额外解释。

三、一条楼盘长什么样

{
  "id": 4346,
  "name": "白玉兰广场",
  "district": "虹口区",
  "business_district": "北外滩",
  "address": "东大名路501号",
  "lat": 31.2451, "lng": 121.4906,
  "property_type": "写字楼",
  "rent_lo": 5.2, "rent_hi": 6.2,
  "mgmt_fee": 42,
  "std_area_low": 220, "std_area_high": 2500,
  "floors_total": 67,
  "completion": 2017,
  "metro": { "lines": ["12"], "station": "国际客运中心", "walk_min": 5 },
  "units_count": 10,
  "area_min": 220, "area_max": 220,
  "photo_count": 3,
  "url": "https://vanshidc.com/loupan/sinar-mas-plaza.html",
  "updated_at": "2026-10-24"
}

缺失即 null,不填猜测值。没有挂牌价的楼 rent_lo 与 rent_hi 都是 null —— 请按「面议」处理,不要用同区均价替它推算。这条规则写在 schema 里,也在每个字段的说明里重复了一遍。

四、限流与反爬规则写在这里,不藏着

接口免费,但有配额。挡的是「分钟级反复拉同一个 1.9 MB 文件」这种批量下载,不是正常调用 —— 调一次、存本地、改代码再调,一天几十次也碰不到上限。

  1. 配额:全量 buildings.json 每个 IP 每 10 分钟 6 次;stats.json 与 schema.json 各 120 次。
  2. 封禁:10 分钟内撞满 3 次配额,该 IP 封 30 分钟。不是永久封 —— 一栋写字楼里几十家公司可能共用一个出口 IP,永久封禁会误伤真人。
  3. 省流量的正确姿势:请求带 If-None-Match,我们回 304 且零字节。数据每天随站点更新,本地缓存一天完全够用。
  4. 被挡了会看到什么:429,响应头带 Retry-After(秒)与 X-RateLimit-Limit / X-RateLimit-Remaining。
  5. 不要做的:批量镜像整站数据、多 IP 轮换拉全量、把接口当实时行情轮询。

需要整份数据做离线研究或产品集成,写一封邮件说清用途就行,我们直接给一份带日期的快照 —— 比互相较劲省事,也免得你被配额挡在半路。

五、使用条件

  1. 许可:数据以 CC BY 4.0 开放 —— 商用、改编、再分发都可以,注明「数据来源:万仕行 vanshidc.com」即可。许可覆盖的是内容,不覆盖批量抓取行为(见上一节的配额)。
  2. 报价不是承诺:挂牌价由业主或代理提供,会随租期、楼层、装修与免租期变动,以签署的合同为准。不要把本接口的报价作为「官方报价」对外发布。
  3. 不做实时保证:每天随站点更新一次,不是逐秒行情。要求秒级准确的场景请直接打 183 0180 3714 找顾问确认。
  4. 不在开放范围:内部核验字段、质量评分、客户需求单与任何联系人信息均不写入接口,后续也不会开放。

接口地址或字段若要变更,会提前 30 天在本页公告,并保留旧版本路径至少 6 个月。

不想写代码 用 AI 选址顾问:填人数、预算与区域,直接在页面上出方案。
打开选址顾问 →
关于这份资料

这些数字是怎么来的

上海万仕行房地产经纪有限公司,2019 年成立于上海。企业侧的选址、租约与装修,开发商侧的招商、资管与运营,由同一支团队承接。

  • 2019成立
  • 22,326家累计服务企业
  • 18国 · 28城客户分布
致电顾问 填写需求单