HardwareZone SG Forum Scraper
Pricing
from $2.00 / 1,000 thread listings
HardwareZone SG Forum Scraper
Scrape HardwareZone, Singapore's largest tech and lifestyle forum. Board mode returns one row per thread; thread mode returns every reply. Filter from newest replies, keywords, bulk input.
Pricing
from $2.00 / 1,000 thread listings
Rating
0.0
(0)
Developer
Lexa N
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does HardwareZone Scraper do?
HardwareZone Scraper extracts threads and posts from HardwareZone Forums, Singapore's largest technology and lifestyle community. Point it at a board to get a structured list of threads, or at specific threads to get every reply — with keyword filtering, date filtering, and newest-first traversal so you only pay for the content you actually want.
It runs on the Apify platform, so you get scheduling, an HTTP API, dataset exports (JSON, CSV, Excel, HTML), proxy rotation, and integrations with Make, Zapier, Google Drive and others without hosting anything yourself.
Why use HardwareZone Scraper?
- Brand and product monitoring — track what Singaporeans say about your product in EDMW, the phone user groups, or Money Mind.
- Market research — HWZ threads run for years and thousands of replies; the date filter pulls just the recent stretch.
- Sentiment and trend analysis — feed structured post data into your own NLP pipeline.
- Deal and price tracking — the Marketplace and deals boards move fast; schedule a board run hourly.
- Community archiving — capture a thread before it scrolls away.
How to use HardwareZone Scraper
- Choose a Mode: Board threads (one row per thread) or Full thread (one row per reply).
- For board mode, enter one or more Board IDs. For thread mode, enter Thread IDs or Thread URLs.
- Optionally set Max items, Only items since this time, and a Title keyword filter.
- Click Save & Start.
- When the run finishes, open the Output tab, or download the dataset as JSON/CSV/Excel.
Finding a board ID
Open a board on HWZ and read the number at the end of the URL:
https://forums.hardwarezone.com.sg/forums/android-user-group.323/^^^ board ID
Important: HardwareZone nests boards inside categories, and both look identical in the URL. A category (e.g. 16 Eat-Drink-Man-Woman, 9 Mobile Communication Technology) lists sub-forums, not threads, and returns no results. Use a leaf board such as 234 (Chill-out / Hangout Den), 323 (Android User Group) or 242 (Events, Entertainment & Celebrity Buzz). If you pick a category, the log tells you so.
Input
| Field | Type | Notes |
|---|---|---|
mode | string | forum (board threads) or thread (full thread). Required. |
forumIds | string[] | Board IDs. Board mode only. |
keywords | string[] | Keep only threads whose title contains one of these. Board mode only. |
excludeKeywords | string[] | Drop threads whose title contains one of these. Wins over keywords. Board mode only. |
matchWholeWords | boolean | Off (default): a keyword matches anywhere in the title, so vivo also matches vivoX300. On: it must be its own word. Applies to both keyword fields. |
threadIds | string[] | Thread IDs. Thread mode only. |
threadUrls | string[] | Full thread URLs. Thread mode only. |
maxPagesPerThread | integer | Pages of replies per thread, counting back from newest. 0 = unlimited. |
bulkInput | string | One item per line; merged into the matching field above. |
maxItems | integer | Board mode: threads per board. Thread mode: number of threads. |
dateFrom | string | 3d, 12h, 2w, or MM/DD/YY. |
proxyConfiguration | object | Apify datacenter proxy, on by default. |
{"mode": "forum","forumIds": ["323"],"keywords": ["Pixel", "Vivo"],"maxItems": 50,"dateFrom": "7d"}
Output
Two row shapes share one dataset. Board mode emits post rows only. Thread mode emits one post row per thread (built from the opening post) followed by reply rows.
Post row
{"post_id": "6885306","site": "hardwarezone","board": "323","title": "(SIC) Smartphone deals","author": "8-lane","reply_count": "2K","view_count": "251K","created_at": "2023-03-23T10:16:18+0800","last_reply_at": "2026-09-09T21:07:41+0800","post_url": "https://forums.hardwarezone.com.sg/threads/6885306/","content": null,"is_pinned": false,"source_mode": "forum","source_query": "323","scraped_at": "2026-09-09T14:14:26.593Z"}
Reply row
{"reply_id": "159846039","post_id": "7147770","site": "hardwarezone","floor": 11698,"author": "human_shieldz","content": "I play safe for a $2000 device lol","created_at": "2026-09-09T20:34:04+0800","scraped_at": "2026-09-09T14:14:26.593Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data fields
| Field | Description |
|---|---|
post_id | Thread ID. Present on both row types; joins replies to their thread. |
reply_id | HardwareZone post ID. Reply rows only. |
floor | Position of the reply in the thread (#8,661 → 8661). |
site | Always hardwarezone. |
board | Board ID. Board mode only. |
title | Thread title. Post rows only. |
author | Username of the thread starter or reply author. |
content | Post body as plain text. null on board-mode rows. |
reply_count, view_count | As HWZ displays them, e.g. "2K", "251K". Board mode only. |
created_at | Post time, HWZ's raw format with a +0800 offset. |
last_reply_at | Last activity on the thread. Board mode only. |
post_url | Canonical thread URL. |
is_pinned | Whether the thread is a sticky. |
source_mode, source_query | Which mode produced the row, and the input value it came from. |
scraped_at | UTC timestamp, identical for every row in a run. |
How much does it cost to scrape HardwareZone?
Runs are billed in Apify compute units (CUs). Measured figures:
- Board mode, 10 threads from one board: 0.032 CU, 29 seconds.
- Thread mode, a 585-page thread with
dateFrom: 2d: 2 page loads, ~17 seconds.
The Apify free tier includes a monthly CU allowance that comfortably covers scheduled board monitoring. Thread mode costs more per run because it loads full pages — use dateFrom and maxPagesPerThread to keep it bounded.
Tips
- Use
dateFromon long threads. Threads are walked newest-page-first, so the run stops as soon as a page falls past your cutoff. Pulling the last 2 years of a thread started in 2008 costs a handful of pages, not hundreds. maxItemsdoes not limit replies. In thread mode it caps how many threads are scraped. UsemaxPagesPerThreadto bound replies.- Pinned threads ignore
dateFrom. Boards pin announcements that can be a decade old; without the exemption a single sticky would stop the crawl on the first row. They are still subject to the keyword filter. - The opening post always comes back. Even when
dateFromexcludes it, so replies always have a thread record to join to. - Leave the proxy on for platform runs. Without it your run shares the platform's egress IPs and HWZ will rate-limit you.
- Zero rows is not always a failure. If the run parsed items but filters excluded them all, it exits successfully and says so. It only fails when nothing could be parsed at all — wrong ID, a category instead of a board, or unreachable pages.
FAQ
Does it need a HardwareZone account? No. It reads publicly visible content only. Some sections show an age-verification wall to logged-out visitors; the run logs a warning when it hits one, and post content there may be hidden.
Can it scrape multiple boards at once?
Yes. maxItems applies per board, so three board IDs with maxItems: 50 yields up to 150 rows.
Why did I get no results?
Most often the board ID is a category rather than a leaf board — check the log. Otherwise your dateFrom or keyword filter may be too narrow.
Is scraping HardwareZone legal? This Actor collects only publicly available content. You are responsible for how you use the data, including compliance with HardwareZone's Terms and Conditions, Singapore's PDPA, and any other applicable law. Do not collect or republish personal data without a lawful basis.
Limitations
- Category boards are not resolved to their sub-forums; you must supply leaf board IDs.
keywordsandexcludeKeywordsfilter thread titles only, in board mode only. Post bodies are not searched, and neither field does anything in thread mode.- A
keywordsfilter does not stop pagination the waydateFromdoes — it keeps reading pages looking for matches untilmaxItemsis reached. Pair the two when sweeping a large board. - There is no cap on total rows in thread mode —
dateFromandmaxPagesPerThreadare the available brakes. reply_countandview_countare kept as HWZ's abbreviated strings ("2K") rather than parsed to integers.