AI Social API

Asian forum scrapability & cost table

Thirteen major Asian forums, after actually running them: what the data looks like, which exit IP it takes, and what one item costs. Not guesswork — 9 rows are read out of actors that run every day, the rest out of probe records.

Snapshot 2026-09-04 · 9 green / 3 amber / 1 red · 5 markets: TW, HK, SG, TH, MY

  • Green — a direct request or a datacenter proxy is enough
  • Amber — reachable, but needs a residential IP or a specific UA; costlier and more brittle
  • Red — browser-only, negative margin at current pricing, so we do not build it
Status Site Data shape What it takes to get a 200 Cost / item Actor
Green PTT TW · ptt.cc HTML (BBS web view) Direct, no proxy; send the over18 cookie $0.0003 ptt-scraper
The cheapest row here — no proxy at all. The age gate is just a cookie.
Green Mobile01 TW · mobile01.com HTML Direct, no proxy $0.0003 mobile01-scraper
Taiwan's long-form tech/car/property hub, with no anti-bot layer in front.
Green 巴哈姆特 TW · forum.gamer.com.tw HTML with embedded JSON Datacenter proxy $0.0003 bahamut-scraper
Taiwan's biggest gaming/ACG community; nested replies and GP/BP all ship in the HTML.
Amber Dcard TW · dcard.tw JSON API + __NEXT_DATA__ (both exist) Residential IP — datacenter gets a flat 403 $0.0012 probed
The cleanest data shape on this list, gated by Cloudflare WAF: both the JSON API and the HTML route return 403 — no JS challenge, no waiting page, just a hard block.
Red BabyHome TW · forum.babyhome.com.tw Unreachable (blocked before any content) Browser only — residential-TW still hits a CF managed challenge $0.0060 probed
The only red row, and not because it is impossible — a $0.006/item browser against $0.002/item pricing is a negative margin.
Green LIHKG 連登 HK · lihkg.com JSON API (/api_v2) Datacenter proxy — a shared egress IP earns a 429 $0.0003 LIHKG-scraper
The same JSON API the official app calls — full fields, no HTML parsing. Learned the hard way: with no proxy you share an egress IP with every other run on the platform and get rate-limited fast.
Green 高登 HKGolden HK · forum.hkgolden.com JSON API (api.hkgolden.com/v1) Datacenter proxy $0.0003 hkgolden-scraper
Hong Kong's pre-LIHKG forum, with the same kind of open v1 JSON endpoint.
Green 親子王國 Baby-Kingdom HK · baby-kingdom.com HTML (Discuz) Datacenter proxy $0.0003 hk-forums-scraper
Hong Kong's largest parenting and family-spend board — classic Discuz markup, stable to parse.
Amber Uwants HK · uwants.com /archiver/ plain-text view Residential-HK — datacenter is blocked 403 by Cloudflare $0.0012 probed
A rare shortcut: the plain-text archiver view sidesteps the reCAPTCHA on the normal thread page, and the payload is so light that residential cost per item lands far below a typical HTML site.
Green HardwareZone SG · forums.hardwarezone.com.sg HTML (XenForo) Datacenter proxy $0.0003 hardwarezone-scraper
Singapore's answer to LIHKG — the EDMW board is where local sentiment breaks first, and there is no anti-bot layer at all.
Amber KiasuParents SG · kiasuparents.com JSON API (NodeBB /api/recent) Datacenter + Googlebot UA — a normal UA gets 403 $0.0003 probed
As cheap as any green row, but the gate is an nginx UA allowlist — the day they add rDNS verification it breaks, so it does not earn a green.
Green Pantip TH · pantip.com HTML with embedded JSON Datacenter proxy $0.0003 pantip-scraper
Thailand's largest board. No Chinese readership there, so its Store listing is written in Thai.
Green Lowyat MY · forum.lowyat.net HTML (IPB) Datacenter proxy $0.0003 lowyat-scraper
Malaysia's main tech and consumer board — the old-school IPB markup is actually easy to parse.

