Etsy Product Scraper — Full Listing, Variations & Demand avatar

Etsy Product Scraper — Full Listing, Variations & Demand

Pricing

from $7.00 / 1,000 results

Go to Apify Store
Etsy Product Scraper — Full Listing, Variations & Demand

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

Astrava Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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 & statuslisting_id, canonical url, title, full description, status (active / sold_out / unavailable), listed_on.
  • Taxonomycategory, full category_path breadcrumb, tags, materials, and is_digital / is_handmade / is_made_to_order flags.
  • Pricingprice, price_min / price_max, original_price, discount_pct, currency, is_on_sale, plus availability and quantity.
  • Variations — every option group with value, availability, and per-option price / price_min / price_max.
  • Media — all images (full + thumbnail + alt text) and the listing video with thumbnails and duration.
  • Personalization — enabled/required, buyer instructions, character limit.
  • Demand signalsfavorites_count, the live demand_signal badge (e.g. "In demand. 57 people bought this in the last 24 hours."), in_cart_count when Etsy surfaces the cart signal, and Bestseller / Etsy's Pick / Star Seller badges.
  • Shopshop_name, shop_id, shop_url, logo, location, total sales, age, rating and review count.
  • Ratings & reviews — listing-level listing_rating / listing_review_count and shop-level equivalents, plus a reviews sample: 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

InputDefaultWhat it does
listings1–1,000 Etsy listing URLs or numeric IDs, deduped
countryUSLocalization 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 shapeTimeProductsThroughput
1 product14.1s1/10.07/s
10 products17.9s10/100.56/s
100 products30.9s100/1003.24/s
500 products2m 16.5s500/5003.66/s
1,000 products (max scale)4m 21.5s1,000/1,0003.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

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.