Back to blog
Tutorial·August 20, 2026·13 min read

How to Scrape Amazon, Flipkart, eBay, Shopify, and More in 2026

A platform-by-platform guide to scraping Amazon, Flipkart, eBay, Walmart, Shopify, and regional e-commerce sites in 2026. Covers Wire's network-layer catalog for major marketplaces and Anakin's URL Scraper as a universal fallback.

T

Tosh Kothari

Anakin Team

Anakin's e-commerce coverage hub diagram showing Wire actions for Amazon, Walmart, eBay, Flipkart, Best Buy, Costco, and Home Depot

E-commerce data is among the most valuable on the web - and the most actively defended. Product prices change by the hour. Seller rankings shift in real time. Inventory signals, review velocity, search positioning: all of it moves, and all of it matters for pricing intelligence, competitor monitoring, and AI-driven purchasing agents.

The problem is that every major marketplace has invested heavily in blocking automated access. Datacenter IPs get flagged on contact. JavaScript renders product data asynchronously so static parsers return empty shells. Sessions expire and CAPTCHAs appear. Most guides respond with a list of tools and call it done.

This guide takes a different approach. The first question is not which tool - it's which layer. The layer you scrape at determines your success rate, your cost per request, and how often your integration breaks when the site updates its frontend.

Anakin covers all three layers through a single API key: Wire for network-layer extraction, URL Scraper for rendering-layer coverage, and Browser API for full interactive browser sessions.

The three layers of e-commerce scraping

Network layer - intercept the background API calls a site's own frontend makes. The site's JavaScript already knows how to fetch product data; you call those same endpoints directly. No browser rendering, no HTML parsing, no anti-bot fingerprinting to fight because you're not presenting as a browser. This is the layer Anakin's Wire operates at.

Rendering layer - spin up a headless browser, render the full page including JavaScript, then extract from the DOM. Works on any site. Slower than network-layer, but no need to reverse-engineer per-site API calls. This is how Anakin's URL Scraper works.

Browser layer - full interactive browser session, controllable via Playwright or Puppeteer over a CDP connection. Required for login flows, multi-step cart workflows, or sites that require behavioral signals before surfacing protected data. This is Anakin's Browser API.

The rule: use the lowest effective layer. Network-layer extraction is faster, cheaper, and immune to anti-bot stacks targeting browsers. Move up a layer only when the lower one doesn't reach the data you need.

Three-layer e-commerce scraping framework: Browser API for login flows at top, URL Scraper for JS-rendered pages in the middle, Wire at the network layer as the preferred option for catalog platforms

Amazon

Amazon runs one of the most layered bot detection systems in e-commerce: IP reputation scoring, TLS fingerprint analysis, behavioral signals, CAPTCHA challenges, and separate detection configurations for product search, detail pages, and reviews. Rotating datacenter IPs is not enough - Amazon compares your TLS handshake against your declared browser fingerprint, and mismatches trigger blocks immediately.

The network-layer answer is Anakin's Wire. Amazon's frontend makes structured API calls to its own data feeds. Wire has catalogued 15 Amazon actions covering product search, product detail, reviews, completed listings, category browsing, and more. Instead of rendering Amazon's JavaScript and parsing HTML, you submit a Wire task and get back structured JSON.

# Search Amazon by keyword
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "amazon.search_products",
    "query": "standing desk",
    "country": "us"
  }'

# Get product detail by ASIN
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "amazon.product_detail",
    "asin": "B08N5WRWNW"
  }'

# Get reviews for an ASIN
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "amazon.reviews",
    "asin": "B08N5WRWNW"
  }'

Poll results at GET https://api.openwire.sh/v1/wire/jobs/{job_id}. The response is structured JSON - no HTML to parse, no XPath selectors to maintain. Wire's actions self-heal: when Amazon changes its frontend, the underlying data path updates automatically and your integration keeps working.

Wire also covers Amazon India with 13 dedicated actions - the same network-layer approach, localized to Indian marketplace data.

Exact parameter names per action are listed in the Wire catalog at anakin.io/products/wire.

Five anti-bot checkpoints a browser scraper hits, bypassed by a single Wire API call returning structured JSON from the Amazon data endpoint

eBay

