Etsy Scraper — Live Cart Demand, Ad Slots, Prices & Emails avatar

Etsy Scraper — Live Cart Demand, Ad Slots, Prices & Emails

Pricing

from $5.00 / 1,000 product scrapeds

Go to Apify Store
Etsy Scraper — Live Cart Demand, Ad Slots, Prices & Emails

Etsy Scraper — Live Cart Demand, Ad Slots, Prices & Emails

Live Etsy buyer demand per listing: in-cart counts, paid ad slots and organic rank, plus prices, reviews and variations. Search by keyword with Etsy's own filters (price, sort, on sale, digital, Star Seller) or paste any URL. Opt-in seller enrichment adds sales, contact email and payment stack.

Pricing

from $5.00 / 1,000 product scrapeds

Rating

5.0

(1)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

72

Total users

19

Monthly active users

34 minutes ago

Last modified

Share

Etsy Scraper — Live Cart Demand, Ad Slots, Prices, Reviews & Seller Emails

Etsy Scraper

See what Etsy buyers are putting in their carts right now, which listings are paying for placement, and who is selling them. Search by keyword with Etsy's own filters (price range, sort, on sale, free shipping, digital, Star Seller, Bestseller), or paste any product, search, category or shop URL. Every product row carries the listing's live in-cart count, its organic rank on the results page, whether it was a paid ad and in which slot, prices including ranges, ratings, reviews, variations and shipping. Turn on seller enrichment for lifetime sales, Star Seller status, listing count, contact email and payment-stack qualification. JSON, CSV or Excel out.

Why Use This Scraper?

  • Live buyer demand per listinginCartCount reads Etsy's own "In 20+ carts" signal, so you rank products by what shoppers are about to buy, not by stale review counts.
  • See who pays for placementisAd and adSlot mark promoted listings and the slot they bought; searchRank gives every organic result its position. Reverse-engineer a niche's ad strategy from one run.
  • Etsy's filters, applied on Etsy's side — sort, min/max price, on sale, free shipping, digital downloads, Star Seller, Bestseller, personalizable. Filtered runs only fetch listings that match, so you only pay for rows you wanted.
  • Full results pages — reads Etsy's embedded result list, not just the cards the page renders first, so a search page yields all ~48 listings rather than the dozen most scrapers see.
  • Turns products into seller leads — lifetime sales count, Star Seller badge, listing count, shop rating and an opt-in contact email per shop. Other Etsy scrapers stop at the product; this one keeps going to the seller.
  • Real prices, including ranges — variable-priced listings return price (from), priceMax (range top) and offerCount. No null prices on multi-variation products.
  • Payment-stack qualification — flag which shops take money online (Stripe, Shopify, PayPal, Paddle, WooCommerce, Square…) so raw contacts become monetization-qualified leads.
  • Managed unblocker, zero config — Etsy's bot wall is handled for you. No proxies, cookies or CAPTCHAs to set up.
  • ~45 fields per product, read from Etsy's own embedded structured data rather than fragile DOM scraping.

Overview

The Etsy Scraper is built for Etsy sellers researching a niche, print-on-demand and dropshipping teams picking products, and lead-gen teams who need the seller behind each listing.

The output is primarily product-shaped rows. Whether you start from a product, search, category, or shop URL, the dataset you get back is a stream of type: "product" rows — one per listing — each carrying its shop's identity. Enrichment adds seller fields onto those same product rows (one cached shop fetch is reused across all of that shop's products).

If you want a shop-first dataset instead, turn on shopDetails and every shop URL also emits one dedicated rowType: "shop" row (name, lifetime sales, rating, listings, Star-Seller, slogan, description, logo) before its products are crawled.

Supported Inputs

URL types

URL typePatternExample
Productetsy.com/listing/{id}/…https://www.etsy.com/listing/743657804/sheepskin-slippers
Searchetsy.com/search?q=…https://www.etsy.com/search?q=ceramic%20mug
Categoryetsy.com/c/…https://www.etsy.com/c/clothing-and-shoes?ref=catnav-10923
Shopetsy.com/shop/{name}https://www.etsy.com/shop/PetiteFraise

Copy-pasteable startUrls

{
"startUrls": [
"https://www.etsy.com/listing/743657804/sheepskin-slippers-wool-slippers-fur",
"https://www.etsy.com/search?q=apple%20watch",
"https://www.etsy.com/c/clothing-and-shoes?ref=catnav-10923",
"https://www.etsy.com/shop/PetiteFraise"
]
}

Keyword / search mode

Skip URLs entirely and pass a keyword — it's turned into an etsy.com/search URL and paginated:

{ "searchQuery": "ceramic mug", "maxItems": 100 }

