文档

数据订阅 API

用 HTTP 查询已订阅的公众号文章数据。所有接口都是 GET,返回 JSON。

接口地址:https://data.mppro.top

快速开始

  1. 开通后提供一个 mpp_live_… 开头的密钥(只显示一次,请妥善保存)。
  2. 把它放在请求头 Authorization: Bearer <密钥>。
  3. 先调 /v1/accounts 列出已订阅的公众号与各自可查范围。
  4. 再用 /v1/posts 按号和日期范围查文章。
bash
curl "https://data.mppro.top/v1/posts?account=某财经观察&since=2026-10-16&until=2026-10-23&limit=100" \
  -H "Authorization: Bearer mpp_live_xxxxxxxx"

认证

所有 /v1/* 接口都要带 Authorization: Bearer <密钥>。

接口一览

方法路径说明
GET/v1/accounts我订阅的公众号列表(含可查窗口)
GET/v1/posts文章列表:按号 + 时间范围查,游标分页
GET/v1/posts/{post_id}单篇详情
GET/v1/usage我的用量与剩余额度
GET/openapi.jsonOpenAPI 3.1 描述文件

查询文章

GET /v1/posts

参数必填说明
account是公众号名称(或编号);名称按订阅范围精确匹配,中文需 URL 编码
since否起始日期 YYYY-MM-DD,缺省 = 可查窗口起点
until否截止日期 YYYY-MM-DD,缺省 = 今天
limit否每页条数,默认 50,最大 100
cursor否上一页返回的 next_cursor,翻页用
fields否只返回指定字段,逗号分隔(只能取交集)

返回结构:

json
{
  "ok": true,
  "data": [
    {
      "post_id": "p_8f3k2",
      "account_name": "某财经观察",
      "title": "一文读懂 CPU Uncore",
      "url": "https://mp.weixin.qq.com/s/...",
      "publish_at": "2026-10-23T07:12:00+08:00",
      "publish_date": "2026-10-23",
      "read_count": 12000, "like_count": 88, "wow_count": 21,
      "comment_count": 6, "share_count": 340,
      "digest": "……", "is_original": true
    }
  ],
  "meta": {
    "count": 1, "has_more": false, "next_cursor": "",
    "window": { "since": "2026-10-16", "until": "2026-10-23", "allowed_days": 14 }
  }
}

字段

默认返回 13 个字段:标题、链接、发布时间、日期、阅读、点赞、在看、留言、转发、摘要、原创标记等。fields=title,read_count 可以只取其中几个;请求没有权限的字段会返回 403 并列出可用字段。

分页

用游标翻页,不要用 offset:把上一页的 meta.next_cursor 原样带回来即可。meta.has_more 为 false 时表示没有下一页。

python
import requests

KEY = "mpp_live_xxxxxxxx"
BASE = "https://data.mppro.top"

def fetch(account, since, until, cursor=""):
    q = {"account": account, "since": since, "until": until, "limit": 100}
    if cursor:
        q["cursor"] = cursor
    r = requests.get(f"{BASE}/v1/posts", params=q,
                     headers={"Authorization": f"Bearer {KEY}"}, timeout=30)
    r.raise_for_status()
    return r.json()

data = fetch("某财经观察", "2026-10-16", "2026-10-23")
for post in data["data"]:
    print(post["publish_date"], post["title"], post["read_count"])

额度与可查窗口

  • 可查范围:从订阅当天开始累计,最多 7 天。 刚订阅时只有当天的数据,之后每天往后长,攒满 7 天为止(云端只保留近 7 天,更早的已归档到 R2)。
  • 一次查询最多跨 31 天;分页每页最多 100 条。
  • 默认每分钟 5 次、每天 2000 次,超限返回 429。
  • 历史数据查询有单独的每日次数上限,默认 50 次。

错误码

HTTPcode说明
401unauthorizedAPI Key 无效或已被停用
402payment_required订阅到期或超出配额
403forbidden该号不在订阅范围 / 超出可查窗口 / 字段无权限
404not_found文章不存在(或不在订阅范围)
429rate_limited超过每分钟或每日调用上限

Node 示例:

javascript
const KEY = 'mpp_live_xxxxxxxx';

const res = await fetch(
  'https://data.mppro.top/v1/posts?account=某财经观察&limit=100',
  { headers: { Authorization: `Bearer ${KEY}` } }
);
const { data, meta } = await res.json();
console.log(data.length, meta.has_more);

← 回到数据订阅服务