eBay uses JavaScript rendering for bid counts, price variants, item condition, and seller reputation metrics - all loaded asynchronously. Datacenter requests get blocked at volume; the rendering layer exposes timing signals that behavioral analysis catches quickly.

Anakin's Wire covers eBay with 7 actions via the network layer:

  • eb_search_listings - keyword search across all listings
  • eb_listing_details - full listing data by item ID
  • eb_completed_listings - sold price history for a search query
  • eb_seller_profile - seller reputation and listing count
  • eb_seller_listings - all active listings from a seller
  • eb_category_browse - products by category
  • eb_category_sitemap - full category hierarchy
# Search eBay listings
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "eb_search_listings",
    "query": "vintage camera",
    "sort": "endingSoonest"
  }'

# Get completed (sold) price history
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "eb_completed_listings",
    "query": "Leica M6"
  }'

Completed listing data is particularly useful for price benchmarking - it shows what items actually sold for, not just what sellers are asking.

Walmart

Walmart stacks Cloudflare on top of its own anti-bot layer. Requests from datacenter ranges fail consistently; residential proxy exit is essential at any meaningful volume.

Anakin's Wire covers Walmart with 8 actions at the network layer:

  • Product search
  • Product details (with pricing, reviews, and specs)
  • Product reviews with rating breakdown
  • Category listing with pagination
  • Category taxonomy
  • Deal pages (flash deals, clearance)
  • Search autocomplete
  • Seller profile
# Walmart product search
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "walmart_search",
    "query": "air fryer"
  }'

# Walmart product details by item ID
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "walmart_product_details",
    "itemId": "WALMART_ITEM_ID"
  }'

Network-layer extraction bypasses Walmart's Cloudflare stack entirely - no residential proxy configuration required on your side.

Flipkart

Flipkart is India's largest e-commerce platform, with a registered user base of 500M+ (Flipkart / Criteo, 2025). It runs JavaScript-heavy rendering for product grids, prices, and ratings - and it's a common misconception that Flipkart requires a browser-layer approach.

Anakin's Wire covers Flipkart with 8 actions:

  • Product search by keyword
  • Product detail (title, pricing, specs, images)
  • Product ratings and reviews
  • Cart operations (for authenticated flows)
# Search Flipkart by keyword
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "fk_search_products",
    "query": "smartphone"
  }'

# Get full product detail by URL
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "flipkart_get_product",
    "url": "https://www.flipkart.com/apple-iphone-16/p/itm..."
  }'

Wire's network-layer approach means no JavaScript rendering wait, no React hydration timing issues, and no geo-detection from browser fingerprints. For India-market pricing intelligence specifically, this is a significant advantage over browser-based scrapers.

For Flipkart data not covered by catalog actions, the URL Scraper with useBrowser: true and country: "in" handles the rendering layer as a fallback.

US retail chains

Major US retail chains - Best Buy, Home Depot, and Costco - run protection stacks that block most browser-layer scrapers reliably. Best Buy uses PerimeterX; Home Depot runs Akamai Bot Manager; Costco gates product data behind session validation. Generic headless browsers fail at all three at any meaningful volume.

Anakin's Wire covers all three at the network layer.

Best Buy (8 actions): product search, product details, pricing, SKU lookup, fulfillment availability, store locator, and search autocomplete.

# Best Buy product search
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "1c188f77-5c95-4d07-bba1-68a43242427f",
    "query": "4K OLED TV"
  }'

# Best Buy product details
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "65723dae-2701-496f-81dc-aee4e530c744"
  }'

Fulfillment availability is particularly useful for retail intelligence: it shows online availability vs. in-store stock by location, not just a binary in-stock flag. Full parameter schemas for each action are in the Wire catalog.

Home Depot (4 actions): product listing, product details, product pricing, and store locator. Building materials pricing, contractor supply chain monitoring, and seasonal inventory tracking are common use cases.

# Home Depot product listing by keyword
curl -X POST https://api.openwire.sh/v1/wire/task \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action_id": "090afa32-fbd7-4555-b2ef-c7ead8df20b3",
    "query": "pressure treated lumber"
  }'

Costco (7 actions): product search, product details, category browse, category sitemap, gas prices, warehouse details, and warehouse locator. The gas prices action is a niche but high-demand data point for fuel cost tracking and market analysis.

