Shopify & eBay Product Research
Under maintenancePricing
from $5.00 / 1,000 product scrapeds
Shopify & eBay Product Research
Under maintenanceShopify 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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
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:
- 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. - 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 staysnull. - "Never silent" soft-block detection — an
HTTP 200with zero results and a bot-wall marker is reported asBLOCKED, 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
| Field | Description |
|---|---|
platform | shopify or ebay |
storeUrls | Shopify store addresses (e.g. allbirds.com) |
searchQueries | eBay search terms |
maxItems | Total upper limit (one row per variant) |
storeCurrency | (Optional) Shopify store currency; when provided, prices are normalized more reliably |
useResidentialProxy | Use 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 adata_healthreport with English keys (total_records,field_coverage,missing_warnings).
How to use
- Choose the
platform(shopifyorebay). - For Shopify, fill
storeUrls; for eBay, fillsearchQueries. - Set
maxItemsand keepuseResidentialProxyon → Start. - 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.