HardwareZone SG Forum Scraper avatar

HardwareZone SG Forum Scraper

Pricing

from $2.00 / 1,000 thread listings

Go to Apify Store
HardwareZone SG Forum Scraper

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

Lexa N

Maintained by Community

Actor 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

  1. Choose a Mode: Board threads (one row per thread) or Full thread (one row per reply).
  2. For board mode, enter one or more Board IDs. For thread mode, enter Thread IDs or Thread URLs.
  3. Optionally set Max items, Only items since this time, and a Title keyword filter.
  4. Click Save & Start.
  5. 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

FieldTypeNotes
modestringforum (board threads) or thread (full thread). Required.
forumIdsstring[]Board IDs. Board mode only.
keywordsstring[]Keep only threads whose title contains one of these. Board mode only.
excludeKeywordsstring[]Drop threads whose title contains one of these. Wins over keywords. Board mode only.
matchWholeWordsbooleanOff (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.
threadIdsstring[]Thread IDs. Thread mode only.
threadUrlsstring[]Full thread URLs. Thread mode only.
maxPagesPerThreadintegerPages of replies per thread, counting back from newest. 0 = unlimited.
bulkInputstringOne item per line; merged into the matching field above.
maxItemsintegerBoard mode: threads per board. Thread mode: number of threads.
dateFromstring3d, 12h, 2w, or MM/DD/YY.
proxyConfigurationobjectApify 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

FieldDescription
post_idThread ID. Present on both row types; joins replies to their thread.
reply_idHardwareZone post ID. Reply rows only.
floorPosition of the reply in the thread (#8,6618661).
siteAlways hardwarezone.
boardBoard ID. Board mode only.
titleThread title. Post rows only.
authorUsername of the thread starter or reply author.
contentPost body as plain text. null on board-mode rows.
reply_count, view_countAs HWZ displays them, e.g. "2K", "251K". Board mode only.
created_atPost time, HWZ's raw format with a +0800 offset.
last_reply_atLast activity on the thread. Board mode only.
post_urlCanonical thread URL.
is_pinnedWhether the thread is a sticky.
source_mode, source_queryWhich mode produced the row, and the input value it came from.
scraped_atUTC 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 dateFrom on 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.
  • maxItems does not limit replies. In thread mode it caps how many threads are scraped. Use maxPagesPerThread to 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 dateFrom excludes 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.
  • keywords and excludeKeywords filter thread titles only, in board mode only. Post bodies are not searched, and neither field does anything in thread mode.
  • A keywords filter does not stop pagination the way dateFrom does — it keeps reading pages looking for matches until maxItems is reached. Pair the two when sweeping a large board.
  • There is no cap on total rows in thread mode — dateFrom and maxPagesPerThread are the available brakes.
  • reply_count and view_count are kept as HWZ's abbreviated strings ("2K") rather than parsed to integers.