Unsupported inputs

  • ❌ Buyer accounts, private messages, or anything behind the Etsy login wall
  • ❌ Shortened / redirect links that don't resolve to an etsy.com page
  • ❌ Hosts outside *.etsy.com

Use Cases

AudienceUse case
Etsy sellersSee which listings in your niche are in the most carts right now, who is buying ad slots and at what rank, and where your prices sit
Print-on-demand / suppliersFind active, high-volume sellers by lifetime sales count and reach them by contact email for B2B outreach
Agencies & lead-genBuild targeted lists of Etsy shops by category, qualified by sales volume + whether they take online payments
Product & pricing researchersPrice bands, variation pricing, ratings, and review volume across a niche or category
Dropshippers & resellersSource trending products by live cart demand, favorites, review counts and sales — filtered to a price band and sorted before you pay for a row
Competitor / market analystsTrack a shop's catalogue, sales trajectory, Star-Seller status, and bestsellers

How It Works

How the Etsy Scraper works

  1. Input — paste any mix of Etsy product / search / category / shop URLs, or just a searchQuery.
  2. Classify — each URL is auto-detected as a product or a results page (search / category / shop).
  3. Collect & paginate — results pages are walked (?page=N) and their /listing/{id} links gathered up to maxItems.
  4. Parse each product — price, ranges, rating, reviews, images, variations, shipping, materials, and shop, read from the listing's embedded JSON-LD.
  5. Optional enrichment — fetch each shop once for sales / Star-Seller / listings (enrichSeller), discover a contact email (enrichEmails), and flag its payment stack (qualifyByPayment).
  6. Output — clean rows to your Apify dataset, exportable as JSON, CSV, or Excel.

Input Configuration

FieldTypeDefaultNotes
startUrlsarray[]Etsy product / search / category / shop URLs. Mix freely.
searchQuerystringA keyword (e.g. ceramic mug) turned into an Etsy search and paginated. Use instead of, or with, startUrls.
searchQueriesarray[]Several keywords in one run, each its own search.
countrystringTwo-letter ship-to market (US, GB, DE). Etsy's ship_to facet.
sortselectmost_relevanthighest_reviews, date_desc, price_asc, price_desc. Applied by Etsy before we fetch.
minPrice / maxPriceintegerPrice bounds in the market's currency.
onSaleOnly / freeShippingOnly / digitalOnlybooleanfalseEtsy's discounted / free-shipping / instant-download facets.
starSellerOnly / bestsellerOnly / personalizableOnlybooleanfalseOnly Star Seller shops / Bestseller-badged / personalizable listings.
maxItemsinteger1000Hard cap on products collected across all start URLs (controls billing).
maxConcurrencyinteger5Product pages fetched in parallel through the managed unblocker (keep 3–8).
includeReviewsbooleantrueInclude the recent sample reviews carried in each listing's structured data.
enrichSellerbooleanfalseAdd shop sales count, Star-Seller, listing count, rating, slogan, description (one cached fetch per shop).
shopDetailsbooleanfalseEmit one dedicated shop row (rowType: "shop") per shop URL, before its products are crawled.
enrichEmailsbooleanfalseBest-effort contact-email discovery per shop. Billed per email found — never on a miss.
qualifyByPaymentbooleanfalseRequires enrichEmails. Flags payment processors / e-commerce stack from the same site fetch (no extra charge).
proxyobjectApify ProxyUsed only for the direct enrichment fetches; Etsy pages go through the built-in managed unblocker.

Common scenarios

1. Pure lead-gen — a category into qualified seller leads

{
"startUrls": ["https://www.etsy.com/c/clothing-and-shoes?ref=catnav-10923"],
"maxItems": 200,
"enrichSeller": true,
"enrichEmails": true,
"qualifyByPayment": true
}

2. Shop-details scraper — one row per shop

{
"startUrls": ["https://www.etsy.com/shop/PetiteFraise"],
"shopDetails": true,
"maxItems": 1
}

3. Product / pricing research from a keyword

{ "searchQuery": "ceramic mug", "maxItems": 100, "includeReviews": true }

Tip: apply your filters on etsy.com in the browser (category, price, sort…), copy the URL, and paste it into startUrls. The actor preserves the filter and paginates through the matches.

Output Overview

