Amazon Ads

Amazon Sponsored Products: Monitor Competitor Ad Campaigns with API

Track Amazon sponsored product placements, advertising strategies, and promotional campaigns using Amazon SERP API

December 12, 2025 20 min read Pangol Info Team

In the competitive world of Amazon selling, understanding your competitors' advertising strategies can be the difference between profitable growth and wasted ad spend. Amazon Sponsored Products ads account for over 70% of all Amazon advertising revenue, making them the primary battleground for visibility and sales. This comprehensive guide will show you how to use Pangol Info's Amazon SERP API to monitor competitor ad campaigns, extract actionable intelligence, and optimize your own advertising strategy based on real market data.

Every day, sellers spend millions of dollars on Amazon PPC (Pay-Per-Click) advertising, often without knowing what their competitors are doing. Are they bidding on your brand terms? Which keywords are they targeting? How much are they spending? What ad copy converts best? These questions are critical to your success, and the answers are hiding in plain sight—in Amazon's search results. By systematically tracking sponsored product placements, you can reverse-engineer successful advertising strategies and avoid costly mistakes.

Why Monitor Competitor Ads

Before we dive into the technical implementation, let's understand why competitive ad monitoring is so valuable. This isn't just about curiosity—it's about gaining strategic advantages that directly impact your bottom line:

Discover High-Converting Keywords: When a competitor consistently advertises on a specific keyword, they're telling you something important: that keyword converts. They wouldn't keep spending money on it otherwise. By tracking which keywords your competitors bid on most frequently, you can identify proven, high-ROI keywords without the expensive trial-and-error process. I've seen sellers cut their keyword research time by 60% and improve their ACoS (Advertising Cost of Sale) by 25% just by focusing on competitor-validated keywords.

