How to Scrape Marketplace Bestseller Lists and Trending Products

How to Scrape Marketplace Bestseller Lists and Trending Products

Bestseller lists are one of the most valuable sources of competitive intelligence on e-commerce marketplaces. These lists reveal which products are selling the most, which categories are growing, and which brands are winning in the market. When tracked over time, bestseller data creates a rich dataset for understanding market dynamics, identifying trends, and making strategic decisions.

This article covers how to collect bestseller and trending product data from major marketplaces, how to analyze it for actionable insights, and why proxy infrastructure is essential for reliable data collection.

Why Bestseller Tracking Matters

Market Share Estimation

In the absence of actual sales data, bestseller rankings serve as a proxy for relative sales volume. Products that consistently rank at the top of bestseller lists are outselling their competitors. Tracking these rankings over time gives you a directional view of market share shifts.

Trend Identification

Trending product lists and rising bestsellers reveal emerging market trends. Identifying these trends early allows you to:

  • Adjust your product development pipeline
  • Position existing products to capitalize on trends
  • Modify your marketing messaging to align with consumer interests

Competitive Intelligence

Bestseller tracking answers critical competitive questions:

  • Which competitor products are performing best?
  • Are new entrants gaining traction?
  • How do competitor bestsellers change during promotional periods?
  • Which price points dominate the bestseller rankings?

Category Opportunity Assessment

Analyzing bestseller lists across categories reveals where demand is strong, where competition is concentrated, and where opportunities may exist for new products.

What Data to Collect

Bestseller List Data

From each marketplace’s bestseller or top-selling lists:

  • Product rank: Position on the bestseller list
  • Product details: Title, brand, price, rating, review count
  • Category: Which category or subcategory the product appears in
  • Sales indicators: Sold count (if visible), “hot” badges, or other popularity signals
  • Timestamp: When the data was collected (rankings change frequently)

Trending/Rising Products

Many platforms highlight products that are gaining momentum:

  • Most wished for: Products on the most wish lists
  • Hot deals: Products with high deal engagement
  • New releases: Recently launched products gaining traction
  • Rising searches: Keywords with increasing search volume

Category-Specific Rankings

Beyond the overall bestseller list, collect category and subcategory rankings:

  • Top 100 in each relevant subcategory
  • Category-specific new releases
  • Category movers and shakers (biggest ranking changes)

Collecting Bestseller Data

Platform-Specific Sources

Amazon: Amazon provides detailed bestseller lists updated hourly, organized by category hierarchy. Also available: Movers & Shakers, Most Wished For, and New Releases lists.

Shopee: Shopee’s “Top Products” and category sorting by “Top Sales” provide bestseller data. Flash sale bestsellers are also available during promotional events.

Lazada: Lazada offers “Top Selling” product lists by category and highlights trending products on its homepage.

Tokopedia: Tokopedia provides “Produk Terlaris” (bestselling products) by category.

Collection Implementation

class BestsellerCollector:
    def __init__(self, proxy_manager):
        self.proxy_manager = proxy_manager

    async def collect_bestsellers(self, platform, country, category):
        """Collect bestseller list for a category on a marketplace."""
        proxy = self.proxy_manager.get_proxy(country)
        parser = self.get_parser(platform)

        url = parser.build_bestseller_url(category['id'])
        all_products = []
        page = 1

        while page <= category.get('max_pages', 5):
            page_url = parser.add_pagination(url, page)
            page_data = await self.fetch_page(page_url, proxy)

            if not page_data:
                break

            products = parser.parse_bestseller_list(page_data)
            if not products:
                break

            for rank, product in enumerate(products, start=(page - 1) * parser.items_per_page + 1):
                all_products.append({
                    'rank': rank,
                    'product_id': product['id'],
                    'title': product['title'],
                    'brand': product.get('brand', 'Unknown'),
                    'price': product['price'],
                    'original_price': product.get('original_price'),
                    'rating': product.get('rating'),
                    'review_count': product.get('review_count'),
                    'sold_count': product.get('sold_count'),
                    'seller': product.get('seller_name'),
                    'is_mall': product.get('is_mall', False),
                    'platform': platform,
                    'country': country,
                    'category': category['name'],
                    'category_id': category['id'],
                    'collected_at': datetime.utcnow(),
                })

            page += 1

        return all_products

Proxy Requirements

Bestseller data collection requires proxies for several reasons:

Frequency: To track ranking changes, collect bestseller data at least daily, and hourly during promotional events. This means a sustained volume of requests.

Geographic targeting: Bestseller lists differ by country. The top-selling products on Shopee Singapore are different from Shopee Indonesia. Use country-specific mobile proxies from DataResearchTools to collect geo-accurate bestseller data.

Consistency: Ranking data is only meaningful if collected consistently over time. Reliable proxy infrastructure ensures you do not miss collection cycles due to blocking or connection failures.

Mobile perspective: Bestseller lists displayed on mobile apps may differ from web versions. DataResearchTools mobile proxies access marketplace content through genuine carrier IPs, capturing the mobile shopping experience.

Collection Schedule

List TypeFrequencyRationale
Overall bestsellersDailyRankings shift daily
Category bestsellersDailySame as above
Trending/risingDailyBy definition, trends need daily tracking
During mega salesHourlyRankings change rapidly during events
New releasesWeeklyNew products launch weekly

Analyzing Bestseller Data

Ranking Trend Analysis

