How to list a WeChat Channels account's videos

One endpoint does it: WeChat Channels account videos. The worked example below is 2 calls and costs $0.0400 in all; a failed call is not charged.

Open in ChatGPTOpen in Claude

You get the videos a WeChat Channels (视频号) account has posted, newest first, page after page: each video's ID, description, time posted, and its likes, comments, shares and saves.

Step 1: WeChat Channels account videos

List the account's videos by its ID, the username ending in @finder. Each item's id is the video's ID, which the video and comments endpoints take; metrics holds its counts. For the next page, send page.next_cursor as cursor, until page.has_more is false.

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
Recorded response
{
  "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 more
    ]
  },
  "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"
    }
  }
}

From a response recorded 2026-10-17 10:14 UTC. Names, text and IDs are examples, and so are the links: none is the recorded one (the page shows no one's personal data); the figures are as recorded. Long lists are cut. The request ID, cursor and balance are made up.

WeChat Channels account videos · $0.0200 / a call · Parameters, fields and errors on the endpoint's page →

What the example costs

two pages of one account's videos

EndpointCallsPriceSubtotal
Total2$0.0400

Prices are the prices in force when this page was built. A failed call costs nothing.

In your AI (MCP)

Connect DataXAPI to your AI client once. Then say what you want; the agent finds these endpoints, checks the price and calls them on your balance.

Say: Use DataXAPI to list the latest videos of this WeChat Channels account, with each one's likes and comments, as one table.
What the agent sends to the call tool
{
  "capability": "wechat_channels.users.videos.list",
  "id": "v2_060000231003b20faec8c5e5811dc3ddce02ec30b0772029a703e1b9f446ba147658bbcfab81@finder",
  "idempotency_key": "<a new UUID>"
}

Sign in to copy the setup prompt with your keyAbout the MCP server →

Good to know

  • A page.next_cursor is good for an hour: use it within that time to go on.
  • An account without videos returns an empty result, and an empty result is charged like a page with data.

The whole script

The task above as one script that runs as it is: Python, the SDK, your key from DATAXAPI_API_KEY. It writes a CSV file and ends by printing what it called, fetched and was charged.

Python
# 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

ACCOUNT = "v2_060000231003b20faec8c5e5811dc3ddce02ec30b0772029a703e1b9f446ba147658bbcfab81@finder"
PAGES = 2

# The account's videos, newest first, page after page.
rows, cursor = [], None
for _ in range(PAGES):
    page = run("wechat_channels.users.videos.list", {"id": ACCOUNT, **({"cursor": cursor} if cursor else {})})
    for video in page["data"]["items"]:
        counts = video.get("metrics", {})
        rows.append([video["id"], video.get("published_at"), counts.get("likes"), counts.get("comments"), counts.get("shares"), counts.get("favorites"), video.get("text")])
    cursor = page["page"]["next_cursor"]
    if not page["page"]["has_more"]:
        break

fetched = len(rows)
with open("channels-videos.csv", "w", newline="", encoding="utf-8") as file:
    csv.writer(file).writerows([["id", "published_at", "likes", "comments", "shares", "favorites", "text"], *rows])

print(f"calls: {calls}, items: {fetched}, charged: ${charged}")

Run for real on 2026-10-29: 2 calls, 30 rows written, $0.0400 charged. A failed call is not charged.