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
AmazonIn stock$24.99
WalmartIn stock$26.47
eBay3 left$27.50The challenge
APIs used
Use one or combine them. Every API takes a simple JSON request and returns structured JSON.
How it works
List the product URLs or item IDs to track: your own listings and the competitors you care about.
Run a job hourly or daily that sends each URL to the matching DataGuru API.
Save price, stock and seller with a timestamp in your database, a spreadsheet or a CSV.
Example
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){
"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
Compare each price with the last snapshot and get notified the moment a competitor undercuts you.
Watch availability_status to spot when a competitor runs out, so you can adjust ads or pricing.
Track merchant_info.sold_by to see who is winning the sale on each listing over time.
What it costs
Checking 1,000 Amazon products once a day:
$30.00 / month
30,000 requests × $0.001 / req on the Amazon Product Search API. No subscription or minimum; you only pay for successful requests.
See all pricingWho it's for
FAQ
More use cases
SEO & Search
Check where your pages rank for each keyword and country, watch competitors and related searches, and follow news coverage of your brand.
Social Media
Find posts that mention your brand or competitors, pull the conversation around them, and track engagement over time.
Recruiting & HR
Upload resumes in bulk and get contact details, skills, experience, education and quality scores back as JSON, ready for your ATS or spreadsheet.
Price, condition, seller and shipping for an eBay listing URL or item ID.
$0.02 / req
Flag price drops, stock-outs and seller changes, and send them to Slack, email or your repricing tool.
Plot snapshots over weeks and months to understand promotions, seasonality and pricing strategy.
Find resellers advertising below your minimum advertised price across Amazon, Walmart and eBay.
Feed fresh competitor prices into your own repricing rules or tools.