Use-case guide · E-commerce & Retail

Track competitor prices and stock across Amazon, Walmart and eBay

Keep a watchlist of your products and your competitors', check them on a schedule, and get clean JSON with price, stock and seller every time. No scrapers, proxies or headless browsers to maintain.

Watchlist

Insulated Water Bottle, 32 oz

−16.7%
  • AmazonIn stock$24.99
  • WalmartIn stock$26.47
  • eBay3 left$27.50
Price drop: Amazon $29.99 → $24.99

The challenge

Why this is hard to do yourself

Building it in-house

  • Retail sites change their page layouts often, so hand-written scrapers break and need constant fixes.
  • Marketplaces block repeated automated requests, which means buying proxies and handling CAPTCHAs and retries.
  • Every site formats prices, stock and sellers differently, so data needs cleaning before you can compare it.
  • Running headless browsers on a schedule for thousands of products is expensive to host and monitor.

With DataGuru

  • One API call per product returns structured JSON with the same fields every time.
  • Blocking, proxies and retries are handled on our side.
  • Price, stock, seller and rating come back as named fields, ready to store and compare.
  • You pay per successful request, with no servers or browsers to run.

How it works

Set it up in 4 steps

  1. 1

    Build a watchlist

    List the product URLs or item IDs to track: your own listings and the competitors you care about.

  2. 2

    Schedule checks

    Run a job hourly or daily that sends each URL to the matching DataGuru API.

  3. 3

    Store snapshots

    Save price, stock and seller with a timestamp in your database, a spreadsheet or a CSV.

  4. 4

    Compare and alert

    Flag price drops, stock-outs and seller changes, and send them to Slack, email or your repricing tool.

Example

A daily Amazon price tracker in Python

This script checks every product on a watchlist and appends one row per product to a CSV. Run it on a schedule and the file becomes your price history.

import csv
import datetime
import requests

API_URL = "https://api.dataguru.cc/api/v1/amazon/products/search"
HEADERS = {"Authorization": "Api-Key YOUR_API_KEY"}

# Your products and your competitors' products.
WATCHLIST = [
    "https://www.amazon.com/dp/B0EXAMPLE1",
    "https://www.amazon.com/dp/B0EXAMPLE2",
]


def check(product_url):
    res = requests.post(API_URL, headers=HEADERS, json={"product_url": product_url}, timeout=60)
    res.raise_for_status()
    product = res.json()
    return {
        "checked_at": datetime.datetime.now(datetime.timezone.utc).isoformat(),
        "url": product_url,
        "title": product.get("title"),
        "price": product.get("price"),
        "previous_price": product.get("previous_price"),
        "availability": product.get("availability_status"),
        "sold_by": (product.get("merchant_info") or {}).get("sold_by"),
    }


# Run on a schedule (cron, Celery beat, GitHub Actions...) to build a price history.
with open("price_history.csv", "a", newline="") as f:
    writer = None
    for url in WATCHLIST:
        row = check(url)
        writer = writer or csv.DictWriter(f, fieldnames=row.keys())
        writer.writerow(row)
Response · 200 OK
{
  "title": "Stainless Steel Insulated Water Bottle, 32 oz",
  "brand": "Example Brand",
  "price": "24.99",
  "price_symbol": "$",
  "previous_price": "29.99",
  "availability_status": "In Stock",
  "is_amazon_choice": true,
  "is_coupon_exists": false,
  "average_rating": "4.7",
  "total_reviews": "12,408",
  "merchant_info": {
    "sold_by": "Amazon.com",
    "ships_from": "Amazon.com"
  }
}

Example response trimmed to the fields used above. Values are illustrative.

What you get

What you can do with the data

Price-drop alerts

Compare each price with the last snapshot and get notified the moment a competitor undercuts you.

Stock-out detection

Watch availability_status to spot when a competitor runs out, so you can adjust ads or pricing.

Seller and Buy Box tracking

Track merchant_info.sold_by to see who is winning the sale on each listing over time.

Price history charts

Plot snapshots over weeks and months to understand promotions, seasonality and pricing strategy.

MAP compliance

Find resellers advertising below your minimum advertised price across Amazon, Walmart and eBay.

Repricing inputs

Feed fresh competitor prices into your own repricing rules or tools.

What it costs

Checking 1,000 Amazon products once a day:

$36.00 / month

30,000 requests × $0.0012 / req on the Amazon Product Search API. No subscription or minimum; you only pay for successful requests.

See all pricing

Who it's for

Built for teams like yours

  • E-commerce brands
  • Marketplace sellers
  • Pricing analysts
  • Retail data teams
  • Agencies managing many brands
  • Price comparison sites

FAQ

Frequently asked questions

Amazon, Walmart and eBay product pages, plus Google Shopping to see which other stores sell a product. Each has its own API, listed above, and they all return structured JSON.

Start building today

Create an account and get $1.00 of free balance to try every API in this guide. No credit card required.