Cross-listing tools sync inventory across marketplaces. The data layer behind them is where complexity lives. This tutorial builds a Scavio-backed multi-marketplace data layer.
Prerequisites
- Python 3.10+
- Scavio API key
Walkthrough
Step 1: Define your marketplaces
Amazon + Walmart + Google Shopping covered by Scavio.
MARKETPLACES = ['amazon', 'walmart', 'google_shopping']Step 2: Per-SKU price check
One call per marketplace.
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def price(sku, mp):
if mp == 'amazon':
return requests.post('https://api.scavio.dev/api/v1/amazon/search', headers=H, json={'query': sku}).json()
if mp == 'walmart':
return requests.post('https://api.scavio.dev/api/v1/walmart/search', headers=H, json={'query': sku}).json()
return requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': sku, 'search_type': 'shopping'}).json()Step 3: Compute per-SKU comparison
Lowest price across marketplaces.
def compare(sku):
rows = []
for mp in MARKETPLACES:
data = price(sku, mp)
items = data.get('products') or data.get('shopping_results') or []
for item in items[:3]:
rows.append({'marketplace': mp, 'title': item.get('title'), 'price': item.get('price'), 'url': item.get('url')})
return rowsStep 4: Reddit demand signal per SKU
Optional: r/Flipping discussion.
def demand(sku):
return requests.post('https://api.scavio.dev/api/v1/reddit/search', headers=H, json={'query': sku}).json()Step 5: Wrap in a daily cron
Update prices and demand signal each morning.
# Per 1,000 SKUs daily across 3 marketplaces:
# 3,000 Scavio queries = ~13 credits = $0.06/day.Python Example
# Total cost for a cross-listing tool tracking 1,000 SKUs daily: ~$2/mo of Scavio.JavaScript Example
// Same architecture in TS.Expected Output
Daily price + demand snapshot per SKU across 3 marketplaces. Output table feeds the cross-listing UI or the seller's pricing logic.