The next question after “can I reach it” is “what columns do I get” — the site coverage table lists the modes and the exact output fields every shipped actor returns.

Four things this table says

1. Not one of the 13 needs a browser

All 9 shipped forum actors run CheerioCrawler — plain HTTP, no browser, no Playwright. The single row on this table that truly requires a browser is BabyHome, and requiring one is exactly why we did not build it. "Forums need a headless browser" does not hold in Asia, and believing it makes your per-item cost 20× higher for nothing.

2. What blocks you is the CDN, not the site

Three of the four non-green rows (Dcard, Uwants, BabyHome) are stopped at Cloudflare, not by anything the site itself wrote; the fourth (KiasuParents) is an nginx UA allowlist. In practice that means your scraper is less likely to die because the markup changed than because a CDN layer appeared in front of it.

3. Residential solves a 403, not a JS challenge — and that line is a 5× cost difference

Dcard and Uwants get a flat 403 from Cloudflare — no waiting page, no JS challenge — and a residential IP turns that into a 200 at $0.0012 per item. BabyHome serves a managed challenge (the "Just a moment…" page); residential-TW does not get through either, leaving only a browser at $0.006 per item. So a 403 in a probe is good news; "Just a moment" is the bad one.

4. More of these sites expose a JSON API than you would expect

LIHKG (/api_v2), HKGolden (api.hkgolden.com/v1) and KiasuParents (NodeBB /api/recent) all serve open JSON endpoints, and so does Dcard — it is just blocked in front. A JSON endpoint is worth more than easy parsing: it does not break wholesale when the front end is redesigned.

How the cost works, and the 50% margin line

Against the common listing price of $0.002 per item, the three verdicts look like this:

VerdictCost / itemMargin at $0.002Clears 50%?
Green$0.000385%Yes
Amber$0.001240%No
Red$0.0060−200%Not close

So an amber site is not a question of whether it can be done — it is a question of whether you price it at $0.003 or above. One exception is worth knowing: residential bills by bandwidth, so cost per item scales with page weight. Uwants' archiver is a plain-text view, and our probe estimated it at roughly $0.0001 per item — an order of magnitude under a normal HTML site. The $0.0012 in the table is the upper bound for heavy HTML, not a flat rate for every amber row.

Separately, the platform charges $0.005 for apify-actor-start once per run, which the table does not include. Across 1,000 items it flattens to nothing; across 10 items it is your single biggest cost. To run your own numbers, use the Apify cost calculator.

Where this table comes from

Three ways to start

FAQ

How was "scrapable" decided? By actually running it, not by looking at the site. The 9 shipped rows come from actors that run every day — data shape, proxy requirement and endpoint type are read straight out of their source. The 4 unshipped rows come from probe records, each tried over both a datacenter and a residential exit IP.

Why is there no Dcard actor? Both routes into Dcard — the JSON API and the HTML page — return 403 from Cloudflare WAF, so it needs a residential IP. That is technically fine, but per-item cost jumps from $0.0003 to $0.0012, which leaves a 40% margin at $0.002 listing pricing and fails our 50% margin rule.

Can a green site turn red overnight? Yes, which is why the table is dated. The usual cause is not a site redesign but a new CDN layer appearing in front of it. Every shipped actor runs a daily canary so we find out immediately.

Why is a residential proxy more expensive? It bills by bandwidth, not by request, so cost per item scales with page weight. A heavy HTML page approaches the $0.0012 in the table; a plain-text endpoint like Uwants’ archiver can be an order of magnitude cheaper.

Do these numbers include the Apify start fee? No. The table shows per-item data cost. The platform charges a separate $0.005 apify-actor-start once per run. Across 1,000 items it disappears; across 10 items it is your largest single cost.

Is scraping these sites legal? We only scrape public content, never login-walled data, and we follow each site’s terms of service and local law. Where the table says we do not build a site, the reason is cost, not evading a block.


Chad runs 40+ published Apify actors, 9 of which are the forum scrapers on this table. Every verdict here maps to a request that was actually made; anything we could not run or could not source is not on the table.