Etsy Scraper — Live Cart Demand, Ad Slots, Prices & Emails
Pricing
from $5.00 / 1,000 product scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
72
Total users
19
Monthly active users
34 minutes ago
Last modified
Categories
Share
Etsy Scraper — Live Cart Demand, Ad Slots, Prices, Reviews & Seller Emails
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 listing —
inCartCountreads 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 placement —
isAdandadSlotmark promoted listings and the slot they bought;searchRankgives 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) andofferCount. Nonullprices 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 type | Pattern | Example |
|---|---|---|
| Product | etsy.com/listing/{id}/… | https://www.etsy.com/listing/743657804/sheepskin-slippers |
| Search | etsy.com/search?q=… | https://www.etsy.com/search?q=ceramic%20mug |
| Category | etsy.com/c/… | https://www.etsy.com/c/clothing-and-shoes?ref=catnav-10923 |
| Shop | etsy.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.compage - ❌ Hosts outside
*.etsy.com
Use Cases
| Audience | Use case |
|---|---|
| Etsy sellers | See 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 / suppliers | Find active, high-volume sellers by lifetime sales count and reach them by contact email for B2B outreach |
| Agencies & lead-gen | Build targeted lists of Etsy shops by category, qualified by sales volume + whether they take online payments |
| Product & pricing researchers | Price bands, variation pricing, ratings, and review volume across a niche or category |
| Dropshippers & resellers | Source 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 analysts | Track a shop's catalogue, sales trajectory, Star-Seller status, and bestsellers |
How It Works
- Input — paste any mix of Etsy product / search / category / shop URLs, or just a
searchQuery. - Classify — each URL is auto-detected as a product or a results page (search / category / shop).
- Collect & paginate — results pages are walked (
?page=N) and their/listing/{id}links gathered up tomaxItems. - Parse each product — price, ranges, rating, reviews, images, variations, shipping, materials, and shop, read from the listing's embedded JSON-LD.
- Optional enrichment — fetch each shop once for sales / Star-Seller / listings (
enrichSeller), discover a contact email (enrichEmails), and flag its payment stack (qualifyByPayment). - Output — clean rows to your Apify dataset, exportable as JSON, CSV, or Excel.
Input Configuration
| Field | Type | Default | Notes |
|---|---|---|---|
startUrls | array | [] | Etsy product / search / category / shop URLs. Mix freely. |
searchQuery | string | – | A keyword (e.g. ceramic mug) turned into an Etsy search and paginated. Use instead of, or with, startUrls. |
searchQueries | array | [] | Several keywords in one run, each its own search. |
country | string | – | Two-letter ship-to market (US, GB, DE). Etsy's ship_to facet. |
sort | select | most_relevant | highest_reviews, date_desc, price_asc, price_desc. Applied by Etsy before we fetch. |
minPrice / maxPrice | integer | – | Price bounds in the market's currency. |
onSaleOnly / freeShippingOnly / digitalOnly | boolean | false | Etsy's discounted / free-shipping / instant-download facets. |
starSellerOnly / bestsellerOnly / personalizableOnly | boolean | false | Only Star Seller shops / Bestseller-badged / personalizable listings. |
maxItems | integer | 1000 | Hard cap on products collected across all start URLs (controls billing). |
maxConcurrency | integer | 5 | Product pages fetched in parallel through the managed unblocker (keep 3–8). |
includeReviews | boolean | true | Include the recent sample reviews carried in each listing's structured data. |
enrichSeller | boolean | false | Add shop sales count, Star-Seller, listing count, rating, slogan, description (one cached fetch per shop). |
shopDetails | boolean | false | Emit one dedicated shop row (rowType: "shop") per shop URL, before its products are crawled. |
enrichEmails | boolean | false | Best-effort contact-email discovery per shop. Billed per email found — never on a miss. |
qualifyByPayment | boolean | false | Requires enrichEmails. Flags payment processors / e-commerce stack from the same site fetch (no extra charge). |
proxy | object | Apify Proxy | Used 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:
- Core —
type,productId,url,title,description,sku,scrapedAt - Pricing —
price(from),priceMax(range top),offerCount,currency,availability,quantityAvailable - Media —
images[],primaryImage - Taxonomy —
categoryPath[],category,material,gtin - Shop —
shopName,shopId,shopUrl,shopLogoUrl - Engagement —
rating,numberOfReviews,favorites,sampleReviews[],variations[] - Shipping & policies —
shippingPrice,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, so20means "20 or more";nullwhen 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 resultsisAd—truewhen the listing was a promoted placement on that pageadSlot— the grid slot the ad occupied (0= first). Pasted product URLs have all three asnull.
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
| Capability | Search-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 listings | Often null | ✅ price + 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
- Found a bug or want a feature? Use the Issues tab of this actor on the Apify Console.
- Customization or questions:
- Website: https://muhamed-didovic.github.io/
- Email: muhamed.didovic@gmail.com
Additional Services
- Need a custom export shape, a new entry-point type, or scheduled monitoring? I do tailored work — muhamed.didovic@gmail.com.
- API access (no Apify fee, usage fee only): muhamed.didovic@gmail.com.
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: trueto also emitrowType: "shop"rows. qualifyByPaymentrequiresenrichEmails; 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/qualifyByPaymentadd 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:
- Etsy Shop Details — one clean row per shop: lifetime sales, rating, Star-Seller flag and contact emails: apify.com/memo23/etsy-shop-scraper
- eBay — active & sold listings, prices & analytics across 17 markets: apify.com/memo23/ebay-search-scraper-ppe
- Vinted — second-hand fashion listings, prices & sellers: apify.com/memo23/apify-vinted-scraper
⚠️ 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