We extract health and beauty listings, Watsons Club pricing, promotional tags, and store inventory from Watsons Singapore. Delivered as clean JSON, CSV, or Parquet to S3 or BigQuery on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Product Listings objects from watsons.com.sg. All fields typed and schema-versioned.
"sku": "83719", "product_name": "Hyaluronic Acid Hydrating Serum 30ml", "brand": "The Ordinary", "category": "Skincare", "price_standard": 14.5, "price_member": 13.05, "in_stock": true, "rating_average": 4.6, "review_count": 312
| # | sku | product_name | brand | category | sub_category | price_standard |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Pricing & Promos objects from watsons.com.sg. All fields typed and schema-versioned.
"sku": "83719", "base_price": 14.5, "discount_price": 14.5, "watsons_club_price": 13.05, "promo_tag": "Buy 2 Get 1 Free", "discount_pct": 10, "bulk_discount_type": "BOGO", "currency": "SGD"
| # | sku | base_price | discount_price | watsons_club_price | promo_tag | discount_pct |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Ingredients & Specs objects from watsons.com.sg. All fields typed and schema-versioned.
"sku": "83719", "ingredients": "Aqua (Water), Sodium Hyaluronate, Pentylene Glycol, Propanediol", "skin_type": "All Skin Types", "volume": "30ml", "country_of_origin": "Canada", "shelf_life": "12 Months after opening", "product_features": "['Cruelty-free', 'Vegan', 'Alcohol-free']"
| # | sku | ingredients | skin_type | usage_instructions | volume | country_of_origin |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Store Inventory objects from watsons.com.sg. All fields typed and schema-versioned.
"sku": "83719", "store_id": "WSG_042", "store_name": "Bugis Junction", "stock_status": "In Stock", "quantity": 14, "click_and_collect_eligible": true, "postal_code": "188021", "updated_at": "2026-05-12T09:14:00Z"
| # | sku | store_id | store_name | stock_status | quantity | click_and_collect_eligible |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Reviews & Ratings objects from watsons.com.sg. All fields typed and schema-versioned.
"review_id": "REV_99812", "sku": "83719", "rating": 5, "reviewer_name": "Amanda L.", "review_text": "Highly hydrating. Will repurchase.", "review_date": "2026-04-18", "verified_buyer": true, "skin_profile": "Oily/Combination"
| # | review_id | sku | rating | reviewer_name | review_text | review_date |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Watsons SG scraper parses single-page application responses, normalises complex promotional tiers, and captures store-level inventory metrics automatically.
Extract product titles, categories, images, and descriptions across skincare, makeup, personal care, and health supplements.
Capture standard retail prices alongside Watsons Club member pricing tiers and exclusive member discounts.
Parse and structure multi-condition promotions including Buy 1 Get 1 Free, Mix & Match, and percentage discounts.
Extract structured ingredient lists, usage instructions, country of origin, and skin type compatibility.
Query stock availability and quantity for specific Watsons retail locations supporting Click & Collect.
Scrape user ratings, review text, verified buyer flags, and user skin profiles across product pages.
Extract supplement facts, dosage instructions, and regulatory warnings for health and pharmacy products.
Traverse complex category hierarchies and pagination boundaries automatically to ensure total catalogue coverage.
Run daily or weekly diffs to identify new product listings, price changes, and out-of-stock events.
Brief in. Clean data out.
Provide target categories, brand names, or specific SKUs. We configure the extraction schema to match your requirements.
We deploy Scrapy and Playwright crawlers, configuring residential proxies to bypass Watsons' API rate limits.
We run schema validation, check promo string normalisation, and verify stock quantities before production launch.
Clean JSON, CSV, or Parquet files delivered to your S3 bucket or Snowflake stage on your defined schedule.
Modern retail sites use dynamic rendering and complex state management. We manage the infrastructure so you receive clean tabular data.
Watsons employs edge protection that blocks repetitive datacenter IPs. We route requests through Singapore-based residential proxies to maintain high success rates and prevent IP bans.
The Watsons frontend is a single-page application. We use Playwright to execute JavaScript, wait for API hydration, and capture the fully rendered DOM containing pricing and stock data.
Retail promotions are often displayed as unstructured text strings. Our pipeline parses these strings into structured fields for discount type, required quantity, and percentage off.
Extracting branch-specific stock requires simulating location-based API queries. We replicate the frontend request patterns to extract accurate Click & Collect inventory levels.
We hash product records and only emit rows when pricing, stock, or promotional status changes, reducing your downstream processing compute costs.
Retailers and brands monitor Watsons pricing and promotional depth to adjust their own retail strategies.
FMCG brands analyse category composition to identify missing product segments and optimise shelf space.
Trade marketing teams track the frequency and mechanics of Buy 1 Get 1 and Mix & Match campaigns.
Product development teams scrape ingredient lists to identify emerging skincare formulations and actives.
Supply chain analysts track branch-level stock availability to measure online-to-offline fulfilment efficiency.
Agencies calculate digital share of shelf by tracking search ranking positions for specific category keywords.
"Watsons Singapore holds the definitive catalogue for Southeast Asian pharmacy retail, but extracting complex promotional logic requires purpose-built pipelines."
Scraping Watsons requires handling dynamic single-page application hydration, multi-tier promotional pricing, and store-specific inventory queries. DataFlirt manages proxy rotation and schema normalisation so your analysts receive clean, queryable data.
Everything supported by our watsons.com.sg scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles crawl orchestration and retry logic. Playwright handles JavaScript rendering and SPA hydration for the Watsons frontend.
We maintain pools of residential ISP proxies in Singapore. Rotation happens per request to prevent IP bans from Watsons edge protection.
Pipelines run on AWS Lambda and ECS. Airflow handles scheduling and dependency management. All state is stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About watsons.com.sg scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available product, pricing, and store data is generally permissible. DataFlirt extracts only public catalogue data and does not bypass authentication walls or extract personally identifiable information.
Our pipelines parse unstructured promotional text into structured fields. A string like 'Buy 2 Get 1 Free' is converted into specific boolean flags and discount percentage integers in the final dataset.
Yes. We simulate the Click & Collect API requests to extract stock availability and quantity for specific physical Watsons locations.
Pipelines can be configured for daily or weekly runs. Full catalogue refreshes typically complete within 4 hours depending on category depth.
Yes. We extract both the standard retail price and the Watsons Club member price where applicable on the product listing.
Our minimum engagement covers a defined category scope with weekly delivery. Contact us with your target categories for a specific quote.
Yes. We provide a sample extraction of up to 500 SKUs during the scoping phase to validate schema fit and data quality.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a daily price feed or a complete catalogue extraction, we scope, build, and operate the infrastructure. Tell us your requirements.