Each dataset item is a product row containing:

  • Coretype, productId, url, title, description, sku, scrapedAt
  • Pricingprice (from), priceMax (range top), offerCount, currency, availability, quantityAvailable
  • Mediaimages[], primaryImage
  • TaxonomycategoryPath[], category, material, gtin
  • ShopshopName, shopId, shopUrl, shopLogoUrl
  • Engagementrating, numberOfReviews, favorites, sampleReviews[], variations[]
  • Shipping & policiesshippingPrice, shippingCurrency, shippingOriginCountry, processingDaysMin, processingDaysMax, returnsAccepted, exchangesAccepted, returnDeadlineDays
  • Seller enrichment (opt-in)shopSales, shopIsStarSeller, shopNumberOfListings, shopRating, shopReviewCount, shopSlogan, shopDescription
  • Email + payment enrichment (opt-in)contactEmail, contactWebsite, emailEnrichment, takesPayments, paymentProcessors, stripeLiveKey, paymentConfidence

With shopDetails, you additionally get one rowType: "shop" row per shop URL carrying the shop profile fields on their own.

Output Samples

Product row (with enrichSeller on), trimmed

{
"type": "product",
"productId": "743657804",
"url": "https://www.etsy.com/listing/743657804/sheepskin-slippers-wool-slippers-fur",
"title": "Sheepskin slippers, wool slippers, fur slippers, warm moccasins…",
"price": 203,
"priceMax": null,
"currency": "USD",
"availability": "InStock",
"quantityAvailable": 27,
"offerCount": null,
"rating": 4.5,
"numberOfReviews": 72,
"primaryImage": "https://i.etsystatic.com/21636943/r/il/1a7c18/2103515350/il_fullxfull.jpg",
"categoryPath": ["Shoes", "Women's Shoes", "Slippers"],
"material": "Leather/Eco Leather/Wool",
"shopName": "SlippersGift",
"shopId": "21636943",
"shopUrl": "https://www.etsy.com/shop/SlippersGift",
"shippingOriginCountry": "PL",
"favorites": 74,
"variations": [{ "name": null, "options": ["6 US women's", "7 US women's", "8 US women's"] }],
"sampleReviews": [{ "author": "Sydney Bailey", "rating": 5, "body": "Exactly as described…", "date": "2023-12-25" }],
"shopSales": 400,
"shopRating": 4.5,
"shopReviewCount": 72,
"shopNumberOfListings": 122,
"shopIsStarSeller": true,
"shopSlogan": "Sheepskin, warm and high-quality slippers for your feet",
"scrapedAt": "2026-06-22T09:19:31.906Z"
}

Variable-priced product (price range)

{
"type": "product",
"productId": "4394846521",
"title": "Tomato Ceramic Mug Tumbler Handmade",
"price": 36.0,
"priceMax": 44.0,
"offerCount": 53,
"currency": "USD",
"variations": [{ "name": "Size", "options": ["10 oz", "12 oz", "14 oz", "16 oz"] }]
}

Shop row (shopDetails: true), trimmed

{
"rowType": "shop",
"shopName": "SlippersGift",
"shopUrl": "https://www.etsy.com/shop/SlippersGift",
"shopSales": 400,
"shopRating": 4.5,
"shopReviewCount": 72,
"shopNumberOfListings": 122,
"shopIsStarSeller": true,
"shopSlogan": "Sheepskin, warm and high-quality slippers for your feet",
"shopDescription": "Shop items by SlippersGift.",
"shopLogoUrl": "https://i.etsystatic.com/21636943/r/isla/e0cf73/73499491/isla_500x500.jpg"
}

Key Output Fields

Identifiers

  • type, productId, url, sku, scrapedAt

Product & taxonomy

  • title, description, category, categoryPath[], material, gtin

Pricing

  • price (from), priceMax (range top), offerCount, currency, availability, quantityAvailable

Media

  • images[], primaryImage

Shop

  • shopName, shopId, shopUrl, shopLogoUrl

Engagement

  • rating, numberOfReviews, favorites, sampleReviews[], variations[]