The action IDs for these retailers use UUID format rather than the human-readable strings used by marketplace actions above - pass them directly as the action_id value.

Shopify stores

Shopify powers over 6.81 million active stores worldwide as of 2026. Unlike Amazon or Flipkart, individual Shopify stores rarely run custom anti-bot. Their protection comes from Cloudflare at the CDN layer, which Anakin's URL Scraper handles consistently.

Every Shopify store exposes a structured JSON endpoint at /products.json that returns the full product catalog without JavaScript rendering:

# Shopify products endpoint - no browser rendering needed
curl -X POST https://api.anakin.io/v1/url-scraper \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://storename.myshopify.com/products.json?limit=250",
    "useBrowser": false,
    "generateJson": true
  }'
Shopify /products.json endpoint returning 250 structured products in under 1 second versus a 4-step headless browser render path taking 3-6 seconds

The endpoint returns paginated JSON with titles, handles, variants, pricing, and inventory policy. For stores with Cloudflare protecting /products.json, add useBrowser: true. No proxy configuration required - the URL Scraper routes through residential proxies automatically. Poll results at GET https://api.anakin.io/v1/url-scraper/{jobId}.

WooCommerce stores: WordPress exposes a public REST API at /wp-json/wc/v3/products for stores with public catalog visibility enabled. Where that's accessible, call it directly - it returns clean structured JSON and costs one URL scrape. Where it's gated, the URL Scraper with useBrowser: false handles most WooCommerce product pages since they load content server-side.

BigCommerce stores have a similar pattern: check the public storefront API first, then fall back to the URL Scraper.

AliExpress

AliExpress serves a global audience with geo-sensitive pricing - the same product shows different prices depending on where the request originates. Use country targeting to capture region-specific data accurately.

Anakin's Wire covers AliExpress in its catalog (1 action). For broader AliExpress scraping beyond the catalog action, use the URL Scraper with Cloudflare-capable browser rendering:

curl -X POST https://api.anakin.io/v1/url-scraper \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.aliexpress.com/wholesale?SearchText=bluetooth+speaker",
    "useBrowser": true,
    "generateJson": true,
    "country": "us"
  }'

For cross-market price comparison - the same product from US, UK, and DE simultaneously - run three parallel URL Scraper jobs with different country values and compare the structured output.

Etsy

Etsy's marketplace uses JavaScript rendering for price and variant data. Wire's catalog covers two Etsy actions (category navigation and review photos) - useful for specific workflows but limited for general product data extraction.

For product listing searches and shop data, use the URL Scraper with browser rendering:

curl -X POST https://api.anakin.io/v1/url-scraper \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.etsy.com/search?q=handmade+wallet",
    "useBrowser": true,
    "generateJson": true
  }'

Regional platforms

The same framework applies to regional marketplaces:

  • (Japan, US): URL Scraper with country: "jp". JS-rendered, Cloudflare protected.Rakuten
  • (Southeast Asia): URL Scraper with geo-targeting (country: "sg", "my", "th").Lazada
  • (Southeast Asia, Taiwan): URL Scraper. Similar stack to Lazada.Shopee
  • (Turkey, MENA): URL Scraper with country: "tr". Turkey's largest e-commerce platform.Trendyol
  • (India, social commerce): URL Scraper with country: "in".Meesho
  • (India, fashion): URL Scraper with useBrowser: true.Myntra
  • (Middle East): URL Scraper with country: "ae" or "sa".Noon

For any of these: check Anakin's Wire catalog first. The catalog has grown to 955 sites and 5,235 actions as of 2026, and regional marketplaces are added continuously.

Login-required flows

Price monitoring, wishlist tracking, and cart-state monitoring require authenticated access. For these, use Browser API - a stealth headless browser in the cloud, controllable over a standard CDP connection.

Browser API handles session persistence across disconnects, residential proxy exit in 20+ countries, and full browser control via Playwright or Puppeteer. It's billed per 2-minute interval (1 credit) - more expensive than URL Scraper per request, but the right tool for flows that genuinely require interactive browser control.

Connect via any standard CDP client - Playwright, Puppeteer, or any framework that supports CDP over WebSockets. The WebSocket endpoint is available in the Anakin dashboard once you generate an API key. No custom SDK or client library required.

