Developer Migration Guide · Zero Container Cold Starts
Migrate from Apify E-Commerce Scrapers to Synchronous Retail & 1688 REST JSON — Save 60%–85%+.
Running real-time repricers, BuyBox trackers, or 1688 margin scanners inside async Docker Actors means paying container boot overhead, residential proxy surcharges, and waiting 20–60 seconds per run. Switch in 5 minutes to https://api.shopdataapi.com/v1/*: normalized ASIN, BuyBox, SKU matrix, review, and 1688 MOQ fields over a single synchronous GET request at $0.08–$0.20 per 1,000 items.
✓ Instant $1.20 (12,000 Credits) at 0 ms + $2.00 (+20,000 Credits) Sandbox Streak (32,000 total free credits) · ✓ 0%-fee Crypto (+5% bonus) · ✓ $9.00 Indie PAYG pack never expires
1-to-1 Schema Translation
E-Commerce Actor Input JSON → Synchronous REST Endpoints
Base URL: https://api.shopdataapi.com · $1.00 = 10,000 Credits
| Actor Input JSON Field | Direct Sync Endpoint | Query Parameters | Typical Latency | Exact Unit Cost |
|---|---|---|---|---|
| keywords / searchTerms: ["ceramic mug"], country: "US", maxItems: 48 (Amazon Search Scraper) | GET /v1/amazon/search | ?query=ceramic+mug&country=US&page=1 | <1.5s sync JSON (20 ms warm cache) | 2 Credits / item ($0.08–$0.20 / 1K; 0 if empty) |
| asins: ["B08N5WRWNW"] / productUrls: ["https://www.amazon.com/dp/B08N5WRWNW"] (Amazon Product Scraper) | GET /v1/amazon/product | ?asin=B08N5WRWNW&country=US | <1.4s sync JSON | 10 Credits / ASIN ($0.40–$1.00 / 1K; 0 on 404) |
| productUrls / asins: ["B08N5WRWNW"], sortBy: "recent", maxReviews: 20 (Amazon Reviews Scraper) | GET /v1/amazon/reviews | ?asin=B08N5WRWNW&country=US&page=1 | <1.5s sync JSON | 2 Credits / review ($0.08–$0.20 / 1K; 0 if empty) |
| searchKeywords: ["ceramic mug"], startUrls: ["https://www.walmart.com/ip/2659627283"] (Walmart Scraper) | GET /v1/walmart/search | ?query=ceramic+mug&page=1 (or /v1/walmart/product?id=2659627283) | <1.6s sync JSON | 2 Credits / search item · 10 Credits / detail |
| keyword: "马克杯" / offerUrls: ["https://detail.1688.com/offer/1088453066793.html"] (1688 Wholesale Scraper) | GET /v1/1688/item | ?item_id=1088453066793 (or /v1/1688/search?keyword=ceramic+mug) | 0.9–1.8 s live (22 ms cached) | 10 Credits / MOQ ladder ($0.40–$1.00 / 1K; 0 on 404) |
Why High-Frequency Repricers & Sourcing Tools Switch
60%–85%+ Lower Total Cost & Zero Container Cold Starts
| Dimension | Async Container Scrapers | ShopData API Direct REST Gateway |
|---|---|---|
| Response Model & Cold Start | Async Docker container boot (20–60s queue + spin-up) → poll run status → fetch dataset JSON | Single synchronous HTTP GET (<1.5s; 20 ms cached) — zero container startup fee |
| 100,000 Search Items / Reviews | $150–$450+ (Compute Units + residential proxy bandwidth + monthly Actor rentals) | $8.00 on Business ($0.08/1K) or $11.50 on Pro ($0.115/1K) or $9.00+ never-expiring PAYG |
| Multi-Marketplace Coverage | Separate paid Actors per site (Amazon, Walmart, Etsy, 1688, TikTok Shop) with incompatible schemas | All 7 retail & wholesale marketplaces unlocked with one sd_live_... key |
| Concurrency & Rate Limits | Capped by container memory quota (8–32 GB) — parallel webhook spikes queue up | 30 RPM (2 RPS) on Free Trial → 120 to 600 RPM (15 RPS) on Paid tiers |
5-Minute Drop-In Migration
Replace ApifyClient.actor().call() with One HTTP Request
# BEFORE (Async container run: 20–60s container cold start + dataset polling + CU & proxy fees)
# run = ApifyClient(TOKEN).actor("junglee/amazon-crawler").call(run_input={
# "categoryOrProductUrls": [{"url": "https://www.amazon.com/dp/B08N5WRWNW"}],
# })
# items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
# AFTER (ShopData API: <1.5s synchronous HTTP GET — 0 container boot fees)
import os
import requests
API_KEY = os.environ["SHOPDATAAPI_KEY"] # sd_live_... (12,000 free credits on signup)
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1. Search Amazon US listings synchronously (/v1/amazon/search)
search = requests.get(
"https://api.shopdataapi.com/v1/amazon/search",
params={"query": "ceramic mug", "country": "US", "page": 1},
headers=HEADERS,
timeout=20,
).json()["data"]
# 2. Fetch full ASIN BuyBox & SKU matrix + matching 1688 factory MOQ ladder
product = requests.get(
"https://api.shopdataapi.com/v1/amazon/product",
params={"asin": search[0]["asin"], "country": "US"},
headers=HEADERS,
timeout=20,
).json()["data"]
wholesale = requests.get(
"https://api.shopdataapi.com/v1/1688/search",
params={"keyword": "ceramic mug", "page": 1},
headers=HEADERS,
timeout=20,
).json()["data"]
print(product["title"], product["price"], wholesale[0]["price_usd"])// BEFORE: await apifyClient.actor("...").call({ asins: ["B08N5WRWNW"] })
// AFTER: Native fetch() — zero SDK dependencies, <1.5s response for Next.js / BullMQ / n8n workers
const API_KEY = process.env.SHOPDATAAPI_KEY!;
const headers = { Authorization: `Bearer ${API_KEY}` };
const [amzRes, aliRes] = await Promise.all([
fetch("https://api.shopdataapi.com/v1/amazon/product?asin=B08N5WRWNW&country=US", { headers }),
fetch("https://api.shopdataapi.com/v1/1688/item?item_id=1088453066793", { headers }),
]);
const amazonItem = (await amzRes.json()).data;
const factoryOffer = (await aliRes.json()).data;
console.log({
asin: amazonItem.asin,
buyBoxUsd: amazonItem.price,
factoryExwUsd: factoryOffer.price_usd,
moqTiers: factoryOffer.moq_tiers,
});# 1. Search Amazon US listings (2 Credits / item returned)
curl -sS "https://api.shopdataapi.com/v1/amazon/search?query=ceramic+mug&country=US&page=1" \
-H "Authorization: Bearer sd_live_YOUR_API_KEY"
# 2. Fetch full Amazon ASIN BuyBox & SKU Matrix (10 Credits)
curl -sS "https://api.shopdataapi.com/v1/amazon/product?asin=B08N5WRWNW&country=US" \
-H "Authorization: Bearer sd_live_YOUR_API_KEY"
# 3. Fetch 1688 Factory Wholesale MOQ Price Ladder in CNY & USD (10 Credits)
curl -sS "https://api.shopdataapi.com/v1/1688/item?item_id=1088453066793" \
-H "Authorization: Bearer sd_live_YOUR_API_KEY"{
"ok": true,
"endpoint": "/v1/amazon/product",
"meta": {
"request_id": "req_sd_mig_91f2a",
"credits_used": 10,
"took_ms": 24,
"cache_hit": true
},
"data": {
"asin": "B08N5WRWNW",
"marketplace": "amazon_us",
"title": "Artisan Matte Stoneware Ceramic Coffee Mug 14oz",
"price": 24.99,
"list_price": 29.99,
"currency": "USD",
"is_prime": true,
"rating": 4.8,
"reviews_count": 3412,
"sales_volume": "4K+ bought in past month"
}
}Claude Web · ChatGPT · Cursor · n8n
1-Click Remote OAuth 2.1 MCP Connector
Building autonomous product research or 1688 sourcing agents? Connect Claude Web or ChatGPT Connectors directly via OAuth 2.1 PKCE:
https://mcp.shopdataapi.com/v1/mcpUsing Cursor, Claude Desktop, or Windsurf? Point https://api.shopdataapi.com/mcp with header x-api-key: sd_live_.... Full setup on /mcp.
Endpoint Reference & Benchmarks
Explore Verified Endpoint Docs
- → GET /v1/amazon/search — Live BuyBox price, Prime badge, rating & 30d sales
- → GET /v1/amazon/product — Complete ASIN specs, BSR & child SKU variation matrix
- → GET /v1/walmart/search — Walmart Rollback price, WFS badge & stock status
- → GET /v1/1688/item — 1688 factory MOQ price breaks (CNY + USD) & SKU inventory
- → Rainforest API Pricing Breakdown, Keepa API Alternative & 1688 Wholesale API Guide
REST API Migration FAQ
- Why is a synchronous e-commerce REST gateway 60%–85% cheaper than container Actor runs?
- Every container scraper run boots an isolated Docker runtime, spins up residential proxies + headless Chromium, and bills Compute Units (CUs) plus platform minimums ($3–$15+ per 1,000 products). ShopData API eliminates container cold starts completely: call https://api.shopdataapi.com/v1/amazon/search directly over HTTP and pay strictly 2 Credits ($0.08–$0.20 per 1,000 items) with 0 Credits charged on empty searches or 4xx/5xx errors.
- Can I query Amazon, Walmart, Etsy, TikTok Shop, and 1688 with one API key?
- Yes. Instead of subscribing to 5 separate Actor rentals with incompatible output schemas, a single sd_live_... API key unlocks all 13 retail and cross-border wholesale endpoints under one unified credit ledger ($1.00 = 10,000 Credits).
- Can I test for free and top up Pay-As-You-Go starting at $9?
- Yes. Every new developer receives 12,000 Free Credits ($1.20) instantly upon signup at /signup with no credit card required, plus up to +20,000 Sandbox Streak Credits. When ready, choose the $9.00 Indie Starter Micro-Pack (90,000 never-expiring Credits) or monthly plans via Stripe or 0%-fee Crypto (+5% bonus).
- Does ShopData API work with n8n, Make, Clay, Claude Web, and ChatGPT Connectors?
- Yes. Replace async 'Run Actor + Poll Dataset' multi-step workflows with a single HTTP Request node to https://api.shopdataapi.com/v1/amazon/product. For Claude Web and ChatGPT Connectors, paste our 1-click OAuth 2.1 Remote MCP URL: https://mcp.shopdataapi.com/v1/mcp.
Ready to drop container cold starts?
Create your account in 10 seconds and get 12,000 Free Credits ($1.20) instantly — enough for 6,000 retail/wholesale search items or 1,200 full ASIN/1688 SKU lookups with zero credit card required.