Live demand (from the listing page's urgency module)

  • inCartText — Etsy's phrase verbatim, e.g. "In 20+ carts"
  • inCartCount — the lower bound parsed from it (20). Etsy buckets these, so 20 means "20 or more"; null when Etsy shows no cart signal for the listing.
  • recentlyPurchasedText, recentViewsText — the "N people bought / viewed this in the past 24 hours" phrases when Etsy shows them.

Search position (rows that came from a results page)

  • searchRank — 1-based position among the page's organic results
  • isAdtrue when the listing was a promoted placement on that page
  • adSlot — the grid slot the ad occupied (0 = first). Pasted product URLs have all three as null.

Seller enrichment (opt-in — enrichSeller)

  • shopSales, shopIsStarSeller, shopNumberOfListings, shopRating, shopReviewCount, shopSlogan, shopDescription

Email + payment enrichment (opt-in — enrichEmails / qualifyByPayment)

  • contactEmail, contactWebsite, emailEnrichment, takesPayments, paymentProcessors, stripeLiveKey, paymentConfidence

What Makes This Richer Than Other Etsy Scrapers

CapabilitySearch-row scrapers (yumitori, automation-lab, crawlerbros)This actor
Search-results rows
All four URL modes (product · search · category · shop)Search only
Deep product detail (variations, shipping, materials, images)Partial✅ full JSON-LD
Price ranges on variable listingsOften nullprice + priceMax + offerCount
Shop lifetime sales + Star-Seller flag
Shop contact email (billed on success)
Payment-stack qualification of the seller
Managed unblocker (no proxy/CAPTCHA config)Varies; detail pages often blocked✅ built-in

FAQ

Which Etsy URLs are supported? Product (/listing/{id}), search (/search?q=…), category (/c/…), and shop (/shop/{name}) pages. Results pages are paginated automatically. Mix any combination in startUrls.

Do I get product rows or shop rows? Product rows by default — every start type resolves to type: "product" rows. Turn on shopDetails to additionally emit one rowType: "shop" row per shop URL.

Do I get prices for variable products? Yes. Per-variation listings return price (the "from" price), priceMax (top of the range), and offerCount. Fixed-price listings just return price.

Can I get the seller's sales and contact info? Enable enrichSeller for lifetime sales, Star-Seller status, listing count, and shop rating. Enable enrichEmails for a best-effort contact email discovered from the shop's own website — many Etsy-only sellers won't have one, and you're never charged for a miss. Add qualifyByPayment to flag which sellers actually take money online.

How complete are the reviews? sampleReviews are the recent reviews Etsy embeds in each listing's structured data — typically a small sample (~3), not the full paginated review history. It's ideal for sentiment sampling, not for exhaustive review mining.

Does it need a proxy? No. Etsy's bot protection is handled by a built-in managed unblocker, so runs work out of the box. The proxy setting only affects the direct enrichment fetches (email discovery).

Can I scrape private or logged-in data? No. The actor only accesses publicly available product and shop pages — no buyer data, private messages, or content behind a login.

How many products can I get? As many as you set with maxItems. Search and category pages paginate; a shop returns its whole catalogue.

Support

Additional Services

Explore More Scrapers

Building an e-commerce or lead-gen dataset? Same author, same export format:

  • Amazon, Walmart, eBay — product & review scrapers
  • Yelp, Trustpilot, G2, Capterra — business & review scrapers
  • RocketReach-style contact enrichment across the portfolio

Full list at apify.com/memo23.

🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/etsy-scraper).

Purpose: Scrape Etsy product data from any product / search / category / shop URL, and optionally turn each listing into a seller lead (shop sales, Star-Seller, contact email, payment stack).

Minimal input:

{ "searchQuery": "ceramic mug", "maxItems": 20 }

Output: one dataset row per product — type, productId, url, title, description, price, priceMax, offerCount, currency, availability, quantityAvailable, rating, numberOfReviews, favorites, images[], primaryImage, categoryPath[], material, shopName, shopId, shopUrl, shippingOriginCountry, variations[], sampleReviews[], scrapedAt. With enrichSeller: shopSales, shopIsStarSeller, shopNumberOfListings, shopRating, shopSlogan. With enrichEmails/qualifyByPayment: contactEmail, contactWebsite, takesPayments, paymentProcessors, stripeLiveKey, paymentConfidence.

Behaviors an agent should know:

  • Always set maxItems — search / category / shop URLs paginate and an uncapped run can be large.
  • Every start URL resolves to product rows; set shopDetails: true to also emit rowType: "shop" rows.
  • qualifyByPayment requires enrichEmails; it reuses that fetch, so it adds no cost or time.
  • Billing: $0.005 per actor start (per GB) + $0.005 per product row ($5 per 1,000 — about half what comparable Etsy actors charge) + $0.025 only when a contact email is found (never charged on a miss). enrichSeller / qualifyByPayment add no per-item charge.
  • Reviews are a small embedded sample (~3), not the full review history; no login-gated data.

More E-commerce Scrapers

Same author, same export format:

⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Etsy, Inc. or any of its subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available product and shop information on etsy.com — no buyer data, private messages, or content behind a login wall. Users are responsible for ensuring their use complies with etsy.com's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.

SEO Keywords

etsy scraper, scrape etsy, etsy api, etsy product scraper, etsy shop scraper, etsy seller scraper, etsy reviews scraper, etsy email, etsy seller leads, etsy data extraction, etsy listings scraper, etsy price monitoring, etsy product research, etsy lead generation, scrape etsy products, etsy competitor analysis, handmade marketplace scraper, etsy sales data, etsy star seller scraper, etsy shop details scraper, etsy contact email scraper, etsy product search scraper, etsy market research, apify etsy