Etsy Scraper: Search, Listings, Shops & Reviews
Pricing
from $3.00 / 1,000 results
Etsy Scraper: Search, Listings, Shops & Reviews
Scrape Etsy search results and full product details: prices, ratings, images, and every variation. Pull shop and seller profiles with sales and admirers, and every review for a listing or a whole shop, thousands, not just the first page. Export to JSON, CSV, Excel.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Sourabh Kumar
Maintained by CommunityActor stats
1
Bookmarked
230
Total users
102
Monthly active users
2 days ago
Last modified
Categories
Share
Etsy scraper: listings, shop profiles, full reviews & keyword research
One actor for the whole of Etsy: search listings by keyword, pull full product details, grab shop profiles and stats, and export every review for a listing or a whole shop. It also returns Etsy's own search suggestions for keyword research.
$3 per 1,000 results. Same flat rate for every mode.
Reviews are not capped at the first page. Point it at a shop and it pulls every review across every listing, thousands of them, not just the newest handful.
Why this scraper?
- ๐งพ Five modes in one actor, so you are not stitching together a separate scraper for search, details, shops, reviews, and keywords.
- โญ Whole-shop reviews: every review across a shop's entire catalog, with each review's rating, text, buyer, photo and the seller's reply, plus the shop's star histogram.
- ๐ก๏ธ Proxies and bot protection handled for you. No proxy setup and no browser config. Every mode runs without a browser and typically finishes in seconds. Etsy still turns a page away now and then, and the run tells you when it does rather than quietly returning less.
- ๐ต Flat $3 per 1,000 results in every mode, with no surprise tiers.
- ๐ Keyword research built in, pulling Etsy's live autosuggest for SEO and listing titles.
- ๐งฎ You are billed per result, once. Duplicate inputs and repeated cards are deduped before you pay.
- ๐ Full details straight from search. Turn on
includeDetailsand every search row also carries the whole listing page: favourites, reviews, shop sales, badges and demand signals, in one run, at the same price per row. - ๐ฆ Deep product records. A listing row carries the full variant matrix with per-option prices, favourites, recent sales, badges, delivery estimates, and the listing video.
- ๐ US pricing and currency by default, with results returned in the storefront you scrape.
What data can you extract?
| ๐ท๏ธ Title | ๐ฒ Price and sale price | โญ Rating | ๐ฃ๏ธ Review count |
| ๐ผ๏ธ Images and video | ๐ฆ Shipping and delivery | ๐งต Materials | ๐๏ธ Category path |
| ๐จ Variants and per-option prices | โค๏ธ Favourites | ๐ฅ Bought in last 24h | ๐ Etsy's Pick and bestseller |
| โ๏ธ Personalizable | ๐ชต Handmade or vintage | ๐พ Digital download | ๐ Gift wrapping |
| ๐ช Shop name | ๐ฅ Shop team | ๐ Sales count | โค๏ธ Admirers |
| โ๏ธ Review text | ๐ Buyer name | ๐ Review date | ๐ Keyword suggestions |
Scraping modes
๐ Search
Find listings by keyword, narrowed the way Etsy's own filter panel does: a price range, free shipping, Star Seller shops, on sale, digital downloads, personalizable, Etsy's Picks, vintage or craft supplies, a category, a ships-to country and a shop location, sorted by relevancy, price, recency or highest reviews. Sorting by price or recency runs at the same speed as an unsorted search. Every card returns its listing ID and shop ID, title, price and any pre-discount price, currency and symbol, shop name, listing URL, free-shipping flag, and whether the card is a paid ad. The rating and review count printed on a search card are the shop's overall numbers, not the listing's, so they are returned as shopRating and shopReviewCount. For a listing's own rating and review count, use listing mode, or turn on includeDetails to get every listing-mode field on each search row in the same run, at the same price per row. Each row also carries the card's image, its position in the results, the Star Seller marker and the ranked badge the card shows ("Bestseller", "Popular now").
{"mode": "search","searchQueries": ["leather wallet"],"minPrice": 20,"maxPrice": 200,"sortBy": "price_asc","freeShippingOnly": false,"maxItems": 100}
Full details on every search row. Set includeDetails to true and each search result also loads its listing page, so the row carries every listing-mode field as well: the listing's own rating and review count, favourites, shop sales, sale price range, variations, badges and demand signals. One run instead of a search followed by a listing run, and the same price per row. It adds about 1 to 2 seconds per listing. Fields that appear on both the search card and the listing page keep the search card's value.
{"mode": "search","searchQueries": ["leather wallet"],"includeDetails": true,"maxItems": 30}
๐ Listing
Everything on a product page, in one row. Price and sale price, the full price range across variants, rating and review count, every image and the listing video, materials, category path, shipping origin and delivery estimate, returns, and a sample of reviews. Listing rows also carry the return window in days, the review sub-ratings (item quality, shipping, customer service) and the share of buyers who recommend it, the seller's name, time on Etsy, response time and badges, when a sale ends, and relatedSearchQueries: the search queries Etsy links to the listing.
It also returns the things buyers actually judge a listing by: favourites, how many people bought it in the last 24 hours, whether Etsy counts it as recently purchased, how many are left in stock, Etsy's Pick and bestseller badges, whether it is personalizable, handmade or a digital download, gift wrapping, and the shop's lifetime sales.
Variants come back in full. Each option carries its own price range and whether it is sold out, so you can see that a wallet runs $49.77 to $65.26 across 48 combinations without opening the page.
{"mode": "listing","listingUrls": ["https://www.etsy.com/listing/993944520", "1089150061"]}
๐ช Shop
Shop profile and stats: description, logo, banner, team members, rating, review count, total active listings, lifetime sales, admirers, and a grid of listing previews, plus the seller's own About headline and story and the shop announcement, in their words. Preview prices are always in USD. Shop rows also carry the shop's ID, its sections with item counts, its on-sale count and its policies. Turn on includeShopListings to also get one row per listing in the shop, every listing rather than the first page, each with its title, price, original price, URL and image; add shopListingsQuery to keep only the shop's listings that match a search. Each listing row is charged as one result.
{"mode": "shop","shopNames": ["Walletree"]}
โญ Reviews
All reviews for a single listing, or every review across an entire shop. Each row carries the rating, date and text, the buyer's name, profile link and avatar, any photo or video the buyer attached, whether they recommend the item, Etsy's machine translation for a foreign-language review, and the seller's reply with the replying seller's name. A shop with 17,000 reviews returns all of them, eight per page: 17,802 rows in about four minutes, measured. Sort by most relevant, most recent, highest rating or lowest rating, or set reviewRating to keep only reviews with that many stars. Every review row also carries ratingCounts, the listing's or shop's full star histogram, and in listing scope topicCounts, the review topics Etsy lists (Quality, Shipping & Packaging, ...) with how many reviews mention each.
{"mode": "reviews","reviewScope": "shop","reviewSources": ["Walletree"],"reviewSort": "recency","maxItems": 1000}
๐ Keyword
Etsy's own search suggestions for any seed term, up to about 20 per term. Ideal for listing titles, tags, and SEO research. Suggestions follow Etsy's live autosuggest, so they change over time, and Etsy often includes the seed term itself.
{"mode": "keyword","keywords": ["leather wallet", "engraved ring"]}
How to scrape Etsy: step by step
- Create a free Apify account. Takes 30 seconds, no card needed.
- Open Etsy Scraper in the Apify Console.
- Pick a mode and paste your input: a search term, a listing URL, a shop name, or a seed keyword.
- Click Start. A typical search run finishes in well under a minute.
- Export as JSON, CSV, or Excel, or pull the results through the API.
How much does Etsy Scraper cost?
Etsy Scraper uses pay-per-result pricing: $3 for 1,000 results, the same in every mode. The Apify Free plan gives you $5 in monthly credits, enough for roughly 1,600 results. The $29/month Starter plan covers about 9,600 results a month. A per-run start fee covers the compute to launch each run: $0.01 per GB of run memory. In reviews mode, each review counts as one result.
Input
{"mode": "search","searchQueries": ["leather wallet"],"minPrice": 20,"maxPrice": 200,"sortBy": "relevancy","freeShippingOnly": false,"maxItems": 100}
| Field | Type | Default | Note |
|---|---|---|---|
mode | string | search | One of search, listing, shop, reviews, keyword. |
searchQueries | array | Search terms (Search mode). | |
minPrice / maxPrice | integer | Price range filter (Search mode). | |
sortBy | string | relevancy | relevancy, price_asc, price_desc, most_recent, highest_reviews (Search mode). |
freeShippingOnly | boolean | false | Only free-shipping listings (Search mode). |
includeDetails | boolean | false | Add every listing-mode field to each search row, in one run, same price per row (Search mode). |
starSellerOnly / onSaleOnly / digitalOnly / personalizableOnly / etsysPickOnly | boolean | false | Etsy's own search filters (Search mode). |
itemType | string | vintage or supplies (Search mode). When set, category is not applied. | |
category | string | An Etsy category path or /c/ link, e.g. bags-and-purses/wallets-and-money-clips (Search mode). | |
shipsTo | string | Two-letter country code, e.g. GB (Search mode). | |
shopLocation | string | Shops located in one of 17 countries, e.g. DE (Search mode). | |
listingUrls | array | Listing URLs or numeric IDs (Listing mode). | |
shopNames | array | Shop names or shop URLs (Shop mode). | |
includeShopListings | boolean | false | Also one row per listing in each shop, every listing (Shop mode). |
shopListingsQuery | string | With includeShopListings: only the shop's listings matching this search (Shop mode). | |
reviewScope | string | listing | listing or shop (Reviews mode). |
reviewSources | array | Listing URLs/IDs, or shop names/URLs (Reviews mode). | |
reviewSort | string | relevancy | relevancy, recency, highest or lowest (Reviews mode). |
reviewRating | integer | Only reviews with this many stars, 1 to 5 (Reviews mode). | |
keywords | array | Seed terms (Keyword mode). | |
maxItems | integer | Stop after this many result rows. Leave empty for no cap. | |
proxyConfiguration | object | US | Country to scrape from. Etsy prices in that country's currency, so US returns USD and DE returns EUR. Shop mode previews are always in USD. |
Output
Search
{"scrapedFrom": "search","query": "leather wallet","id": "719176142","shopId": "20986259","title": "Personalized Leather Wallet, Minimalist Wallet, Leather Bifold Wallet, Distressed Leather Slim Bifold Wallet, Fathers Day Gift","price": 16.33,"originalPrice": 49.49,"currency": "USD","currencySymbol": "$","shopName": "YoakumLeather","url": "https://www.etsy.com/listing/719176142/personalized-leather-wallet-minimalist","shopRating": 4.9,"shopReviewCount": 15400,"freeShipping": false,"isAd": true,"image": "https://i.etsystatic.com/20986259/r/il/77b57e/2040588415/il_255x319.2040588415_ihvh.jpg","starSeller": true,"position": 1,"cardBadge": "Popular now"}
Search with includeDetails
A row from a run with includeDetails on. The real row has about 100 fields, every search field plus every listing field; it is shortened here, with all values taken from that one row.
{"scrapedFrom": "search","query": "ceramic mug","id": "4433701306","shopId": "62076013","title": "Custom Name Blue Striped Ceramic Travel Mug with Lid, Handmade Ceramic Mug, Ceramic To Go Mug, Travel Mug, Ceramic Tumbler, Birthday Gift","price": 28.6,"originalPrice": 71.5,"currency": "USD","shopName": "ClayHueMugs","url": "https://www.etsy.com/listing/4433701306/custom-name-blue-striped-ceramic-travel","shopRating": 4.9,"shopReviewCount": 159,"freeShipping": false,"isAd": true,"rating": 5,"reviewCount": 37,"priceHigh": 133.6,"onSale": true,"favoritesCount": 2585,"shipsFrom": "Severna Park, MD","listedOn": "Oct 25, 2026","variationCount": 2,"shopSales": 1700,"starSeller": true,"bestseller": null,"urgencySignal": "In 20+ carts","boughtLast24h": null,"inCartCountMin": 20,"inCartIsFloor": true,"recentlyPurchased": true,"quantityLeft": null,"detailsFetched": true,"image": "https://i.etsystatic.com/62076013/r/il/f6213d/7604164005/il_255x319.7604164005_tuph.jpg","position": 1,"returnWindowDays": null,"itemQualityRating": 5,"shippingRating": 5,"customerServiceRating": 5,"buyersRecommendPercent": 100,"sellerName": "khunrawadee chingchai","sellerTenure": "1 year on Etsy","sellerResponseTime": "within a few hours","sellerBadges": ["Smooth shipping","Speedy replies"],"saleEndsText": null,"relatedSearchQueries": ["coffee mug sippie","cute striped coffee tumbler"],"cardBadge": "Bestseller"}
Listing
One real row, trimmed only where an array repeats (at most two items shown).
{"scrapedFrom": "listing","id": "993944520","title": "Personalised Men's Wallet, Genuine Soft Black Bifold Leather Wallet , Personalized Engraved Christmas Gift for Him, Boyfriend, Dad, Husband","url": "https://www.etsy.com/listing/993944520/personalised-mens-wallet-genuine-soft","shopName": "Walletree","category": "Bags & Purses < Wallets & Money Clips < Wallets","material": "Leather","rating": 4.8,"reviewCount": 2919,"currency": "USD","availability": "https://schema.org/InStock","offerCount": 47562,"price": 49.7,"priceHigh": 65.16,"originalPrice": 62.91,"originalPriceHigh": 82.48,"onSale": true,"shippingOriginCountry": "GB","images": ["https://i.etsystatic.com/29233561/r/il/119fa4/5293652641/il_fullxfull.5293652641_4x4a.jpg","https://i.etsystatic.com/29233561/r/il/b264af/4949358787/il_fullxfull.4949358787_mo11.jpg"],"imageCount": 18,"videoUrl": "https://v.etsystatic.com/c/video/upload/ac_none,du_15,q_auto:good/Video_04-11-2021_12_32_53_ebpm7h.mp4","videoDuration": "PT15S","breadcrumb": ["Bags & Purses","Wallets & Money Clips"],"sampleReviews": [{"rating": 5,"date": "2026-10-23","text": "Great item and swift delivery, thank you","author": "Georgea T. Anastassiou"},{"rating": 5,"date": "2026-10-23","text": "Lovely wallet and personalised as requested. Great customer service with updates and confirmation. Arrived early too. Would buy from this seller again, very pleased with purchase.","author": "Jan"}],"favoritesCount": 13216,"shipsFrom": "United Kingdom","listedOn": "Oct 25, 2026","variations": [{"number": 0,"name": "Engraving Side","optionCount": 3,"options": [{"id": "6499132518","label": "Front Free Engraving","rawLabel": "Front Free Engraving ($49.70 - $55.22)","price": null,"priceMin": 49.7,"priceMax": 55.22,"isPriceRange": true,"available": true},{"id": "1963781218","label": "Inside Personalized","rawLabel": "Inside Personalized ($55.22 - $60.74)","price": null,"priceMin": 55.22,"priceMax": 60.74,"isPriceRange": true,"available": true}],"soldOutOptionCount": 0,"hasPrices": true,"pricesAreRanges": true},{"number": 1,"name": "Wallet Colour","optionCount": 8,"options": [{"id": "6995962359","label": "All Black","rawLabel": "All Black","price": null,"priceMin": null,"priceMax": null,"isPriceRange": null,"available": true,"imageUrl": "https://i.etsystatic.com/29233561/r/il/e6dfdb/5293656773/il_fullxfull.5293656773_fmgz.jpg"},{"id": "2381708113","label": "Black & Brown","rawLabel": "Black & Brown","price": null,"priceMin": null,"priceMax": null,"isPriceRange": null,"available": true,"imageUrl": "https://i.etsystatic.com/29233561/r/il/119fa4/5293652641/il_fullxfull.5293652641_4x4a.jpg"}],"soldOutOptionCount": 0,"hasPrices": false,"pricesAreRanges": false}],"variationCount": 3,"hasVariations": true,"variationCombinations": 48,"isPersonalizable": true,"isHandmade": false,"isDigital": false,"whoMade": "designed_by_seller","giftWrappingAvailable": true,"freeShipping": true,"returnsAccepted": true,"estDeliveryMinDays": 4,"estDeliveryMaxDays": 10,"shopUrl": "https://www.etsy.com/shop/Walletree","shopSales": 85200,"etsysPick": true,"urgencySignal": "In 20+ carts","boughtLast24h": null,"inCartCountMin": 20,"isSoldOut": false,"shopRatingCount": 17931,"reviewFeatureTags": ["Great quality","Perfect gift"],"reviewCategoryTags": [{"tag": "Quality","count": 1396},{"tag": "Appearance","count": 788}],"recentlyPurchased": true,"quantityLeft": null,"scrapedAt": "2026-10-25T16:55:27.171Z","returnWindowDays": 30,"itemQualityRating": 4.9,"shippingRating": 4.9,"customerServiceRating": 4.9,"buyersRecommendPercent": 98,"sellerName": "Mary","sellerTenure": "5 years on Etsy","sellerResponseTime": "within a few hours","sellerBadges": null,"saleEndsText": null,"relatedSearchQueries": ["custom wallet","wallet"]}
Shop
One real row; arrays show at most two items, and the seller's long text fields are cut short with "...".
{"scrapedFrom": "shop","shopName": "Walletree","slogan": "Personalized Luxury Leather Wallets, the perfect gift!","team": [{"name": "Ash","role": "owner"},{"name": "Mary Jane","role": "assistant"}],"rating": 4.9,"reviewCount": 17931,"numberOfItems": 212,"salesCount": 85231,"admirersCount": 4505,"onEtsySince": 2021,"location": "United Kingdom","listingPreviews": [{"id": "993944520","title": "Personalised Men's Wallet, Genuine Soft Black Bifold Leather Wallet , Personalized Engraved Christmas Gift for Him, Boyfriend, Dad, Husband","price": 49.7,"url": "https://www.etsy.com/listing/993944520/personalised-mens-wallet-genuine-soft"},{"id": "1013812389","title": "Personalized Leather Wallet, Bifold Dark Brown Real Leather Wallet, Personalised Custom Engraved Christmas Gift for Boyfriend, Husband, Dad","price": 39.71,"url": "https://www.etsy.com/listing/1013812389/personalized-leather-wallet-bifold-brown"}],"aboutHeadline": "From Family Craftsmanship to Personalised Creations...","aboutStory": "Welcome to Walletree, a family-run workshop where craftsmanship and creativity come together to create...","announcement": null,"shopId": 29233561,"sections": [{"id": "33750151","name": "Wallets","itemCount": 76},{"id": "45137967","name": "Handwritten Engraving","itemCount": 17}],"onSaleCount": 212,"policiesLastUpdated": "Apr 28, 2021","policiesText": "Shipping See item details for estimated arrival times. Customs and import taxes For US deliveries, Etsy..."}
Shop with includeShopListings
After the shop row, one row per listing in the shop. One real row:
{"scrapedFrom": "shopListing","shopName": "PremiumEngrave","shopId": 35016605,"id": "1241528786","title": "Personalized Leather RFID Wallet, Engraved Genuine Leather Custom Wallet, Anniversary Gift For Him, Husband, Boyfriend, Men, Father, Dad","price": 28,"originalPrice": 70,"currency": "USD","currencySymbol": "$","url": "https://www.etsy.com/listing/1241528786/personalized-leather-rfid-wallet","image": "https://i.etsystatic.com/35016605/r/il/a5f633/4007318605/il_340x270.4007318605_mj36.jpg","position": 1}
Reviews
One real row, pasted as the actor returned it.
{"scrapedFrom": "reviews","shopName": "Walletree","listingId": "993944520","transactionId": 5260250046,"rating": 5,"reviewDate": "Oct 23, 2026","reviewText": "Great item and swift delivery, thank you","reviewTextTranslated": null,"translationAttribution": null,"isRecommended": true,"buyerName": "Georgea","buyerProfileUrl": "https://www.etsy.com/people/rtj2boeovc9kamhy?ref=l_review","buyerAvatarUrl": null,"buyerIsInactive": false,"hasPhoto": false,"photoUrl": null,"videoUrls": [],"sellerResponse": null,"sellerResponseName": null,"sellerResponseAvatarUrl": null,"listingUrl": "https://www.etsy.com/listing/993944520/personalised-mens-wallet-genuine-soft?ref=reviews","listingTitle": "Personalised Men's Wallet, Genuine Soft Black Bifold Leather Wallet , Personalized Engraved Christmas Gift for Him, Boyfriend, Dad, Husband","ratingCounts": {"1": 17,"2": 12,"3": 39,"4": 144,"5": 2707,"All": 2919},"topicCounts": [{"topic": "Quality","count": 1396,"positive": 1379,"negative": 16,"neutral": 1},{"topic": "Appearance","count": 788,"positive": 778,"negative": 9,"neutral": 1}],"ratingCountsScope": "listing"}
videoUrls is empty on that row because that buyer attached a photo rather than a video. When a buyer does attach one it carries the full video:
"videoUrls": ["https://v.etsystatic.com/c/video/upload/t_vid_review_60s/review/en-US_ec710dba0b42d74454a7f302cc67b70b.mp4"]
Keyword
{"scrapedFrom": "keyword","seed": "leather wallet","suggestion": "leather wallet men","type": "keyword","rank": 1}
Use cases
- ๐ Market research. Compare prices and shop reputation across a category at scale, then pull per-listing ratings with listing mode.
- ๐ Competitor tracking. Watch a shop's listings, sales, and admirer counts over time.
- ๐ฌ Review analysis. Pull a shop's entire review history for sentiment and product feedback.
- ๐งฒ Lead generation. Surface shops with their team, sales, and profile details.
- ๐ SEO and listing optimization. Mine Etsy's autosuggest for high-intent keywords.
- ๐ Trend spotting. Track what is selling and what shoppers are searching for.
- ๐๏ธ Catalog building. Assemble structured product feeds from search and listing data.
Limitations
- Ratings on search cards are shop-level. Etsy prints the shop's rating and review count on each search card, not the listing's own, so search rows carry
shopRatingandshopReviewCount. Run listing mode when you need a listing's ownratingandreviewCount. - Search depth. A single search query returns up to roughly 900 unique listings, however many Etsy says it has. Measured: a term Etsy reports 220,000 results for delivered 936 rows before it stopped serving new ones. To go wider, split by price range or category. When a run cannot reach your
maxItems, the status says how far it got and why. - Several search terms share one budget. With more than one entry in
searchQueries,maxItemsis split evenly between them, and whatever one term does not use is passed to the terms still to come. - Sale prices.
priceis what a buyer pays today. When a listing is discounted,originalPriceholds the pre-discount figure. Etsy's ownminPriceandmaxPricefilters apply to the price a buyer pays today, so a discounted listing'soriginalPricecan sit above yourmaxPrice. - Etsy shows one demand line per listing. A listing page shows only one of "N people bought this in the last 24 hours", "In 20+ carts" or "N views in the last 24 hours", and Etsy changes which one over time.
boughtLast24h,inCartCountMinandviews24hMinare filled only for the line Etsy shows.recentlyPurchasedistruewhenever Etsy lists the listing as recently purchased, even when it shows a different line,falsewhen Etsy's list leaves it out, and empty when the page carries no demand list at all. - Full details in search mode take longer. With
includeDetailson, each row also loads the listing page, about 1 to 2 seconds per listing, so roughly 2,000 detailed rows fit in the default one-hour timeout. A listing page that cannot be loaded still returns its search row, markeddetailsFetched: false. - Listed on.
listedOnis the "Listed on" date Etsy shows on the listing page. Etsy moves it forward every time a listing is renewed, so it is usually only a few days old, even on listings that have sold for years. It is not the date the listing was first created, and Etsy does not show that date publicly. - Yes/no flags in listing mode can be
trueor empty.freeShipping,onSale,bestseller,etsysPick,starSellerandmadeToOrderaretruewhen the listing page shows it and empty when it does not. On some listing pagesisDigital,isVintage,isCraftSupplyandgiftWrappingAvailableare also empty when the page does not say either way. Empty means unknown, not "no". Search mode'sfreeShippingistrueorfalse, read straight from the search card. - Shop description.
descriptionis Etsy's short summary of the shop. The seller's own words are inaboutHeadline,aboutStoryandannouncement, which are empty when the shop has not written them. - Shop location. Most shops publish a city and country, returned in
location(for example "Missouri City, Texas"). Some shops do not set one, and those come back null. - Review order. Reviews sort by relevance, date, highest rating or lowest rating, eight per page, and can be limited to one star rating.
- Review dates are Etsy's own strings. They are returned exactly as Etsy prints them, and Etsy's wording differs by scope: a listing-scope row reads
Sep 21, 2026and a shop-scope row reads02 Sept, 2026. Parse accordingly. - Review videos are best-effort.
videoUrlsis filled from the gallery block Etsy attaches to each page of results, so a non-empty value is always correct, while an empty one means none was seen on that page rather than none exists. Photos are more reliable: usephotoUrlandhasPhoto. - Searches with no real matches. Etsy does not return an empty page for a term nothing matches. On the default
relevancyorder it pads the results with unrelated listings, and the actor returns and charges for those rows because nothing marks them apart from genuine matches. Check your spelling before a large run, and treat an off-topic result set as a sign the term found nothing. - Sorting turns that padding off. Any
sortByother thanrelevancyasks Etsy for genuine matches only, so a term with no real matches returns zero rows underprice_ascwhile returning a full page underrelevancy. That is Etsy's behaviour, not a failure, and the run says so rather than claiming there are no results. If the padded results are useful to you, userelevancy. - Related searches are not tags.
relatedSearchQuerieslists the search queries Etsy links to a listing (its "Explore related searches" chips come from it). It is not the seller's own tags, which Etsy does not show to visitors. - Card badges come from the first cards of each page. Etsy prints a card's ranked badge ("Bestseller", "Popular now") on the first dozen or so cards of each results page. On the other cards
cardBadgeis empty, which means not read, not "no badge". - Vintage or supplies with a category. Etsy's results for an item type combined with a category don't narrow, so when both are set only the item type is applied and the run says so.
- Lowest-price sorting starts with cheap variants. Sorting by price from low to high often begins with listings whose cheapest option costs a few cents or dollars; that is the price Etsy sorts by.
- Sold-out listings are included. A sold-out listing returns its details with
isSoldOuttrue. - Reading the run status. A clean run says how many rows it returned ("48 listings from 2 search terms"). When something stopped part of it, the status starts with a short code and names each input that fell short, for example
[U_NOT_FOUND]for a shop that does not exist or[U_TIMEOUT]when the run reached its time limit. The full per-input list is in the run's key-value store underRUN_SUMMARY. - Public data only. The actor reaches what a logged-out visitor sees. Nothing behind a login.
- Occasional blocked runs. Etsy screens traffic, and now and then it turns a page away. When that happens the status message says how much was skipped, so a short row count comes with an explanation rather than looking like the whole picture. Skipped pages are never charged as results.
- Bringing your own proxy. Paste your own addresses into the Proxy section and the run uses only those, never ours. Nothing is silently switched. If an address is unreachable the run finishes and the status tells you how much was lost on it, and the country setting no longer applies because your proxy decides the country.
FAQ
How much does Etsy Scraper cost?
Etsy Scraper uses pay-per-result pricing. You pay $3 for 1,000 results. The Apify Free plan gives you $5 in usage credits a month, enough for around 1,600 results. If you run regularly, the $29/month Starter plan covers about 9,600 results.
No subscription lock-in. Pause whenever.
Is it legal to scrape Etsy?
Scraping public data is generally allowed in the US and most of the EU, as long as you do not collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible pages, but how you use the output is on you.
Apify's full breakdown: Is web scraping legal?.
Can I integrate Etsy Scraper with other tools?
Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.
Full list: Apify integrations.
Can I use Etsy Scraper with the Apify API?
Yes. Every run is available via the Apify REST API:
curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~etsy-scraper/runs?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "search", "searchQueries": ["leather wallet"]}'
Docs: Apify API reference.
Can I use Etsy Scraper through an MCP Server?
Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call Etsy Scraper. Setup: Apify MCP docs.
Your feedback
Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.