DEV Community

Crawler Bros
Crawler Bros

Posted on

How to Scrape Shopee Competitor and Pricing Data Across SEA

How to Monitor Competitors and Product Trends on Shopee

Southeast Asia is one of the fastest-growing e-commerce regions in the world, with Shopee leading the market across Malaysia, Singapore, Thailand, the Philippines, Vietnam, and Indonesia. For e-commerce brands, retail analysts, and market researchers, staying competitive requires reliable visibility into competitor catalog changes, historical sales volumes, discount patterns, and shop performance metrics.

However, gathering this data at scale presents distinct technical hurdles. Keyword search on Shopee is login-gated for automated clients, and datacenter IP blocks can interrupt data collection pipelines.

The shopee-scraper actor provides a structured, browser-based solution built on Playwright to extract live storefront data across six regional domains without requiring user accounts or session cookies.

What Data Can You Collect with Shopee Scraper?

Instead of relying on search endpoints that require user authentication, the actor focuses on public storefront surfaces. It operates across four distinct collection modes:

  • shopProducts: Extracts the shop profile along with its public product catalog feed.
  • itemByUrl: Pulls comprehensive product detail pages from a specific item link.
  • browseByCategory: Extracts curated category taxonomy listings across shared SEA category IDs.
  • shopProfile: Retrieves high-level seller metrics and store verification details.

Granular Shop and Seller Intelligence

When evaluating competitors or potential brand partners, the actor outputs detailed shop-level records (recordType: "shop"), including:

  • shopName, username, shopId, and country
  • Engagement metrics like followerCount, itemCount, and responseTimeSeconds
  • Seller trust signals such as ratingStar, isOfficialShop, isShopeeVerified, and isPreferredPlusSeller
  • Operational health indicators like cancellationRate, vacation, and lastActiveTimestamp

In-Depth Product and Pricing Metrics

For product-level research (recordType: "item"), the scraper extracts essential catalog and demand attributes:

  • Pricing data: price, priceMin, priceMax, priceOriginal, discountPercent, and local currency (MYR, SGD, THB, PHP, VND, or IDR)
  • Demand metrics: sold (historical sold count), soldLast30Days, and remaining stock
  • Social proof: ratingStar, ratingCount, and likeCount
  • Catalog metadata: categoryId, categoryPath, variations, description, images, and imageCover

Practical Use Case: Analyzing Competitor Discounts and Stock

Consider an e-commerce brand selling consumer electronics in Malaysia (MY) that needs to monitor flagship competitor stores. The team needs to analyze discount frequencies, variation availability, and 30-day sales volume to optimize their own promotional calendar.

By targeting a store username (such as appleflagship.store) or running category-level scans, the team can ingest structured datasets directly into their internal reporting tools.

Filtering and Data Cleanliness

To keep pipelines efficient, the scraper allows you to apply several filtering parameters before data ingestion:

  • minPrice and maxPrice: Drops items outside specific local currency thresholds.
  • minRating: Excludes poorly rated items (accepts values from 0 to 5) to isolate top-performing inventory.
  • containsKeyword: Performs case-insensitive title filtering to focus on specific product lines.
  • maxItems: Sets a hard cap on emitted records (from 1 to 500) to manage dataset size.

Empty fields are automatically omitted from output payloads, ensuring that unrated items or non-discounted products do not introduce null clutter.

Navigating Anti-Bot Protections and Regional Availability

Shopee's anti-bot system intermittently blocks item feeds (such as error 90309999) from standard datacenter IPs. The actor handles this by ensuring it always emits verified public records first (such as the shop profile or category taxonomy) rather than failing completely.

Additionally, configuring proxyConfiguration allows the actor to engage an Apify proxy automatically only when a direct request is blocked. Because storefront and server-side rendering (SSR) data can be market-gated by requesting IPs, using proxies located within the target domain helps avoid API-level errors like service_err (error 1000000) on non-MY domains.

Step-by-Step: How to Run Shopee Scraper

Setting up a data collection task takes just a few steps:

  1. Select your operating mode: Choose between shopProducts, shopProfile, browseByCategory, or itemByUrl based on your analysis goal.
  2. Define target inputs: Provide the shop identifier in shopUrl (e.g., a username like appleflagship.store or a full URL), the specific product link in itemUrl, or a curated category string in category.
  3. Set the target market: Assign the domain parameter to match the target country (MY, SG, TH, PH, VN, or ID).
  4. Apply optional thresholds: Set minRating, minPrice, maxPrice, or containsKeyword to refine the output stream, and define maxItems for your export limit.
  5. Execute the run: Start the actor to receive structured JSON datasets containing verified shop metrics, category structures, and item feeds.

Whether you need to monitor regional price disparities, track inventory levels, or analyze store performance across Southeast Asia, the shopee-scraper actor delivers a focused, login-free method for structured data extraction.


Ready to try it yourself? Run *Shopee Scraper** on the Apify Store -- no setup required.*

Top comments (0)