Shopify & eBay Product Research avatar

Shopify & eBay Product Research

Under maintenance

Pricing

from $5.00 / 1,000 product scrapeds

Go to Apify Store
Shopify & eBay Product Research

Shopify & eBay Product Research

Under maintenance

Shopify and eBay product scraper for fast market research. Pulls Shopify (products.json) and eBay listings into one clean, unified schema: every variant, normalized prices, images and stock. Research products, pricing and competitors without manual copy-paste.

Pricing

from $5.00 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Turgay NANTA

Turgay NANTA

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Share

Shopify & eBay Product Research — Clean Schema, Never Silent

A reliable e-commerce product scraper for Shopify stores (public /products.json) and eBay searches. It returns a clean, consistent, unified schema with every variant, normalized prices, and deduplication. Most importantly: it never silently returns empty — if a target is blocked, it tells you exactly why.

What it does

Point it at one or more Shopify stores or eBay search terms, and the actor produces a structured product dataset:

  • One unified schema for both Shopify and eBay — every row has the same fields.
  • One row per variant — ideal for price comparison and catalog analysis.
  • Normalized prices"$1,299.00", "1.299,00 €", or a raw number → a clean decimal plus an ISO currency code plus a USD equivalent.
  • Deduplication — the same product/variant appears only once.
  • A data health report — field-level coverage so you can see at a glance how complete the result is.

Why it's different

This category is crowded but the quality is poor — popular Shopify scrapers silently return empty pages and break on edge-case prices. This actor is built around three guarantees:

  1. The schema never breaks — every record has the same keys; a missing field is null, never an absent key. Shopify and eBay share one schema, and each variant is its own row.
  2. Honest price parsing — US (1,299.00) and EU (1.299,00) formats, currency symbols, and bare numbers are all handled. When the value is ambiguous, nothing is invented — the amount stays null.
  3. "Never silent" soft-block detection — an HTTP 200 with zero results and a bot-wall marker is reported as BLOCKED, not a silent empty page. Statuses: OK / EMPTY_VALID / BLOCKED / ENDPOINT_DISABLED / RATE_LIMITED / STALE_SELECTOR / HTTP_ERROR.

This is a deterministic scraper — there is no AI, no LLM, and no guesswork. What you see in the dataset is exactly what was parsed from the source.

Input

FieldDescription
platformshopify or ebay
storeUrlsShopify store addresses (e.g. allbirds.com)
searchQuerieseBay search terms
maxItemsTotal upper limit (one row per variant)
storeCurrency(Optional) Shopify store currency; when provided, prices are normalized more reliably
useResidentialProxyUse a residential proxy for anti-bot (enabled by default)

Output

Delivered in two layers:

  • Dataset (table): one product/variant per row, always with the same fixed schema: source · product_id · variant_id · title · variant_title · handle · vendor · product_type · tags · sku · price · currency · price_usd · compare_at_price · available · image · images · url · condition · seller · shipping.
  • Run summary (key-value store → RUN_SUMMARY): which target returned what, plus a data_health report with English keys (total_records, field_coverage, missing_warnings).

How to use

  1. Choose the platform (shopify or ebay).
  2. For Shopify, fill storeUrls; for eBay, fill searchQueries.
  3. Set maxItems and keep useResidentialProxy on → Start.
  4. Grab your data from the Dataset tab and the run report from the key-value store.

Pricing (Pay-Per-Event)

You only pay for what you use: one charge per run, plus one charge per genuinely scraped record. Empty or blocked rows are never billed. No monthly subscription.

Honest note

eBay uses strong anti-bot protection, so a residential proxy is required, and its listing selectors change over time, so the eBay side may need occasional maintenance. When that happens, the soft-block detection returns an explicit BLOCKED / STALE_SELECTOR / EMPTY_VALID status instead of a silent empty result — so you always know what happened.