Overview
Sellers listing products on both Amazon and Walmart need to keep prices aligned and track competitor pricing daily. Manual price checks across platforms are slow and miss time-sensitive changes. This workflow queries both Amazon and Walmart via Scavio for your product listings each day, extracts current prices, compares them against your expected prices and each other, and alerts you when discrepancies exceed your threshold. One API, two platforms, complete price visibility.
Trigger
Cron schedule (daily at 7 AM UTC)
Schedule
Daily at 7 AM UTC
Workflow Steps
Query Amazon listings
Search Amazon for each of your product SKUs or titles. Extract current price, seller, and Buy Box status.
Query Walmart listings
Search Walmart for the same products. Extract current price, seller, and availability status.
Compare prices cross-platform
Match products across platforms and calculate price deltas. Flag items where Amazon and Walmart prices differ by more than 5%.
Alert on discrepancies
Send notifications for products with significant price gaps, including the exact prices and percentage difference.
Python Implementation
import requests, os, json
H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
PRODUCTS = [
{"name": "wireless bluetooth earbuds", "expected_price": 29.99},
{"name": "USB-C charging cable 6ft", "expected_price": 12.99},
{"name": "portable phone charger 10000mAh", "expected_price": 24.99},
]
def search_platform(product_name, platform):
"""Search a platform for a product and return price data."""
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": platform, "query": product_name}, timeout=10).json()
results = []
for item in r.get("organic", [])[:3]:
results.append({
"title": item.get("title", ""),
"price": item.get("price", "N/A"),
"link": item.get("link", ""),
"platform": platform
})
return results
THRESHOLD = 0.05 # 5% price difference threshold
for product in PRODUCTS:
amazon = search_platform(product["name"], "amazon")
walmart = search_platform(product["name"], "walmart")
print(f"\n--- {product['name'].upper()} ---")
print(f"Expected: ${product['expected_price']}")
if amazon:
print(f" Amazon: {amazon[0]['title'][:60]} | {amazon[0]['price']}")
if walmart:
print(f" Walmart: {walmart[0]['title'][:60]} | {walmart[0]['price']}")
if amazon and walmart:
print(f" Cross-platform check: compare top results for price alignment")JavaScript Implementation
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
const PRODUCTS = [
{name: "wireless bluetooth earbuds", expectedPrice: 29.99},
{name: "USB-C charging cable 6ft", expectedPrice: 12.99},
{name: "portable phone charger 10000mAh", expectedPrice: 24.99},
];
async function searchPlatform(productName, platform) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform, query: productName})
}).then(r => r.json());
return (r.organic || []).slice(0, 3).map(item => ({
title: item.title || "",
price: item.price || "N/A",
link: item.link || "",
platform
}));
}
const THRESHOLD = 0.05;
(async () => {
for (const product of PRODUCTS) {
const amazon = await searchPlatform(product.name, "amazon");
const walmart = await searchPlatform(product.name, "walmart");
console.log(`\n--- ${product.name.toUpperCase()} ---`);
console.log(`Expected: $${product.expectedPrice}`);
if (amazon.length) console.log(` Amazon: ${amazon[0].title.slice(0, 60)} | ${amazon[0].price}`);
if (walmart.length) console.log(` Walmart: ${walmart[0].title.slice(0, 60)} | ${walmart[0].price}`);
if (amazon.length && walmart.length) console.log(` Cross-platform check: compare top results for price alignment`);
}
})();Platforms Used
Amazon
Product search with prices, ratings, and reviews
Walmart
Product search with pricing and fulfillment data