Track how specific products and brands move through bestseller rankings over time:

class BestsellerAnalyzer:
    def __init__(self, db):
        self.db = db

    def get_ranking_trend(self, product_id, platform, country, category, days=30):
        """Get ranking history for a specific product."""
        history = self.db.get_ranking_history(
            product_id, platform, country, category, days
        )
        return {
            'product_id': product_id,
            'rankings': [
                {'date': h['collected_at'].date(), 'rank': h['rank']}
                for h in history
            ],
            'best_rank': min(h['rank'] for h in history) if history else None,
            'worst_rank': max(h['rank'] for h in history) if history else None,
            'avg_rank': sum(h['rank'] for h in history) / len(history) if history else None,
            'trend': self.calculate_trend([h['rank'] for h in history]),
        }

    def calculate_trend(self, ranks):
        """Calculate if ranking is improving, declining, or stable."""
        if len(ranks) < 7:
            return 'insufficient_data'

        recent_avg = sum(ranks[-7:]) / 7
        earlier_avg = sum(ranks[:7]) / 7

        if recent_avg < earlier_avg * 0.85:  # Lower rank number = better
            return 'improving'
        elif recent_avg > earlier_avg * 1.15:
            return 'declining'
        else:
            return 'stable'

Brand Share of Bestseller Rankings

Calculate what share of the top positions each brand holds:

def brand_share_of_bestsellers(bestseller_data, top_n=100):
    """Calculate each brand's share of the top N bestseller positions."""
    top_products = [p for p in bestseller_data if p['rank'] <= top_n]
    brand_counts = {}

    for product in top_products:
        brand = product.get('brand', 'Unknown')
        brand_counts[brand] = brand_counts.get(brand, 0) + 1

    total = len(top_products)
    return {
        brand: {
            'count': count,
            'share_percentage': count / total * 100,
            'avg_rank': sum(
                p['rank'] for p in top_products
                if p.get('brand') == brand
            ) / count,
        }
        for brand, count in sorted(
            brand_counts.items(), key=lambda x: x[1], reverse=True
        )
    }

New Entrant Detection

Identify products that newly appear on bestseller lists:

def detect_new_entrants(current_bestsellers, previous_bestsellers, top_n=50):
    """Find products that are new to the top N bestseller rankings."""
    current_top = {p['product_id'] for p in current_bestsellers if p['rank'] <= top_n}
    previous_top = {p['product_id'] for p in previous_bestsellers if p['rank'] <= top_n}

    new_entrants = current_top - previous_top
    exits = previous_top - current_top

    return {
        'new_entrants': [
            p for p in current_bestsellers
            if p['product_id'] in new_entrants
        ],
        'exits': [
            p for p in previous_bestsellers
            if p['product_id'] in exits
        ],
    }

Price Distribution Analysis

Analyze the price distribution of bestselling products:

  • What is the average price of top-10 products versus top-50?
  • Are bestsellers concentrated in a specific price range?
  • Is the bestseller price range shifting over time?

This analysis reveals what consumers are willing to pay for the most popular products in your category.

Promotional Impact on Rankings

Compare bestseller rankings during normal periods versus promotional events:

  • Which products climb most during sales events?
  • Do promotional rankings persist after the event ends?
  • Which brands benefit most from promotional events?

Identifying Trends

Rising Categories

Track categories where the number of bestselling products is growing. If a subcategory is expanding its presence on the overall bestseller list, it indicates growing consumer demand.

Feature Trends

Analyze the attributes of bestselling products to identify feature trends:

  • Are products with specific features (e.g., wireless, USB-C, waterproof) increasingly dominating bestseller lists?
  • What specifications separate the top-ranked bestsellers from the rest?

Seasonal Patterns

Build a seasonal model by analyzing bestseller data across multiple years:

  • Which product types peak during specific seasons?
  • How far in advance do seasonal bestsellers begin climbing?
  • Which categories are most sensitive to seasonal effects?

Dashboard Design

Bestseller Leaderboard

Real-time view of current bestseller rankings with your products highlighted and competitive positioning visible.

Brand Share Trend

Line chart showing each brand’s share of the top 50 or top 100 over time. This is one of the best proxy metrics for market share trends.

New Product Alerts

Feed showing newly detected products entering the bestseller rankings, with product details and estimated sales velocity.

Category Trend Map

Heatmap showing category growth and decline patterns across platforms and countries.

DataResearchTools for Bestseller Tracking

Reliable bestseller tracking across SEA marketplaces requires:

  • Daily collection capability: High-volume proxy infrastructure for consistent daily scraping
  • Geographic coverage: Country-specific mobile IPs to access geo-specific bestseller lists
  • Platform access: Reliable access to bestseller pages across Shopee, Lazada, Amazon, and Tokopedia
  • Event-ready scaling: Ability to increase collection frequency during mega sales

DataResearchTools provides carrier-level mobile proxy infrastructure across all major SEA markets, delivering the reliability and geographic coverage needed for comprehensive bestseller tracking.

Conclusion

Bestseller tracking is one of the most efficient forms of competitive intelligence. The data is publicly available on marketplace bestseller lists, and with systematic collection through reliable proxy infrastructure, it provides continuous visibility into market dynamics, competitive positioning, and emerging trends. Brands that track bestseller data consistently gain early insight into shifts in consumer demand and competitive moves, enabling more informed strategic decisions in fast-moving SEA e-commerce markets.


Related Reading

Scroll to Top