Etsy Product Scraper — Full Listing, Variations & Demand
Pricing
from $7.00 / 1,000 results
Etsy Product Scraper — Full Listing, Variations & Demand
Scrape up to 1,000 Etsy product URLs or listing IDs into complete 56-field records with descriptions, pricing, variations, images and video, personalization, demand signals, shop data, shipping, policies, and verified localization.
Pricing
from $7.00 / 1,000 results
Rating
0.0
(0)
Developer
Astrava Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Turn Etsy listing URLs or numeric IDs into clean, typed product records with 56 top-level fields. Capture the full description, every image and listing video, structured variations with per-option pricing, personalization, materials and tags, shop signals, shipping, return policies, and live demand indicators. No proxy or captcha setup.
Why use this actor?
- Deep variation data: option-level availability and price ranges, not just a base price.
- Live commercial signals: favorites, cart activity, recent-purchase demand text, shop sales, and badges when Etsy exposes them.
- Fulfillment and policy data: shipping origin, delivery estimates, processing windows, returns, exchanges, and cancellations.
- Verified localization: choose from 32 markets and compare the requested country with what Etsy actually rendered.
- Predictable records: one stable schema for active, sold-out, and recognizable unavailable listings; missing optional values use typed defaults.
- Transparent failures: invalid, blocked, and exhausted inputs stay out of the billed dataset and appear in
RUN_REPORT.
Quick start
{"listings": ["4382740432","https://www.etsy.com/listing/4471608480/sculptural-mushroom-lamp"],"country": "US"}
Pass listings as bare numeric IDs or full Etsy URLs — both work, and duplicates are fetched once.
At the current $0.007 result price, 100 successfully returned products cost at most $0.70 in product-result charges and the 1,000-input maximum costs at most $7.00. Invalid inputs and exhausted requests do not create billed product rows.
What you get
One comprehensive 56-field row per product in the default dataset, including:
- Identity & status —
listing_id, canonicalurl,title, fulldescription,status(active / sold_out / unavailable),listed_on. - Taxonomy —
category, fullcategory_pathbreadcrumb,tags,materials, andis_digital/is_handmade/is_made_to_orderflags. - Pricing —
price,price_min/price_max,original_price,discount_pct,currency,is_on_sale, plusavailabilityandquantity. - Variations — every option group with
value, availability, and per-option price / price_min / price_max. - Media — all
images(full + thumbnail + alt text) and the listingvideowith thumbnails and duration. - Personalization — enabled/required, buyer instructions, character limit.
- Demand signals —
favorites_count, the livedemand_signalbadge (e.g. "In demand. 57 people bought this in the last 24 hours."),in_cart_countwhen Etsy surfaces the cart signal, and Bestseller / Etsy's Pick / Star Sellerbadges. - Shop —
shop_name,shop_id,shop_url, logo, location, total sales, age, rating and review count. - Ratings & reviews — listing-level
listing_rating/listing_review_countand shop-level equivalents, plus areviewssample: the up to 4 most recent reviews (rating, text, date, author) Etsy embeds in the page — not the listing's full review history. - Shipping — origin country/region, processing time, and destination
estimates, with
is_free_shipping. - Policies — returns / exchanges / cancellations accepted and the return window.
The reviews field is a small on-page sample from the listing's structured data,
not the full review history. For every buyer review, use the companion
Etsy Reviews Scraper.
Recommendation cards are intentionally excluded.
Optional demand, shipping, policy, review, and shop fields reflect what Etsy
exposed for that listing and locale at scrape time. A null, false, or empty
array does not necessarily mean the underlying product lacks that attribute.
What you control
| Input | Default | What it does |
|---|---|---|
listings | — | 1–1,000 Etsy listing URLs or numeric IDs, deduped |
country | US | Localization target for language, currency, shipping, and delivery. The row also reports the locale Etsy actually rendered (rendered_country, rendered_language). |
Sample product
A real localized product row, shortened to show the most useful nested fields:
{"listing_id": "4382740432","status": "active","title": "Handmade Orange-Red Mushroom Lamp with Cute Elf","price": 59.8,"price_min": 59.8,"price_max": 128.9,"currency": "USD","favorites_count": 1793,"demand_signal": "In demand. 2 people bought this in the last 24 hours.","is_bestseller": true,"shop_name": "ForestInGlass","shop_total_sales": 2400,"listing_review_count": 59,"variations": [{"name": "Power Supply","options": [{"value": "Battery", "available": true, "price_min": 59.8, "price_max": 86.9},{"value": "USB + Battery", "available": true, "price_min": 67.8, "price_max": 128.9}]}],"shipping": {"origin_country": "US","destination_country": "US","price": 0.0,"estimated_delivery_min": "Jul 22","estimated_delivery_max": "Jul 29"},"requested_country": "US","rendered_country": "US","rendered_language": "en-US"}
Use it for
- Price & variation monitoring — track a product's price, discount, and per-option pricing over time.
- Competitor & catalog intelligence — capture rivals' full listing detail, demand signals, and shop reputation.
- Product research — mine bestsellers, materials, tags, and personalization options across a set of listings.
- Catalog enrichment — pull structured, typed product records straight into your own store or database.
Speed & scale
Measured locally on 2026-07-17 through SmartProxy. Times include browser warmup, product fetching, session rotations, and automatic retries:
| Run shape | Time | Products | Throughput |
|---|---|---|---|
| 1 product | 14.1s | 1/1 | 0.07/s |
| 10 products | 17.9s | 10/10 | 0.56/s |
| 100 products | 30.9s | 100/100 | 3.24/s |
| 500 products | 2m 16.5s | 500/500 | 3.66/s |
| 1,000 products (max scale) | 4m 21.5s | 1,000/1,000 | 3.82/s |
The 1–500 measurements use the current 6-session × 8-request layout. The 1,000-product acceptance run used the earlier 6 × 6 layout with the same retry and health-based proxy rotation behavior.
Small runs are dominated by the one-time browser trust warmup. Larger runs reuse solved sessions and fetch product pages concurrently, so throughput rises as that fixed startup cost is amortized. Runtime still varies with Etsy and residential-proxy response quality.
Output
Exports as JSON, CSV, Excel, or JSONL. A per-input run report — resolved
outcomes plus session, retry, block, bandwidth, and billing diagnostics — lands
in the key-value store under RUN_REPORT.
Start from an Etsy keyword
This actor enriches known listing URLs or IDs. To discover products first, use
the Etsy Listings Scraper, export
its listing_id values, and pass those IDs here. This keeps broad search
collection inexpensive while reserving product-page requests for listings you
actually want to enrich.
Companion actors
- Etsy Keyword Research Tool — discover the autocomplete phrases Etsy suggests to shoppers.
- Etsy Listings Scraper — collect localized search results, organic ranks, and sponsored placements in bulk.
- Etsy Shop Catalog Scraper — collect every listing from one or more Etsy shops before choosing products to enrich.
- Etsy Reviews Scraper — export complete buyer-review histories beyond the small on-page sample.
Notes
- Pay-per-result: $0.007 per returned product. Invalid inputs and requests that exhaust their retry budget are not billed. See the live pricing panel above for the complete current event pricing.
- Localized fields reflect what Etsy served for your chosen
country; the row always reports the rendered locale so you can verify it.
⚠️ Unofficial. Not affiliated with, endorsed by, or sponsored by Etsy, Inc. "Etsy" is a trademark of Etsy, Inc., used here descriptively.