Optimize Your Ad Spend: Advertising on Amazon is an auction. If you know when your competitors are advertising heavily (and when they're not), you can adjust your bids accordingly. For example, if you notice a major competitor stops advertising on weekends, that's your opportunity to dominate those search results at a lower cost. Conversely, if multiple competitors are bidding aggressively on a keyword, you might decide it's too expensive and focus your budget elsewhere.

Protect Your Brand: One of the most frustrating experiences for Amazon sellers is seeing competitors advertise on your brand name. When someone searches for your brand, you want your products to appear first—not your competitors'. By monitoring brand term advertising, you can quickly identify when competitors are targeting your brand and respond appropriately. Some sellers have reduced brand defense costs by 40% by using data to bid more strategically on their own brand terms.

Identify Market Trends Early: When you see multiple competitors suddenly advertising on new keywords or product categories, that's often a signal of emerging trends. Maybe there's a new product type gaining traction, or a seasonal opportunity you haven't considered. This early warning system can help you pivot your strategy before the market becomes saturated.

Real-World Impact

Sellers who actively monitor competitor advertising report 30-50% improvements in ad efficiency within 3 months. More importantly, they avoid the #1 mistake in Amazon advertising: bidding on keywords that don't convert. By following proven winners, you dramatically reduce risk while accelerating results.

Understanding Amazon's Advertising Landscape

To effectively monitor competitor ads, you need to understand how Amazon's advertising ecosystem works. Amazon offers several ad types, but we'll focus on Sponsored Products—the most common and often most effective format for most sellers.

Sponsored Products vs. Other Ad Types

Sponsored Products are the ads that appear directly in search results and on product pages, looking almost identical to organic listings except for a small "Sponsored" label. These are cost-per-click (CPC) ads, meaning you only pay when someone clicks. They're the workhorse of Amazon advertising because they capture high-intent shoppers actively searching for products.

Sponsored Brands (formerly Headline Search Ads) appear at the top of search results and feature your brand logo, a custom headline, and multiple products. These are more expensive but great for brand awareness.

Sponsored Display ads appear on and off Amazon, targeting shoppers based on their browsing behavior. These are useful for retargeting but less critical for most sellers.

For this guide, we'll focus on Sponsored Products because they represent 70-80% of most sellers' ad spend and are the easiest to track and analyze using SERP data.

How Ad Placement Works

Amazon's ad auction is complex, but here's what you need to know: When someone searches for a keyword, Amazon runs an instant auction among all advertisers bidding on that keyword. The winners get their products displayed as sponsored results. The auction considers two main factors:

1. Your Bid: How much you're willing to pay per click. Higher bids generally mean better placement, but it's not the only factor.

2. Ad Relevance: Amazon wants to show ads that are likely to convert because they make money on the sale, not just the click. So a highly relevant product with a lower bid might beat an irrelevant product with a higher bid.

This is why tracking competitor ad positions over time is so valuable. If a competitor consistently appears in top positions, they've found the sweet spot of bid price and relevance. You can learn from their success.

Tracking Sponsored Products with API

Now let's get practical. To track competitor ads systematically, you need to extract sponsored product data from Amazon search results. This is where Pangol Info's Amazon SERP API becomes invaluable. Instead of manually searching keywords and recording results, you can automate the entire process.

Building a Basic Ad Tracker

Our first script will search for a keyword, identify which products are sponsored, and record their positions. This gives you a snapshot of the competitive landscape for any keyword at any time. Let's build it step by step:

import requests
import json
from datetime import datetime
from typing import List, Dict

class SponsoredProductTracker:
    """
    Track Amazon Sponsored Products in search results.
    
    This class helps you monitor which products are advertising on specific
    keywords, their ad positions, and how the competitive landscape changes
    over time.
    """
    
    def __init__(self, api_key: str):
        """Initialize tracker with Pangol Info API key"""
        self.api_key = api_key
        self.endpoint = "https://scrapeapi.pangolinfo.com/api/v1/scrape"
    
    def search_keyword(self, keyword: str, page: int = 1) -> Dict:
        """
        Search for a keyword and extract all products including sponsored ones.
        
        Args:
            keyword: The search term to track
            page: Which page of results to fetch (1-10)
        
        Returns:
            Dictionary containing search results with sponsored product data
        """
        # Construct Amazon search URL
        url = f"https://www.amazon.com/s?k={keyword.replace(' ', '+')}&page={page}"
        
        headers = {
            "Authorization": f"Bearer {self.api_key}",
            "Content-Type": "application/json"
        }
        
        payload = {
            "url": url,
            "parserName": "amzKeyword",  # Use keyword search parser
            "format": "json",
            "bizContext": {"zipcode": "10041"}
        }
        
        try:
            response = requests.post(self.endpoint, headers=headers, json=payload, timeout=30)
            
            if response.status_code == 200:
                result = response.json()
                if result.get('code') == 0:
                    data = result.get('data', {})
                    json_data = data.get('json', [{}])[0]
                    if json_data.get('code') == 0:
                        return json_data.get('data', {})
            return None
        except Exception as e:
            print(f"Error searching keyword '{keyword}': {str(e)}")
            return None
    
    def extract_sponsored_products(self, search_results: Dict) -> List[Dict]:
        """
        Extract only sponsored products from search results.
        
        Sponsored products are identified by the 'sponsored' flag in the data.
        We track their position, ASIN, title, price, and other key metrics.
        
        Returns:
            List of sponsored product dictionaries
        """
        if not search_results:
            return []
        
        all_products = search_results.get('results', [])
        sponsored = []
        
        for position, product in enumerate(all_products, 1):
            # Check if this is a sponsored product
            if product.get('sponsored', False) or product.get('isSponsored', False):
                sponsored.append({
                    'position': position,
                    'asin': product.get('asin'),
                    'title': product.get('title'),
                    'price': product.get('price'),
                    'rating': product.get('star'),
                    'reviews': product.get('rating'),
                    'brand': product.get('brand'),
                    'image': product.get('image'),
                    'timestamp': datetime.now().isoformat()
                })
        
        return sponsored
    
    def track_keyword(self, keyword: str, pages: int = 1) -> Dict:
        """
        Complete tracking for a keyword across multiple pages.
        
        This method searches the keyword, extracts sponsored products,
        and returns a comprehensive report.
        
        Args:
            keyword: Keyword to track
            pages: Number of pages to scan (1-5 recommended)
        
        Returns:
            Dictionary with tracking results and analysis
        """
        print(f"Tracking keyword: '{keyword}'")
        all_sponsored = []
        
        for page in range(1, pages + 1):
            print(f"  Scanning page {page}...")
            results = self.search_keyword(keyword, page)
            
            if results:
                sponsored = self.extract_sponsored_products(results)
                all_sponsored.extend(sponsored)
                print(f"  Found {len(sponsored)} sponsored products on page {page}")
        
        # Analyze the results
        unique_asins = set(p['asin'] for p in all_sponsored if p['asin'])
        unique_brands = set(p['brand'] for p in all_sponsored if p['brand'])
        
        return {
            'keyword': keyword,
            'timestamp': datetime.now().isoformat(),
            'total_sponsored': len(all_sponsored),
            'unique_products': len(unique_asins),
            'unique_brands': len(unique_brands),
            'sponsored_products': all_sponsored,
            'top_advertisers': self._get_top_advertisers(all_sponsored)
        }
    
    def _get_top_advertisers(self, sponsored_products: List[Dict]) -> List[Dict]:
        """
        Identify which brands/sellers are advertising most heavily.
        
        Returns list of brands sorted by number of ad placements.
        """
        brand_counts = {}
        
        for product in sponsored_products:
            brand = product.get('brand', 'Unknown')
            if brand not in brand_counts:
                brand_counts[brand] = {
                    'brand': brand,
                    'ad_count': 0,
                    'asins': set()
                }
            brand_counts[brand]['ad_count'] += 1
            brand_counts[brand]['asins'].add(product.get('asin'))
        
        # Convert to list and sort by ad count
        top_advertisers = [
            {
                'brand': data['brand'],
                'ad_placements': data['ad_count'],
                'unique_products': len(data['asins'])
            }
            for data in brand_counts.values()
        ]
        
        top_advertisers.sort(key=lambda x: x['ad_placements'], reverse=True)
        return top_advertisers[:10]  # Top 10
    
    def generate_report(self, tracking_data: Dict):
        """Generate a formatted report of tracking results"""
        print(f"\n{'='*70}")
        print(f"SPONSORED PRODUCT TRACKING REPORT")
        print(f"{'='*70}")
        print(f"Keyword: {tracking_data['keyword']}")
        print(f"Timestamp: {tracking_data['timestamp']}")
        print(f"\nSummary:")
        print(f"  Total sponsored placements: {tracking_data['total_sponsored']}")
        print(f"  Unique products advertising: {tracking_data['unique_products']}")
        print(f"  Unique brands advertising: {tracking_data['unique_brands']}")
        
        print(f"\nTop Advertisers:")
        for i, advertiser in enumerate(tracking_data['top_advertisers'][:5], 1):
            print(f"  {i}. {advertiser['brand']}")
            print(f"     Ad placements: {advertiser['ad_placements']}")
            print(f"     Unique products: {advertiser['unique_products']}")
        
        print(f"\nTop 5 Sponsored Products:")
        for i, product in enumerate(tracking_data['sponsored_products'][:5], 1):
            print(f"  {i}. Position #{product['position']}")
            print(f"     {product['title'][:60]}...")
            print(f"     ASIN: {product['asin']} | Price: {product['price']}")
            print(f"     Brand: {product['brand']}")
        
        print(f"\n{'='*70}\n")

# Example usage
if __name__ == "__main__":
    # Initialize tracker
    tracker = SponsoredProductTracker("your_api_key_here")
    
    # Track a keyword
    results = tracker.track_keyword("wireless earbuds", pages=2)
    
    # Generate report
    tracker.generate_report(results)
    
    # Save to file
    with open(f"ad_tracking_{results['keyword'].replace(' ', '_')}.json", 'w') as f:
        # Convert sets to lists for JSON serialization
        results_copy = results.copy()
        json.dump(results_copy, f, indent=2, default=str)

This tracker gives you a comprehensive view of the advertising landscape for any keyword. When you run it, you'll see exactly which products are advertising, where they appear, and which brands are spending the most on ads. But the real power comes from running this tracker regularly—daily or weekly—to see how the competitive landscape changes over time.

For example, if you notice a new competitor suddenly appearing in top ad positions, that might signal they've launched a new product or increased their ad budget. Or if a longtime advertiser disappears, they might have run out of stock or decided the keyword isn't profitable. These insights help you make smarter decisions about your own advertising.

Competitive Intelligence Strategies

Now that you can track sponsored products, let's explore advanced strategies for extracting competitive intelligence. The goal isn't just to collect data—it's to turn that data into actionable insights that improve your advertising ROI.

Keyword Coverage Analysis

One of the most valuable analyses you can perform is keyword coverage: which keywords are your competitors advertising on that you're not? This reveals gaps in your advertising strategy and opportunities to capture additional traffic.

Here's how it works: Create a list of 50-100 relevant keywords for your product category. Run the tracker on all of them. Then analyze which competitors appear most frequently across all keywords. If a competitor is advertising on 30 keywords and you're only on 10, you're missing out on 20 potential traffic sources.

More importantly, look at which specific keywords they're targeting that you're not. These are your low-hanging fruit—keywords that are proven to work (because competitors are spending money on them) but where you have no presence. Prioritize adding these to your campaigns.

Estimating Competitor Ad Spend

While you can't see exactly how much competitors are spending, you can make educated estimates based on their ad frequency and positions. Here's the logic:

If a competitor appears in sponsored positions for a keyword 90% of the time you check (say, 27 out of 30 daily checks), they're likely bidding aggressively and spending significantly. If they only appear 20% of the time, they might have a lower budget or be using dayparting (advertising only during specific hours).

Combine this frequency data with estimated click-through rates (CTR) and average cost-per-click (CPC) for the keyword, and you can estimate their monthly spend. For example: If a keyword gets 10,000 searches/month, sponsored products get a 3% CTR, and the average CPC is $1.50, a competitor appearing 80% of the time is probably spending around $360/month on that one keyword (10,000 Ă— 0.03 Ă— 0.80 Ă— $1.50).

This isn't perfect, but it gives you a ballpark figure that helps you understand the competitive intensity and budget requirements for different keywords.

Optimization Strategies Based on Competitor Data

Collecting competitive intelligence is only valuable if you act on it. Here are proven strategies for optimizing your advertising based on competitor data:

Smart Bidding Strategies

The Gap Strategy: Look for keywords where competitors advertise inconsistently. If you notice a major competitor only advertises Monday-Friday, increase your bids on weekends to capture that traffic at a lower cost. I've seen sellers reduce their ACoS by 15-20% just by identifying these timing gaps.

The Underdog Strategy: Find keywords where there are only 1-2 advertisers. These often have lower CPCs because there's less competition, but they can still drive significant sales. They're especially valuable for sellers with smaller budgets who can't compete on high-traffic, high-competition keywords.

The Defensive Strategy: If competitors are advertising on your brand terms, you need to defend. But don't just blindly bid high—track how often they appear and adjust your bids to stay above them while minimizing spend. Sometimes a modest bid increase is enough to push them down the page.

New Keyword Discovery

Use competitor ad tracking as a keyword research tool. Every keyword a successful competitor advertises on is a potential opportunity for you. Create a spreadsheet of all keywords where competitors appear, ranked by:

  • Number of different competitors advertising (more = validated demand)
  • Frequency of ads (higher = likely profitable)
  • Your current presence (prioritize keywords where you're absent)

This gives you a prioritized list of keywords to test, dramatically reducing the trial-and-error phase of keyword research.

Common Mistakes to Avoid

Copying Blindly: Just because a competitor advertises on a keyword doesn't mean it's profitable for them—or for you. Always test new keywords with small budgets first.

Ignoring Relevance: Don't bid on keywords just because competitors do. If the keyword isn't relevant to your product, you'll waste money on clicks that don't convert.

Forgetting Your Unique Value: Competitor data should inform your strategy, not dictate it. You might have advantages (better price, unique features, superior reviews) that allow you to succeed where others fail.

Your 30-Day Ad Intelligence Action Plan

Here's a practical plan to start using competitive ad intelligence to improve your Amazon advertising:

Week 1: Setup and Baseline

  • Set up the SponsoredProductTracker with your API key
  • Identify your top 20 most important keywords
  • Run initial tracking on all keywords to establish baseline
  • Identify your top 3-5 competitors based on ad frequency

Week 2: Daily Monitoring

  • Track your top 10 keywords daily (automated with cron job or scheduler)
  • Note any changes in competitor ad positions or new advertisers
  • Start building a database of historical ad data
  • Identify 5 new keyword opportunities based on competitor coverage

Week 3: Analysis and Testing

  • Analyze which competitors appear most consistently
  • Estimate their ad spend on key terms
  • Launch test campaigns on 3-5 competitor-validated keywords
  • Adjust bids on existing campaigns based on competitive intensity

Week 4: Optimization

  • Review performance of new keyword tests
  • Identify timing gaps in competitor advertising
  • Implement dayparting or bid adjustments based on findings
  • Document your learnings and plan next month's strategy

Conclusion: From Data to Advertising Dominance

Monitoring competitor advertising isn't about copying what others do—it's about learning from the market's collective wisdom. Every dollar your competitors spend on advertising is a data point you can learn from. Every keyword they test is an experiment you don't have to run yourself. Every positioning strategy they try gives you insights into what works and what doesn't.

The most successful Amazon advertisers I know use competitive intelligence as one pillar of their strategy, combined with their own testing and optimization. They don't blindly follow competitors, but they also don't ignore the valuable signals that competitor behavior provides.

Start small. Pick your top 10 keywords and track them for a month. See what patterns emerge. Notice which competitors are consistent and which are erratic. Identify opportunities where you can gain an edge. Then gradually expand your monitoring to cover more keywords and more competitors.

Remember: in Amazon advertising, information is power. The more you know about what's working in your market, the better decisions you can make. And better decisions lead to better ROI, which leads to more budget for advertising, which leads to more sales. It's a virtuous cycle, and it starts with understanding the competitive landscape.

Ready to Gain Advertising Intelligence?

Stop guessing what your competitors are doing and start knowing. Pangol Info's Amazon SERP API gives you the data you need to make smarter advertising decisions, reduce wasted spend, and maximize your ROI.

  • Track Competitor Ads: See exactly who's advertising on which keywords
  • Discover Winning Keywords: Find proven keywords your competitors are using
  • Optimize Your Spend: Bid smarter based on competitive intelligence
  • Stay Ahead: Get alerts when competitors change their strategies

Transform Your Amazon Advertising Strategy

Join successful sellers who use competitive intelligence to reduce ad costs, discover profitable keywords, and dominate their markets.