WeChat Article Scraper API – 公众号 Search, Full Text & Markdown
Pricing
from $2.50 / 1,000 article (search row)s
WeChat Article Scraper API – 公众号 Search, Full Text & Markdown
WeChat article scraper API, no login: search 公众号 (Official Account) articles by keyword via Sogou or pass links; get title, account, publish time, summary, link and full text as Markdown + images. Batch keywords, date filter, only-new monitoring, lean output. $0.0025/article, $0.012/full text.
Pricing
from $2.50 / 1,000 article (search row)s
Rating
0.0
(0)
Developer
AsiaData
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
22 days ago
Last modified
Categories
Security
Limited permissionsShare
Search WeChat Official Account articles (微信公众号文章) by keyword, or pass article links, and get clean JSON back — no login, no cookies, no WeChat account. Each row has the title, account name, publish time, summary, cover and article link; full-text rows add the whole article as Markdown + plain text + image list. Built for AI agents and data pipelines: array inputs, filters, only-new monitoring, a lean mode of ~140 tokens per search row, free dry runs, and error rows that say what to fix.
| You give | You get | Price |
|---|---|---|
keywords[] | article rows: title, summary, accountName, publishedAt, coverUrl, articleUrl, sogouUrl | $0.0025 / row |
keywords[] + operation: "search_and_read" | articleFull rows: all of the above + contentMarkdown, images, author, 原创 flag, IP region, word count | $0.012 / row |
urls[] (Sogou, signed or short mp.weixin.qq.com links) | articleFull rows | $0.012 / row |
keywords[] + operation: "keyword_digest" | articleFull rows + one insights row per keyword (top terms, top accounts, publish timeline, original share, heuristic sentiment) | $0.012 / article, insights row free |
- WeChat article search via Sogou WeChat search (搜狗微信): up to 100 articles per keyword, many keywords per run.
- WeChat article to Markdown: headings, bold, lists, links and images kept; word/image/video counts, author, original (原创) flag, publisher IP region, account WeChat id and bio.
- Sogou WeChat links resolved to the mp.weixin.qq.com article.
- Monitor WeChat keywords:
deltaKeyreturns only articles you have not seen before;trackMetricsreturns every row withisNew,firstSeenAtand rank change vs the last run. - Keyword digest: one input → full text of the top articles → a free statistics row (no AI model, formulas in the capabilities manifest).
- Fast: a 10-row search answers in ~2 s of run time; 10 full articles in ~13 s (Apify, 256 MB, v1.1 benchmark).
- Pay per result: $0.0025 per search row, $0.012 per full-text article, $0.00005 per run start. Errors, the summary row, dry runs and the capabilities manifest are free.
Unofficial; not affiliated with Tencent, WeChat or Sogou. Reads only public pages.
Not available (needs a logged-in WeChat client, so we do not pretend): account search, account history / all articles of an account, read / like / share / "looking" counts, comments, mini-program search, WeChat Index. The accounts filter keeps only results from accounts you name (it filters keyword results; Sogou search is by topic, not by account).
Quick start
{ "keywords": ["人工智能", "新能源汽车"], "maxItemsPerInput": 20 }
Returns 40 article rows (20 per keyword) plus one summary row. Add "operation": "search_and_read" to get the full text of each hit.
WeChat article search
operation: "search_articles" (or just pass keywords in auto mode).
{ "operation": "search_articles", "keywords": ["新能源汽车", "半导体"], "maxItemsPerInput": 30, "dateFrom": "7d", "sortBy": "latest" }
Each article row: title, summary, accountName, publishedAt (ISO, +08:00), publishTimestamp, coverUrl, articleUrl, sogouUrl, position, docId, matchedKeyword + the envelope type, operation, input, queryUsed, id, url, fetchedAt.
WeChat article full text
operation: "search_and_read" = search + full text of every hit (filters run first, so you never pay for bodies you filtered out). operation: "article_details" = full text of links you already have.
{ "operation": "search_and_read", "keywords": ["大模型"], "maxItemsPerInput": 5, "outputMode": "lean" }
{ "operation": "article_details", "urls": ["https://mp.weixin.qq.com/s/3CQSkf_kBnXiCDgS4L-Cgg"] }
Each articleFull row adds: contentMarkdown, contentText (full mode), images[], links[], wordCount, imageCount, videoCount, author, accountId (gh_…), accountAlias, accountDescription, isOriginal, ipRegion, articleType, tags, articleKey (biz_mid_idx), permanentUrl, biz, mid, idx, sn.
Accepted urls: Sogou links (https://weixin.sogou.com/link?url=…, the sogouUrl of a search row), signed mp links (https://mp.weixin.qq.com/s?src=11×tamp=…&signature=…) and short links (https://mp.weixin.qq.com/s/<code>). Long ?__biz=…&sn=… links are usually answered with WeChat's verification page outside the WeChat app; you get a BLOCKED row with the fix (use the short link).
Keyword digest (research workflow)
{ "operation": "keyword_digest", "keywords": ["新能源汽车"], "maxItemsPerInput": 10, "dateFrom": "7d", "outputMode": "lean" }
Searches each keyword, reads the top maxItemsPerInput articles in full (date / account / title filters run before fetching, so skipped articles cost nothing), then adds one free insights row per keyword: articlesAnalyzed, dateRange, topTerms (Chinese 2–4 character n-grams and Latin words, the keyword itself removed), topAccounts, keywordMentions, originalShare, and a lexicon-based sentiment labelled heuristic. It is counting, not an AI summary. matchTerms, minWordCount and onlyOriginal filter after the body is fetched (dropped rows are free, but the run is not faster). Tip: Sogou's relevance order often favours older articles (a 大模型 digest in our test spanned 2023–2024), so add dateFrom for current coverage. include: ["insights"] adds the same row to a plain search (computed from titles and summaries).
Track changes between runs
{ "keywords": ["光伏"], "maxItemsPerInput": 20, "trackMetrics": true, "deltaKey": "solar" }
Unlike plain deltaKey (only new rows), trackMetrics returns every row with snapshotAt, previousSnapshotAt, isNew, firstSeenAt, previousPosition and positionDelta (positive = moved up in Sogou); full-text rows add contentHash, contentChanged and wordCountDelta (edit tracking). Only compact metrics are stored, 30 days, in your own key-value store. WeChat read/like counts are not public, so there are no view deltas.
Sogou WeChat links
Sogou result links resolve to signed, temporary mp.weixin.qq.com links (articleUrl, articleUrlTemporary: true). They expire (a 3-month-old one answers "参数错误"), so fetch the full text soon and keep the content. Sogou-sourced pages do not expose the sn needed for a permanent link, so permanentUrl is null for them; use id (stable hash of account + title) or articleKey (biz_mid_idx) as your key. For short /s/<code> inputs permanentUrl is that short link.
Monitor WeChat keywords
{ "keywords": ["跨境电商"], "deltaKey": "ecom-watch", "dateFrom": "2d" }
Schedule it hourly or daily: each run looks at the top maxItemsPerInput results per keyword and returns (and bills) only those not returned before under ecom-watch; a run with nothing new returns just the free summary (with a "no new articles" warning), not an error. Seen ids are kept 30 days in the named key-value store wechat-article-delta-ecom-watch in your own Apify account.
For AI agents
- One call, arrays in:
keywords[],urls[]. Nothing is required;operationdefaults toauto. - Control:
maxItems(run total, default 50, max 2000),maxItemsPerInput(per keyword, default 20, max 100),maxCostUsd(hard budget, checked before each row is fetched),fields[](projection over every field),include[](fullText,html,images,resolveLinks,insights,trust,metrics),outputMode(compact·full·lean·table),sortBy(relevance·latest),dateFrom/dateTo(2026-10-01, ISO, unix,24h,7d),accounts[],excludeAccounts[],textContains[],deltaKey,trackMetrics,matchTerms[],minWordCount,onlyOriginal,dedupe,expandQuery. - Trust fields: compact/full rows carry
isPartial,unavailableFields[](which returned fields are null and why) andcollectionWarnings[]; null means unknown, 0/false means measured. The summary hasrequestedvsreturned,pagesFetched,stopReasonper keyword. Reaching your ownmaxItemsis not an error: the summary saysstopReason: "maxItems",moreAvailable: true. - Prices in
dryRunandcapabilitiesare read from the run's own pricing at run time, so the quoted maximum is what you can be charged. - Free:
{"dryRun": true, …}returns the plan, translated queries and the maximum cost;{"operation": "capabilities"}returns operations, fields, prices, limits and examples. - English keywords are translated to Chinese with an offline dictionary (
"AI chips"→AI芯片,"electric vehicles"→电动汽车);queryUsedshows what was searched. SetexpandQuery: falseto search as typed. - Lean mode (
outputMode: "lean") drops nulls and envelope keys: a search row istype, id, title, accountName, publishedAt, summary(summary cut to 60 characters, median ~140 tokens); a full-text row addsurl,wordCount,imageCount,content(markdown cut tomaxTextChars, default 600) andcontentTruncated. Lean search rows carry no link by default (it is ~110 random tokens and one extra Sogou request per row); add"include": ["resolveLinks"]to get the temporary mp.weixin.qq.com link asurl, or usesearch_and_readfor the text. - Never silent: problems come back as free
errorrows withcode,messageandfix(MISSING_INPUT,INVALID_INPUT,INVALID_URL,NOT_FOUND,NO_RESULTS,LOGIN_REQUIRED,UNSUPPORTED_OPERATION,BUDGET_REACHED,BLOCKED,UPSTREAM_ERROR). The last row is always a freesummary(rows, billed events, cost, stop reason, filtered counts, warnings, next steps). The run status message says rows, errors, cost and the first fix. - Legacy names accepted:
searchKeywords/queries/searchKeyword→keywords;articleUrls→urls;maxResultsPerQuery/maxArticlesPerKeyword/maxPages→maxItemsPerInput;includeContent: true→include: ["fullText"];onlyNew+memoryName→deltaKey;publishedAfter→dateFrom.
Copy-paste inputs:
| Goal | Input |
|---|---|
| Fast check (~2 s, lean) | {"keywords":["人工智能"],"maxItemsPerInput":10,"outputMode":"lean"} |
| Lean rows with links | {"keywords":["人工智能"],"maxItemsPerInput":10,"outputMode":"lean","include":["resolveLinks"]} |
| Search, newest first, last 7 days | {"operation":"search_articles","keywords":["新能源汽车","半导体"],"maxItemsPerInput":30,"dateFrom":"7d","sortBy":"latest"} |
| Search + full text | {"operation":"search_and_read","keywords":["大模型"],"maxItemsPerInput":5,"outputMode":"lean"} |
| Keyword digest (full text + free stats row) | {"operation":"keyword_digest","keywords":["新能源汽车"],"maxItemsPerInput":10,"dateFrom":"7d","outputMode":"lean"} |
| Rank / edit tracking (schedule it) | {"keywords":["光伏"],"trackMetrics":true,"deltaKey":"solar"} |
| Full text of links | {"operation":"article_details","urls":["https://mp.weixin.qq.com/s/3CQSkf_kBnXiCDgS4L-Cgg"]} |
| Topic, only from chosen accounts | {"keywords":["新能源汽车"],"accounts":["汽车之家","第一财经"],"dateFrom":"30d"} |
| Only new articles (schedule it) | {"keywords":["跨境电商"],"deltaKey":"ecom-watch"} |
| Budget cap | {"operation":"search_and_read","keywords":["机器人"],"maxItemsPerInput":50,"maxCostUsd":0.1} |
| Price check, free | {"keywords":["AI"],"dryRun":true} |
| Manifest, free | {"operation":"capabilities"} |
Output example (compact search row, real run; long URLs shortened here)
{"type": "article","operation": "search_articles","input": "新能源汽车","queryUsed": "新能源汽车","id": "9b07c095dc6f066b","url": "https://mp.weixin.qq.com/s?src=11×tamp=1791871605&ver=7023&signat…","fetchedAt": "2026-10-13T06:06:47.046Z","position": 13,"title": "新能源车出口退税率降了4个点!商用车企咋办?|姚蔚七日谈","summary": "新能源汽车出口量占到汽车总出口量的48.8%,但是商用车出口的103.9万辆中,新能源商用车仅有9.3万辆,只占到了不到9%.中国商...","accountName": "方得网","publishedAt": "2026-10-13T11:45:07+08:00","publishTimestamp": 1791863107,"coverUrl": "https://mmbiz.qpic.cn/mmbiz_jpg/BoTO2V8oia0cic2Quc7v0iaqUhe6Ko4LDFcgUC…","articleUrl": "https://mp.weixin.qq.com/s?src=11×tamp=1791871605&ver=7023&signat…","sogouUrl": "https://weixin.sogou.com/link?url=dn9a_-gY295K0Rci_xozVXfdMkSQTLW6cwJT…","docId": "ab735a258a90e8e1-6bee54fcbd896b2a-7dfb3eabe35ec2624a89369d0602ae00","matchedKeyword": "新能源汽车"}
Pricing
| Event | Price | When |
|---|---|---|
article | $0.0025 | one search row (search_articles) |
article-full | $0.012 | one full-text article (search_and_read, keyword_digest, article_details); not also charged as article |
insights row | free | one per keyword with keyword_digest or include: ["insights"] |
apify-actor-start | $0.00005 | once per run |
| error / summary / plan / capabilities rows | free |
Filtered, duplicate and already-seen (deltaKey) rows are never billed. maxCostUsd and Apify's max cost per run are checked before each row is fetched.
FAQ
How much does 1,000 rows cost? 1,000 search rows = $2.50. 1,000 full-text articles = $12. Example: 5 keywords × 20 results = 100 rows = $0.25 (+ $0.00005 start); the same with full text = $1.20. A dryRun shows the maximum before you pay.
Do I need a WeChat account, cookies or a proxy? No. The Actor reads public Sogou WeChat search pages and public mp.weixin.qq.com article pages. A proxy is only used automatically as a last resort when Sogou keeps refusing a run.
Can I get read counts, likes, comments or every article of one account? No. Those need a logged-in WeChat client; we return an UNSUPPORTED_OPERATION error row instead of pretending. Use keywords + accounts to find an account's recent articles that Sogou indexes.
Are links permanent? Search links (articleUrl) are signed and expire (hours to days), so store the content. Short https://mp.weixin.qq.com/s/<code> links are permanent and fill permanentUrl.
How do I use it from an AI agent? Call it with {"keywords":[...],"outputMode":"lean"}; read the last summary row for cost, errors and next steps. {"operation":"capabilities"} is a free manifest.
Limits
- Sogou shows at most 10 pages × 10 results per keyword (100; some pages list 9, the Actor reads one more page to fill the count). Use more or narrower keywords for more.
- Sogou has no working server-side date filter or date sort;
dateFrom/dateToandsortBy: "latest"are applied by the Actor on the pages it reads. - Sogou rate-limits bursts per IP. The Actor paces requests, starts on Sogou's mobile endpoint, switches to the desktop endpoint with fresh cookies and slows down on a block, and only then tries an Apify datacenter proxy session; if Sogou still refuses you get a
BLOCKEDrow and the run keeps everything else. - Sogou does not index every account or every article, and its result set for a keyword changes over the day.
- Default memory 256 MB (peak ~50 MB). Article pages are read only up to the end of the body (picture posts: up to the end of their metadata), ~0.6 MB of the 2.5–3.5 MB page.
Changelog
See CHANGELOG.md. v2.0 (2026-10-15): keyword_digest + free insights row, trackMetrics change tracking, trust fields, post-fetch filters; dryRun/capabilities prices fixed to the real prices; reaching maxItems is no longer an error row. v1.1 (2026-10-13): faster (Sogou mobile endpoint first, burst-safe fallback), lean search rows ~140 tokens without the link by default, picture posts read 6× fewer bytes. v1.0 (2026-10-13): first release.