Watsons Product Scraper | PH HK TW TH Data
Pricing
from $2.20 / 1,000 results
Watsons Product Scraper | PH HK TW TH Data
Scrape Watsons health and beauty products across the Philippines, Hong Kong, Taiwan, and Thailand. Extract guest prices, brands, EAN, ratings, and stock from search, category PLP, PDP, reviews, and brand listings. Export to Excel, CSV, or JSON. No login. Unofficial — not affiliated with A.S. Watson.
Pricing
from $2.20 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Watsons Product Scraper — PH · HK · TW · TH
Scrape Watsons health and beauty products from the Philippines, Hong Kong, Taiwan, and Thailand — then download prices, brands, ratings, and stock as Excel, CSV, or JSON.
Use this Actor as a practical Watsons data API for multi-market product discovery, price monitoring, category research, brand listings, and guest review snapshots. Pick a market and a mode, then get Dataset rows with BP_* product codes, titles, guest list prices, EAN, ratings, and product URLs.
- Scrape keyword search, category PLP (
/c/{code}), product detail (PDP), guest reviews, brand listings, and category / brand facet dumps - Cover four Watsons storefronts: Philippines (
watsons.com.ph), Hong Kong (watsons.com.hkwith/en/,/zh-hk/,/zh-cn/), Taiwan (watsons.com.tw), Thailand (watsons.co.thwith Thai and/en/) - Extract productCode, title, URL, brand, EAN, price / old price, currency, stock status, rating, review count, pharmacy / adult-only flags when present
- Export to Excel / CSV / JSON, or connect Make, n8n, Zapier, Python, or the Apify API
- Pay per event — Actor start + each Dataset result; platform usage is included (you do not pay separate Apify compute on top)
Unofficial tool. This Actor is not affiliated with, endorsed by, or sponsored by A.S. Watson Group or Watsons. It collects guest (public) listing data and does not log in, checkout, or return member / loyalty prices. Malaysia, Singapore, and Indonesia are out of scope until separately verified. Do not pass
/lc/CMS shelf URLs — those are not a full product listing.
Compared with Watsons Actors that cover MY / SG / TH URL dumps or SG / MY / HK only, this Actor focuses on PH + HK (three locales) + TW + TH, with market-correct category codes, Thailand’s 64-item page size, brand facet listings, reviews, and taxonomy dumps in one input form.
Need a dedicated scraper for one website?
This Actor is the general tool for protected public pages. If you already have one specific site and a field list, a dedicated scraper is faster and more stable: listing + detail, your export format, delivered to your Apify account or as a standalone runnable client.
I confirm the tier before you pay. The clock starts after that confirmation.
Start here: Submit a custom scraper request
| Starter $50 | Dedicated $100 | Hard target $200–999 | |
|---|---|---|---|
| Site | 1 simple anti-bot public site | 1 medium anti-bot public site | Cloudflare / aggressive anti-bot / custom parser |
| Scope | Full listing + detail fields | Listing + detail + pagination, your field list | Agreed fields, repeatable runs |
| Delivery | CSV/JSON · Apify Actor or standalone runnable client (script/CLI) | Same, plus a sample run and short instructions | Feasibility first, then build |
| Time | 24 hours after we confirm the URL is in scope | 48 hours after confirmation | Quoted after feasibility |
| Fixes | 30 days for small public-layout changes | 30 days | Scoped in the quote |
Hard-target sites are not a 100% uptime promise. You get a dedicated parser that can be re-run on the agreed fields. If the URL is not feasible, you get a refund or pay an assessment fee only — you will know before the build starts.
Not in Starter/Dedicated: login-walled data, native APK / Windows installer / full web apps, or two-year maintenance. Those are a separate quote.
What is Watsons Product Scraper?
Watsons Product Scraper lets you extract structured product data from Watsons PH, HK, TW, and TH without operating your own anti-bot browser fleet. Give it a market and a mode (for example search, category, or product), then start a run.
Under the hood, the Actor:
- Validates your input (mode, market, keyword / category code /
BP_*product code, max results) - Enforces free-tier caps when you are on a free Apify plan
- Collects public Watsons listing surfaces through a managed scrape backend with residential egress
- Parses search, category PLP, PDP, reviews, and brand facets into normalized Dataset records
- Writes
INPUT_ECHO,RUN_SUMMARY(andERROR_SUMMARYon failure) to the key-value store
You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.
Watsons is not one .com catalog. Each market has its own host, siteId, currency, default page size, and /c/ category codes. Reusing a Philippines category code on Taiwan or Thailand returns the wrong (or empty) shelf.
What Watsons data can I extract?
| Data | Search | Category /c/ | Product (PDP) | Reviews | Brand | Taxonomies |
|---|---|---|---|---|---|---|
Product code BP_* / URL | ✅ | ✅ | ✅ | ✅ | ✅ | — |
| Title / name | ✅ | ✅ | ✅ | — | ✅ | — |
| Brand / brand URL | ✅* | ✅* | ✅* | — | ✅ | ✅* |
| Guest price / old price / currency | ✅* | ✅* | ✅* | — | ✅* | — |
| EAN / default variant | ✅* | ✅* | ✅* | — | ✅* | — |
| Stock / purchasable | ✅* | ✅* | ✅* | — | ✅* | — |
| Rating / review count | ✅* | ✅* | ✅* | — | ✅* | — |
| Pharmacy / adult-only / classifications | ✅* | ✅* | ✅* | — | ✅* | — |
| Review headline / rating / comment | — | — | —† | ✅ | — | — |
Digit /c/ category codes | — | — | — | — | — | ✅ |
*When present on the guest OCC payload. †Turn on enrichReviews on product / search / category to attach a few review pages.
Identity key: market + productCode (BP_*). Currency follows the storefront: PHP, HKD, TWD, THB.
Why scrape Watsons products?
Watsons is one of Asia’s largest health and beauty retailers. Teams scrape Watsons to:
- Monitor guest list prices and markdowns for vitamins, skincare, hair, oral care, and pet
- Compare brand presence (for example ANUA) across PH / HK / TW / TH
- Map category trees with live digit
/c/codes (mode=taxonomies) instead of guessing slugs - Snapshot Hong Kong Simplified Chinese (
/zh-cn/) as its own catalog, not a translation of/zh-hk/ - Pull guest reviews for a
BP_*product without logging in - Seed CRM / research workflows with product URLs and EAN
More Actors like this
Need marketplace or health-and-beauty data outside Watsons PH / HK / TW / TH, or a different vertical? Use a dedicated Actor below for structured fields. Use this Actor for Watsons products on those four storefronts.
Similar e-commerce scrapers
- Costco Product Scraper — Costco product search & listings
- Walmart Product Scraper — Walmart products
- Amazon Search Scraper — Amazon search results
- Shopee Search Scraper — Shopee search
- Lazada Scraper — Lazada listings
- SHEIN Product Scraper — SHEIN products
- Temu Product Scraper — Temu products
- Target Product Scraper — Target products
- Etsy Scraper — Etsy listings
- ASOS Product Scraper — ASOS products
- Stealth Web Scraper — generic protected pages (prefer a dedicated Actor when one exists)
Prefer another specialized scraper?
If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic scrape.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Apartments.com Rental Scraper
- Rightmove Scraper
- Idealista Scraper
- realestate.com.au Scraper
E-commerce
- Amazon Search Scraper
- Walmart Product Scraper
- Etsy Scraper
- Shopee Search Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Target Product Scraper
- Allegro Scraper
Social & Content
Ads Intelligence
General Tools
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
How to scrape Watsons products (no code required)
- Create a free Apify account
- Open Watsons Product Scraper
- Choose a mode:
search,category,product,reviews,brand, ortaxonomies - Choose a market:
ph,hk,tw, orth - Enter a keyword, categoryCode, productCode (
BP_…), brandCode, or startUrls - (Optional) Set
locale(HK:en/zh-hk/zh-cn; TH:th/en),sort,maxResults,enrichReviews - Click Start and download the Dataset as JSON, CSV, Excel, or JSONL
Start with maxResults: 5–10 to verify the query, then scale up.
1. Watch sunscreen prices in the Philippines
In plain English: run a keyword search on a schedule → see which SKUs are still listed and at what guest price.
You give: market ph, keyword sunscreen, maxResults 20.
You get back:
| Title | Brand | Price | Currency | Product code |
|---|---|---|---|---|
| Example Sunscreen SPF50 | Example Brand | 599.00 | PHP | BP_10098771 |
2. Pull a Taiwan oral-care category
In plain English: pick Taiwan and a digit /c/ code → get a table of toothpaste SKUs ready for Excel.
You give: mode=category, market=tw, categoryCode=10450703.
Do not copy a PH or TH code onto TW.
3. Read Hong Kong Simplified Chinese as its own catalog
In plain English: set market=hk and locale=zh-cn → titles come from the /zh-cn/ storefront (lang=zh_CN), not a machine translation of /zh-hk/.
4. List a brand without guessing numeric IDs
In plain English: set mode=brand and brandCode=ANUA (the Solr facet token from /all-brands/b/…). Do not pass numeric masterBrand.code — that query returns unrelated SKUs.
5. Feed AI agents and automations
In plain English: start the Actor from Make, n8n, Zapier, LangChain, or the Apify API → Dataset rows are structured JSON (title, price, brand, url, productCode).
What Watsons data do I get back?
Every product row typically includes:
- productCode — Watsons code, for example
BP_10098771 - title / name — guest display name for the selected locale
- url — absolute product URL on that market’s host
- brand, brandCode, brandUrl
- price, priceFormatted, oldPrice, currency (PHP / HKD / TWD / THB)
- ean, defaultVariantCode
- stockStatus, purchasable
- averageRating, reviewCount
- pharmacy, elabIsAdultOnly, classifications when the payload has them
- paginationPageSize —
32on PH / HK / TW,64on TH - uid —
{market}:{productCode}
Review rows (mode=reviews or enrichReviews) add reviewId, headline, rating, and comment text.
Taxonomy rows dump digit /c/ codes and brand facet tokens so you can drive later category / brand runs.
How much does it cost to scrape Watsons?
This Actor uses pay-per-event pricing. You are charged for:
| Event | Price |
|---|---|
Actor Start (apify-actor-start) | $0.005 per start |
Result (apify-default-dataset-item) | $3.00 / 1,000 results ($0.003 each on FREE/BRONZE) |
Platform usage costs are included — you do not pay separate Apify compute/proxy usage for this Actor on top of the event prices above (User pays platform usage costs = No).
Store tier pricing (results)
| Tier | $/1,000 | per result |
|---|---|---|
| FREE* | $3.00 | $0.003 |
| BRONZE | $3.00 | $0.003 |
| SILVER | $2.60 | $0.0026 |
| GOLD | $2.20 | $0.0022 |
| PLATINUM | $2.00 | $0.002 |
| DIAMOND | $1.60 | $0.0016 |
*Store tier discounts apply to paying Apify customers on higher tiers.
Example cost estimates
| Results collected | Approx. event cost* |
|---|---|
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |
*Assumes one Actor start at default memory billing for start events, plus $0.003 per Dataset item on FREE/BRONZE. Exact start billing can scale with allocated memory (one start event per GB, minimum one).
Free Apify trial credit can cover a small test run — try maxResults: 5 first.
Free Apify plan limits (Actor-enforced)
| Cap | Free Apify plan | Paying |
|---|---|---|
| Runs of this Actor | 10 total | Unlimited |
| Results per run | 200 | Schema max |
Limits are set by the Actor developer, not Apify. Quota hits return SUCCEEDED with RUN_SUMMARY.status=FREE_TIER_LIMIT. Empty {} searches vitamin on the PH store so a first Console test succeeds.
Input examples
Keyword search (Philippines)
{"mode": "search","market": "ph","keyword": "sunscreen","maxResults": 20}
Category PLP (Thailand hair care)
{"mode": "category","market": "th","locale": "th","categoryCode": "020106","maxResults": 20}
Hong Kong Simplified Chinese search
{"mode": "search","market": "hk","locale": "zh-cn","keyword": "serum","maxResults": 15}
Product detail (Taiwan)
{"mode": "product","market": "tw","productCode": "BP_112900","maxResults": 1}
Brand listing (Philippines)
{"mode": "brand","market": "ph","brandCode": "ANUA","maxResults": 20}
Start URLs
{"startUrls": [{ "url": "https://www.watsons.com.ph/search?text=moisturizer" },{ "url": "https://www.watsons.com.hk/en/c/010102" }],"maxResults": 20}
Do not pass /lc/ URLs. Do not reuse a PH category code on TW or TH.
Connect to your tools
Use this Actor from your existing stack:
| Platform | How to connect |
|---|---|
| Make.com | Search “Apify” → “Run Actor” → Actor ID lentic_clockss/watsons-scraper |
| n8n | Add Apify node → “Run Actor” → same Actor ID |
| Zapier | Apify integration → “Run Actor” |
| LangChain | ApifyDatasetLoader / Actor run tool with the same Actor ID |
| Python / Node.js | Apify SDK or direct HTTPS call |
API call example
curl "https://api.apify.com/v2/acts/lentic_clockss~watsons-scraper/runs?token=YOUR_APIFY_TOKEN" \-X POST \-H "Content-Type: application/json" \-d '{"mode":"search","market":"ph","keyword":"sunscreen","maxResults":10}'
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("lentic_clockss/watsons-scraper").call(run_input={"mode": "search","market": "ph","keyword": "sunscreen","maxResults": 20,})items = client.dataset(run["defaultDatasetId"]).list_items().items
Results come back via the Dataset API:
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
FAQ
Is it legal to scrape Watsons?
This Actor collects publicly reachable guest listing data. It does not log in, bypass paywalls, or scrape private member prices. You are responsible for how you use the data (robots.txt, terms, local law). This is not an official Watsons or A.S. Watson product.
Which Watsons countries does this Actor cover?
Philippines, Hong Kong, Taiwan, and Thailand. Hong Kong supports en, zh-hk, and zh-cn. Thailand supports Thai and /en/. Malaysia, Singapore, and Indonesia are not included.
How is this different from other Watsons scrapers on Apify?
Other Store Actors often target MY / SG / TH URL dumps (80+ raw OCC fields) or SG / MY / HK only. This Actor is built for PH + HK three locales + TW + TH, rejects /lc/ CMS shelves, uses TH pageSize 64, and adds brand facet + taxonomy dump + paginated reviews.
Why did my category run return nothing?
Category codes are per market. PH 031130 is not TW 10410101. Use mode=taxonomies to dump live digit /c/ codes, then run mode=category. Never use /lc/ slugs.
Why did brand mode return unrelated products?
Pass the facet token from the brand URL (for example ANUA), not the numeric masterBrand.code. Numeric codes are a different Solr field and mix unrelated SKUs.
Do I need my own proxies?
No for normal runs. Residential egress is provided by the scrape worker. Optional proxyCountry is an ISO2 hint (ph / hk / tw / th).
Can I get member / Watsons Card prices?
No. Guest list price and strikethrough oldPrice only. Login and checkout are out of scope.
What is /lc/ and why is it rejected?
/lc/ is a CMS shelf, not a full PLP. The Actor rejects those URLs so you do not pay for an incomplete listing.
How many products per page does Watsons return?
PH / HK / TW: 32. Thailand: 64. The Actor paginates with OCC currentPage (0-based), not ?page=.
Is scraping Watsons free?
You can try it with Apify trial credit. After that, pay-per-event applies (start + each Dataset row). Free Apify-plan users of this Actor are capped at 10 runs / 200 results.
Input reference
| Field | Notes |
|---|---|
mode | search (default) · category · product · reviews · taxonomies · brand |
market | ph hk tw th |
locale | Optional. HK: en / zh-hk / zh-cn. TH: th / en. PH: en. TW: zh-tw. |
keyword | Search text. Default vitamin so empty {} succeeds |
categoryCode | Required for category. Examples: PH 031130 / 060809, HK 010102 / 310000 / 100404, TW 10410101 / 10450703, TH 010201 / 020106 |
productCode | Required for product / reviews. Format BP_{digits} |
brandCode | Required for brand. Solr facet token (e.g. ANUA), not numeric masterBrand.code |
sort | Search default mostRelevant. Category default bestSeller |
startUrls | Optional /search?text=, /c/{code}, /p/BP_…, /all-brands/b/{code} |
maxResults | Default 15, max 500 |
maxPages | Max OCC pages, default 3 |
enrichReviews | Attach paginated reviews for the first few product codes |
Full output schema is in the Dataset tab.
Coverage
| Market | Host | Search | Category /c/ | PDP | Extra locale |
|---|---|---|---|---|---|
| PH | watsons.com.ph | opened | 031130, 060809 | opened | — |
| HK | watsons.com.hk | opened | 010102, 310000, 100404 | opened | zh-hk, zh-cn opened |
| TW | watsons.com.tw | opened | 10410101, 10450703 | opened | — |
| TH | watsons.co.th | opened | 010201, 020106 (pageSize 64) | opened | /en/ opened |
| MY / SG / ID | — | 未验证 | 未验证 | 未验证 | — |
Store-finder is 未验证. Brand listing is opened on PH (ANUA).
Related Actors
All public Actors from lentic_clockss. Click a name to open the Store detail page.
E-commerce
- Watsons Product Scraper — Watsons PH / HK / TW / TH (this Actor)
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
Food Delivery
- Grab Scraper — GrabFood / GrabMart SEA
- Foodpanda Scraper — Foodpanda APAC
- Foodora Scraper — Foodora NO / SE / AT / HU / CZ
- Uber Eats Scraper — multi-locale Uber Eats
- Deliveroo Scraper — Deliveroo markets
- DoorDash Scraper — DoorDash stores & menus
- Wolt Scraper — Wolt restaurants & cities
Jobs & Freelance
- Job Seek Career Jobs Monitor
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Housing Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ Browse the full profile: apify.com/lentic_clockss
Changelog
- 0.1 — PH / HK / TW / TH search, category PLP, PDP, reviews, brand facet, taxonomies. Guest fields only. Pay per event.