Pantip Scraper – Thailand's Biggest Forum (No API)
Pricing
from $2.00 / 1,000 topics
Pantip Scraper – Thailand's Biggest Forum (No API)
Scrape Pantip, Thailand's biggest web forum, without an API or login: site-wide keyword search for topics, plus full topic content and all comments (incl. nested replies) with author, tags, score and time. Export JSON/CSV/Excel. Ideal for Thai social listening, brand monitoring and market research.
Pricing
from $2.00 / 1,000 topics
Rating
0.0
(0)
Developer
Chad
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Pantip Scraper – Thailand's Biggest Forum, Threads, Comments & Social Listening
Scrape public content from Pantip (pantip.com) — one of Thailand's biggest and highest-traffic discussion forums: site-wide keyword search for topics, and full topic content with all comments (including nested replies). Runs on public endpoints — no login, no token, no browser (pure HTTP). Bulk-paste keywords, topic IDs or URLs; get structured snake_case output, null for missing values, and an ISO 8601 scraped_at on every row.
Great for: social listening / brand monitoring in the Thai market, consumer voice and competitor share-of-voice, product-launch reactions, and market research.
Output fields
| Field | Type | Description |
|---|---|---|
topic_id | string | Topic ID (the topic/{id} in the URL) |
site | string | Always "pantip" |
comment_id | string | null | On comment rows, {topic_id}-{floor}; null on topic/search rows |
floor | string | null | Comment floor; nested replies are {comment_no}-{reply_no} |
is_reply | boolean | Whether this is a nested reply (meaningful on comment rows) |
title | string | null | Topic title (search/main-post rows) |
author | string | null | Poster / commenter display name |
author_id | string | null | Member ID |
content | string | null | Main post or comment body (HTML converted to plain text); null on search rows |
content_images | array | Image URLs found in the content (stickers / attachments) |
tags | array | Topic tags (main-post rows); empty array on search rows |
comment_count | number | null | Comment count shown on the search card |
score | number | null | Comment vote score (Pantip good_bad_vote.point) |
created_at | string | null | Post/comment time (ISO 8601; search cards are day-level precision) |
topic_url | string | null | Topic link |
source_mode | string | search or topic |
source_query | string | The matched keyword or topic ID |
scraped_at | string | Scrape time (ISO 8601) |
Modes
| Mode | Input | Output | Billing |
|---|---|---|---|
search (default) | keywords[] (site-wide search), dateFrom, maxItems | Topic list per keyword | search-listing $0.002/item |
topic | topicIds[]/topicUrls[], maxItems (comment cap per topic) | Main post + all comments (incl. nested replies) | product-detail $0.008/topic + review-item $0.003/comment |
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search (site-wide search) or topic (full topic) |
keywords | array | — | Search keywords (Thai/English/brand names). Required for search mode |
topicIds | array | — | Topic IDs (numbers). Used by topic mode |
topicUrls | array | — | Full topic URLs; ID extracted automatically |
bulkInput | string | — | One per line; keywords in search, IDs/URLs in topic |
maxItems | integer | 50 | search: topics per keyword; topic: comments per topic (main post always returned). Max 500 |
dateFrom | string | — | Applies to search; relative 3d/12h/2w or absolute MM/DD/YY |
proxyConfiguration | object | Apify datacenter | On by default; without a proxy you share an egress IP and risk rate-limiting |
JSON examples
1) Search brand share-of-voice
{ "mode": "search", "keywords": ["iPhone", "Samsung"], "maxItems": 10 }
2) Only topics from the last 30 days
{ "mode": "search", "keywords": ["โตโยต้า"], "maxItems": 20, "dateFrom": "30d" }
3) Fetch a full topic (main post + all comments)
{ "mode": "topic", "topicIds": ["44209153"], "maxItems": 200 }
4) Fetch multiple topics by URL
{ "mode": "topic", "bulkInput": "https://pantip.com/topic/44209153\nhttps://pantip.com/topic/44008597" }
5) One row per comment (incl. nested replies)
{ "mode": "topic", "topicIds": ["44209153"], "maxItems": 500 }
Notes
searchis a site-wide Pantip keyword search (not in-room filtering), but v1 returns the first page per keyword (~10 most relevant); multi-page search uses Pantip's authenticated API and is scoped to v1.1. Schedule periodic runs and usedateFromto keep new topics for continuous monitoring.- Comment pagination in
topicmode: Pantip shows 100 comments per page; the Actor auto-paginates up tomaxItems. A single hot topic can have thousands of comments — usemaxItemsto control cost. - Sticker/image-only comments have
content= null; the image URLs are incontent_images. - Times: main post and comments are exact timestamps; search cards are day-level precision (Thai Buddhist-era dates, converted to Gregorian).
- Defaults to Apify datacenter proxy; for local testing set
proxyConfiguration.useApifyProxy = false.
FAQ
- Do I need a login or API key? No — only public content is scraped.
- Can it get comments? Yes —
topicmode returns the main post and all comments (including nested replies), one row each. - Can I monitor only certain keywords? Yes — use
searchmode with keywords, plusdateFromfor the most economical scheduled monitoring. - Output format? Export via the Apify Dataset as JSON/CSV/Excel/HTML/API.
Disclaimer
This Actor only scrapes publicly visible content on Pantip, for research and sentiment-analysis purposes. Please comply with Pantip's terms of service and local regulations, and do not use it to violate personal data or for commercial abuse. Keep your scraping frequency reasonable to avoid burdening the source site.
Keywords: Pantip scraper, scrape Pantip, Thai forum, Thailand social listening, brand monitoring Thailand, share of voice, sentiment analysis, market research, pantip.com, threads, comments, forum data.