Pair Browser API with Browser Sessions to save an authenticated state once and reuse it across runs without re-logging in each time.

Which tool to use, by platform

Note: Values are editorial assessments based on available vendor documentation and live catalog data as of August 2026, not independently benchmarked figures.

Platform Layer Tool Catalog actions
AmazonNetworkWire15 actions (+ 13 for Amazon India)
eBayNetworkWire7 actions
WalmartNetworkWire8 actions
FlipkartNetworkWire8 actions
Best BuyNetworkWire8 actions
CostcoNetworkWire7 actions
Home DepotNetworkWire4 actions
Shopify storesRenderingURL Scraper/products.json endpoint
AliExpressRenderingURL Scraper1 Wire action; broader via URL Scraper
EtsyRenderingURL Scraper2 Wire actions (limited)
WooCommerceRenderingURL ScraperPublic REST API often accessible
Lazada / Shopee / TrendyolRenderingURL Scraper + geo-targetingRegional exit essential
Login-required pagesBrowserBrowser API + Browser SessionsFull interactive control

When an Anakin Wire action exists for your target, prefer it. Wire calls the site's own data feeds rather than fighting its anti-bot stack - which means higher reliability and no maintenance when the frontend updates.

Pricing at scale

Credits cost 1 per URL scrape, 3 per URL with AI JSON extraction. Wire action costs are shown per action in the catalog. Cached results from identical requests within a session window cost zero credits.

For high-volume price monitoring across thousands of SKUs, Wire's network-layer approach runs cheaper per result than full browser rendering - each action is a direct data call, not a full page render. Anakin credits are shared across URL Scraper, Wire, Browser API, and Search API. The free tier provides 300 credits (one-time, never expire).

FAQ

Can I scrape Amazon without getting blocked?

Yes, if you use the network layer. Wire's Amazon actions call Amazon's own backend data APIs directly rather than scraping the rendered HTML - there's no bot detection to bypass because the requests look identical to Amazon's own frontend making the same calls. Browser-layer scrapers have to navigate Amazon's multi-layered detection system - TLS fingerprinting, behavioral scoring, CAPTCHA, and session analysis - which blocks most generic approaches at scale.

Does Wire work for Flipkart?

Yes. Flipkart is in Wire's catalog with 8 confirmed actions including product search (fk_search_products), product detail (flipkart_get_product), and full product data. Despite Flipkart's heavy JavaScript rendering on the frontend, Wire bypasses the rendering layer entirely by calling Flipkart's internal data endpoints.

What's the difference between Wire and the Anakin URL Scraper?

Wire operates at the network layer: it identifies the background API calls a site's frontend makes and wraps them as structured endpoints. The URL Scraper operates at the rendering layer: it spins up a headless browser, renders the full page, and extracts content from the DOM. Wire is faster and cheaper for sites in its catalog; the URL Scraper works on any site, even those not in the catalog.

Can I scrape Shopify stores at scale?

Yes. Every Shopify store exposes a /products.json endpoint that returns the full product catalog as structured JSON without JavaScript rendering. This means 1 credit per request with generateJson: true, no browser needed, and high reliability even at batch scale.

How do I get access to a site that's not in the Wire catalog?

Submit a build request at anakin.io/products/wire. Wire auto-tests the requested site and publishes the action on success. The catalog has grown from 800+ to 955 sites in 2026 and adds new sites continuously.

Is web scraping e-commerce data legal?

Public product data (prices, titles, descriptions, reviews) is generally scrapeable. The Ninth Circuit ruled in hiQ v. LinkedIn (April 2022) that scraping publicly accessible data is unlikely to violate the Computer Fraud and Abuse Act. Terms-of-service violations are a separate question - breach of ToS can expose scrapers to civil claims even where no criminal liability exists under CFAA. Always review the platform's ToS and consult legal counsel for your specific use case.

Get started

Start free at anakin.io - 300 credits, no card required. Wire, URL Scraper, Browser API, and Search API are all accessible under a single API key.

Browse the full Wire catalog at anakin.io/products/wire and filter by platform name. Each action shows its parameters, sample response shape, and credit cost per call.

For URL Scraper: start with useBrowser: false and add browser rendering only when the response is incomplete. The credit cost is the same either way, but browser rendering adds latency.