视频号有 API 吗?用 Python 取账号作品和评论(2026)
微信没有给开发者读别人视频号作品和评论的接口;要用程序读,用第三方数据接口。下面用 DataXAPI 的 Python SDK 演示,免费试用,最多 333 次。 用 3 个接口:微信视频号账号搜索 → 微信视频号用户作品 → 微信视频号作品评论。下面的示例一共 8 次调用,合计 $0.20;失败的调用不收费。
按名称找到视频号,取它最近两页作品,再取前 5 条的评论,写进一张 CSV:作品文案、点赞数、评论正文、评论点赞数、时间。
第 1 步:微信视频号账号搜索
按名称找视频号,名称要一字不差;id 是 v2_ 开头、@finder 结尾的账号编号。
curl -G "https://api.dataxapi.com/v1/wechat_channels/users/search" \ --data-urlencode "query=央视新闻" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
# pip install dataxapi from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.wechat_channels.users.search(query="央视新闻") print(result["data"]["items"])
// npm i @dataxapi/sdk import { DataXAPI } from "@dataxapi/sdk"; const dx = new DataXAPI(); // reads DATAXAPI_API_KEY const result = await dx.wechat_channels.users.search({ query: "央视新闻" }); console.log(result.data.items);
dataxapi call wechat_channels.users.search 'query=央视新闻'{
"code": "ok",
"request_id": "9b4ae98e-ff1c-4be2-a081-de7a4c417320",
"data": {
"items": [
{
"id": "v2_060000231003b20f05a99829d60f183968442cbbd75213164b2ee52fc0a0ade5678bd240c0@finder",
"name": "山野咖啡馆",
"bio": "记录生活里的小确幸|合作请私信",
"avatar_url": "https://wx.qlogo.cn/mmhead/sYXnQFwJZb0xiPhE5pI7TE9SVTvf0TcvVbc0dzgM/132",
"verified": false
},
// … 另有 1 条
]
},
"page": {
"next_cursor": null,
"cursor_expires_at": null,
"has_more": false,
"returned": 2
},
"warnings": [],
"meta": {
"capability": "wechat_channels.users.search",
"result_status": "complete",
"fetched_at": "2026-10-29T10:19:50.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"username": "platform",
"url": "platform",
"created_at": "capability",
"metrics": "capability"
},
"billing": {
"amount": "0.06",
"currency": "USD",
"balance_after": "9.94"
}
}
}取自 2026-10-29 10:19 UTC 录下的真实返回。名字、正文和编号是示例,链接也是,都不是录到的原文(页面不展示任何人的个人信息);数字是原样。长列表做了截断。请求号、游标和余额是示意。
微信视频号账号搜索 · $0.0600 / 一次 · 参数、字段和报错见接口页 →
第 2 步:微信视频号用户作品
把账号编号放进 id,取一页作品,从新到旧;下一页用 page.next_cursor。每条的 id 是作品编号。
curl -G "https://api.dataxapi.com/v1/wechat_channels/users/videos/list" \ --data-urlencode "id=v2_060000231003b20faec8c5e5811dc3ddce02ec30b0772029a703e1b9f446ba147658bbcfab81@finder" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
# pip install dataxapi from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.wechat_channels.users.videos.list(id="v2_060000231003b20faec8c5e5811dc3ddce02ec30b0772029a703e1b9f446ba147658bbcfab81@finder") print(result["data"]["items"])
// npm i @dataxapi/sdk import { DataXAPI } from "@dataxapi/sdk"; const dx = new DataXAPI(); // reads DATAXAPI_API_KEY const result = await dx.wechat_channels.users.videos.list({ id: "v2_060000231003b20faec8c5e5811dc3ddce02ec30b0772029a703e1b9f446ba147658bbcfab81@finder" }); console.log(result.data.items);
dataxapi call wechat_channels.users.videos.list id=v2_060000231003b20faec8c5e5811dc3ddce02ec30b0772029a703e1b9f446ba147658bbcfab81@finder
{
"code": "ok",
"request_id": "2143009c-a56e-4423-a070-e4b13334cc49",
"data": {
"items": [
{
"id": "14031298325505939525",
"type": "video",
"text": "周末露营|第一次尝试就爱上了,清单放评论区",
"published_at": "2026-10-17T04:01:50.000Z",
"author": {
"id": "v2_060000231003b20feb309ebc5d518611c23f3acfd8710c36fa0cf94a87b33dd1af62d903a6@finder",
"name": "老周说装备"
},
"metrics": {
"likes": 4,
"comments": 0,
"shares": 8,
"favorites": 13
}
},
// … 另有 14 条
]
},
"page": {
"next_cursor": "c1.F0ZqnT3QiojAZwQ9pjt4q0VB88XXKYhLbBXIaplQ",
"cursor_expires_at": "2026-10-17T11:14:05.000Z",
"has_more": true,
"returned": 15
},
"warnings": [],
"meta": {
"capability": "wechat_channels.users.videos.list",
"result_status": "complete",
"fetched_at": "2026-10-17T10:14:05.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"url": "platform",
"title": "platform",
"lang": "capability",
"author.username": "platform",
"author.avatar_url": "capability",
"author.verified": "capability",
"author.followers": "capability",
"metrics.views": "capability",
"metrics.reposts": "platform",
"images": "capability",
"hashtags": "capability",
"mentions": "capability",
"is_pinned": "capability",
"post_id": "platform",
"parent_id": "platform",
"root_id": "platform"
},
"billing": {
"amount": "0.02",
"currency": "USD",
"balance_after": "9.98"
}
}
}取自 2026-10-17 10:14 UTC 录下的真实返回。名字、正文和编号是示例,链接也是,都不是录到的原文(页面不展示任何人的个人信息);数字是原样。长列表做了截断。请求号、游标和余额是示意。
微信视频号用户作品 · $0.0200 / 一次 · 参数、字段和报错见接口页 →
第 3 步:微信视频号作品评论
把作品编号放进 id,取一页一级评论,带 IP 属地。
curl -G "https://api.dataxapi.com/v1/wechat_channels/videos/comments/list" \ --data-urlencode "id=14559898883113486609" \ -H "Authorization: Bearer $DATAXAPI_API_KEY"
# pip install dataxapi from dataxapi import DataXAPI dx = DataXAPI() # reads DATAXAPI_API_KEY result = dx.wechat_channels.videos.comments.list(id="14559898883113486609") print(result["data"]["items"])
// npm i @dataxapi/sdk import { DataXAPI } from "@dataxapi/sdk"; const dx = new DataXAPI(); // reads DATAXAPI_API_KEY const result = await dx.wechat_channels.videos.comments.list({ id: "14559898883113486609" }); console.log(result.data.items);
dataxapi call wechat_channels.videos.comments.list id=14559898883113486609
{
"code": "ok",
"request_id": "4936e536-b2a8-46ef-9132-0ad7b1d40233",
"data": {
"items": [
{
"id": "14599225504823757671",
"text": "第三个建议太实用了!",
"published_at": "2024-12-31T20:01:33.000Z",
"author": {
"id": "v2_060000231003b20fa4351d5400566796ed36158bb99b591533bcfe49e950522f0446689d86@finder",
"name": "山野咖啡馆",
"avatar_url": "https://wx.qlogo.cn/mmhead/kIZxpOrIhPoPPWoaXrILQ45F4oZTzTPtQa6ADu6x/132"
},
"metrics": { "likes": 349 },
"post_id": "14752989122976584035",
"parent_id": null,
"root_id": null
},
// … 另有 23 条
]
},
"page": {
"next_cursor": "c1.SUxO2elUiHjFkB53f7ECZr8FM9MFD0eQZJ1J-6Rh",
"cursor_expires_at": "2026-10-13T04:25:36.000Z",
"has_more": true,
"returned": 24
},
"warnings": [],
"meta": {
"capability": "wechat_channels.videos.comments.list",
"result_status": "complete",
"fetched_at": "2026-10-13T03:25:36.000Z",
"cached": false,
"replayed": false,
"unavailable": {
"url": "platform",
"author.username": "platform",
"metrics.comments": "capability"
},
"billing": {
"amount": "0.02",
"currency": "USD",
"balance_after": "9.98"
}
}
}取自 2026-10-13 03:25 UTC 录下的真实返回。名字、正文和编号是示例,链接也是,都不是录到的原文(页面不展示任何人的个人信息);数字是原样。长列表做了截断。请求号、游标和余额是示意。
微信视频号作品评论 · $0.0200 / 一次 · 参数、字段和报错见接口页 →
示例花多少钱
找号一次,两页作品,再取 5 条作品各一页评论
价格是生成本页时的现行价格。失败的调用不收费。
在 AI 里做(MCP)
把 DataXAPI 接进你的 AI 客户端,只要接一次。之后直接说要什么,代理自己找到这些接口、看好价格,用你的余额调用。
{
"capability": "wechat_channels.users.search",
"query": "央视新闻",
"idempotency_key": "<a new UUID>"
}用 Skill 做
为什么用 DataXAPI
- 稳定:近 30 天接口可用 99.0%,状态页公开,可以自己核对。
- 快:近 7 天付费调用的中位耗时 2.3 秒(2026-11-06 统计)。
- 省 token:微信视频号的 15 个接口各取一份录制的真实返回,平台原始 JSON 合计 23.1 万 token,AI 通过 DataXAPI 的 MCP 读到的只有 3.5 万 token,少 85%;直接调接口拿到的 JSON 也少 82%(2026-11-06 统计)。所有平台同一种格式:作者在
author,互动数在metrics,翻页用page.next_cursor,换平台不用重写解析。 - 先看再用:每个接口的页面上都有一份录制的真实返回,字段一目了然。
- 花钱可控:失败不收费;每把 Key 能设金额上限,
X-Max-Price限定一次最多花多少,同一个Idempotency-Key24 小时内不重复扣费。 - 接 AI 方便:远程 MCP 服务已在 MCP 官方登记处登记(
com.dataxapi/mcp),Claude、Cursor、ChatGPT 都能直接用。 - 免费试用,最多 333 次,不用绑卡。
要知道的
- 手里只有作品分享链接时,用
wechat_channels.videos.get传链接,返回的author.id就是账号编号。 - 不用微信号,也不用扫码。
- 不写代码也行:把 DataXAPI 接进 Claude 或 ChatGPT,用下面“在 AI 里做”的那句话。
完整脚本
上面这件事写成一个能直接跑的脚本:Python,用 SDK,Key 从 DATAXAPI_API_KEY 读。它写出一个 CSV 文件,最后打印调了几次、取到几条、扣了多少。
# pip install dataxapi # export DATAXAPI_API_KEY=dx_... (your key) import csv from decimal import Decimal from dataxapi import DataXAPI dx = DataXAPI() calls, fetched, charged = 0, 0, Decimal("0") def run(capability, params): """One call; counts it and what it was charged.""" global calls, charged result = dx.call(capability, params) calls += 1 charged += Decimal(str(result["meta"]["billing"]["amount"])) return result NAME = "央视新闻" PAGES, VIDEOS = 2, 5 # 1. The account ID (v2_...@finder) for the exact name. account = run("wechat_channels.users.search", {"query": NAME})["data"]["items"][0]["id"] # 2. Its videos, newest first, page after page. videos, cursor = [], None for _ in range(PAGES): page = run("wechat_channels.users.videos.list", {"id": account, **({"cursor": cursor} if cursor else {})}) videos += page["data"]["items"] cursor = page["page"]["next_cursor"] if not page["page"]["has_more"]: break # 3. A page of comments under the first few. rows = [] for video in videos[:VIDEOS]: for comment in run("wechat_channels.videos.comments.list", {"id": video["id"]})["data"]["items"]: rows.append([video.get("text"), video["metrics"].get("likes"), comment.get("text"), comment["metrics"].get("likes"), comment.get("published_at")]) fetched = len(rows) with open("channels-comments.csv", "w", newline="", encoding="utf-8") as file: csv.writer(file).writerows([["caption", "video_likes", "comment", "comment_likes", "published_at"], *rows]) print(f"calls: {calls}, items: {fetched}, charged: ${charged}")