Etsy Listings Scraper - Prices, Shops, Ads, Ranks & Details
Pricing
from $0.44 / 1,000 listings
Etsy Listings Scraper - Prices, Shops, Ads, Ranks & Details
Scrape Etsy listings by keyword, category or listing URL: price, sale, shop, rating, Star Seller and Etsy's Pick badges, ads and organic rank, in 26 Etsy marketplaces. Optional listing-page details: description, photos, favorites, stock, variations, shop sales, buyer search terms. No login.
Pricing
from $0.44 / 1,000 listings
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
What does Etsy Listings Scraper do?
Etsy Listings Scraper exports Etsy listings from a keyword, a category or a listing URL: price and sale price, shop, shop rating, the badges Etsy shows (Star Seller, Etsy's Pick, free shipping), whether the slot is a paid ad, and the listing's organic rank or ad slot. Turn on listing-page details to add the description, every photo, favorites, quantity, variations, item reviews, shipping and returns, shop sales and the buyer search terms Etsy attaches to each listing. Product researchers, Etsy sellers, print-on-demand teams and price monitors use it to watch a niche without copying pages by hand.
Also searched as: Etsy scraper, Etsy search scraper, Etsy product scraper, Etsy API alternative.
- ๐ Keywords, categories or URLs - type "ceramic mug", paste a /c/ category path, an Etsy search URL or a listing URL.
- ๐ท๏ธ Rank and ads - every row says whether it is an ad, its ad slot or its organic rank, and the page it was on.
- โญ Badges and shop quality - Star Seller, Etsy's Pick, local seller, free shipping, shop rating and review count.
- ๐ Listing-page details on demand - description, photos, video, favorites, stock, variations, materials, reviews, returns, shop sales.
- ๐ Buyer search terms - about 200 searches per listing that Etsy itself ties to the listing page.
- ๐ 26 Etsy marketplaces - US, UK, Canada, Australia, Germany, France, Japan and more, in each one's currency.
- ๐ Monitor mode - only new or re-priced listings since the last run.
- ๐ซ No login, no API key, no browser.
What data can you get from Etsy?
| ๐ Listing id and URL | ๐ท๏ธ Title | ๐ฒ Price, sale price, % off |
| ๐ฑ Currency | ๐ผ๏ธ Main photo | ๐ช Shop id, name and URL |
| โญ Shop rating and reviews | ๐ข Ad flag and ad slot | ๐ Organic rank and page |
| ๐ Star Seller | ๐ Etsy's Pick, Bestseller | ๐ Free shipping |
| ๐ฆ Only N left | ๐พ Digital download | ๐ข Etsy's result total |
๐ Description details | ๐ผ๏ธ All photos, video details | โค๏ธ Favorites details |
๐ฆ Quantity, variations details | ๐งต Materials, highlights details | โญ Item rating, latest reviews details |
๐ Ships from, delivery estimate details | โฉ๏ธ Returns policy details | ๐ช Shop sales, years on Etsy details |
๐ Views / bought in 24 h details | ๐๏ธ Category path details | ๐ Buyer search terms details |
How to scrape Etsy listings with Etsy Listings Scraper
- Create a free Apify account - the free plan includes monthly credit.
- Open Etsy Listings Scraper and type one or more keywords (or paste categories / Etsy URLs).
- Pick the marketplace, a sort order and any filters.
- Switch on Add listing-page details if you need the full record.
- Click Start and wait for the run to finish.
- Download the listings as JSON, CSV, Excel or HTML, or read them through the API.
โฌ๏ธ Input
| Parameter | Type | Description |
|---|---|---|
| ๐ What to scrape | ||
queries | array | Keywords, one search each, e.g. "ceramic mug". Prefilled. |
categories | array | Category paths or /c/ URLs, e.g. "home-and-living/kitchen-and-dining". |
startUrls | array | Etsy search, market, category or listing URLs; filters in the URL are kept. |
listingUrls | array | Listing URLs or ids to look up one by one (billed with the details add-on). |
marketplace | select | Etsy country site; prices and currency follow it. Default US. |
| ๐ฏ Filters (applied by Etsy) | ||
sortBy | select | Relevancy, lowest price, highest price, top customer reviews, most recent. |
minPrice, maxPrice | number | Price range in the marketplace currency. |
shipTo | string | Two-letter country the item must ship to (keywords only). |
readyToShipWithin | select | 1 or 3 business days. |
freeShippingOnly, onSaleOnly, starSellerOnly, bestsellerOnly, etsysPickOnly, handmadeOnly, digitalOnly, personalizableOnly | boolean | Etsy's own filter switches. Default off. |
includeAds | boolean | Keep paid ad slots (flagged on each row). Default on. |
| โ๏ธ Refine results | ||
includeKeywords, excludeKeywords | array | Title must / must not contain these words. |
minShopRating, minShopReviews | number | Shop quality floor. |
minFavorites | integer | Favorites floor; reads each listing page, so kept rows carry the details add-on. |
| โ Extra data | ||
includeDetails | boolean | Read each listing page (paid add-on). Default off. |
| ๐ Monitoring | ||
monitorMode, monitorKey | boolean, string | Only listings that are new or changed price since the last run. |
| ๐ฆ Output | ||
maxItems | integer | Total listings. Default 100, prefill 20. |
maxItemsPerQuery, maxPagesPerQuery | integer | Per-search caps; 0 = none. |
compact, descriptionMaxLength | boolean, integer | Core fields only; trim descriptions. |
| โ๏ธ Advanced | ||
maxConcurrency | integer | Pages in flight. Default 4. |
useUnblockerFallback | boolean | Try a refused page once through Apify's Unblocker. Default on. |
proxyConfiguration | object | Residential by default; your own proxy URLs also work. |
Input JSON
{"queries": ["ceramic mug", "linen apron"],"marketplace": "US","sortBy": "top_reviews","minPrice": 20,"starSellerOnly": true,"maxItems": 200,"includeDetails": false}
Type keywords the way a shopper would
Each keyword is read from Etsy's own keyword page for that phrase, with the same filters as the search page. Use plain phrases ("leather journal", "personalized dog collar"). If Etsy has no listings for a phrase it still shows a grid of unrelated items; the run notices that none of them names your keyword and returns nothing for it instead of billing you for noise.
Paste a URL when you already filtered on Etsy
An Etsy search URL such as https://www.etsy.com/search?q=linen+apron&min=10&order=price_asc is read with its keyword and its filters. A category URL keeps its path. A listing URL is looked up on its own page.
Use a category for shop names on every row
Category pages print the shop name on every card (95% of rows in our test). Keyword pages print it on their first few cards only (21% of rows); every row still has the shop id, and the details add-on fills the shop name on every row.
โฌ๏ธ Output
One row per listing. A keyword row from a real run:
{"listingId": "650260324","url": "https://www.etsy.com/listing/650260324/washed-linen-pinafore-apron-japanese","title": "Washed Linen Pinafore Apron: Japanese Style Cross Back Apron","price": 46,"originalPrice": 92,"discountPercent": 50,"currency": "USD","shopId": "7803582","shopRating": 4.79,"shopReviewCount": 37700,"isAd": false,"organicRank": 6,"page": 1,"freeShipping": true,"isStarSeller": true,"badges": ["freeShipping", "starSeller"],"searchQuery": "linen apron","searchTotalResultsText": "5,000+"}
The same run with details adds fields like these (another real row):
{"listingId": "771470421","favorites": 7177,"quantity": 15967,"listingRating": 5,"listingReviewCount": 1079,"boughtLast24h": 4,"categoryPath": ["Home & Living", "Home Decor", "Candles & Home Fragrances", "Candles", "Pillar Candles"],"shipsFrom": "Belleville, PA","deliveryEstimate": "Oct 20-26","shopName": "BeesLightCandles","shopSales": 48800,"shopTenure": "7 years","imageCount": 15,"buyerSearchTerms": ["beeswax pillar candle", "beeswax candle", "beeswax pillar", "100 beeswax pillar candle", "pillar candle"]}
Fields and measured fill
Measured on 2026-10-16 runs: a 100-listing keyword run (linen apron), a 70-listing category run (kitchen and dining) and 12 listing pages read for details.
| Field | Keyword rows | Category rows | Notes |
|---|---|---|---|
listingId, url, title, price, currency, imageUrl, shopId | 100% | 100% | |
shopRating, shopReviewCount | 99% | 100% | Etsy rounds big counts (37.7k) |
shopName, shopUrl | 21% | 95% | 100% with details |
originalPrice, discountPercent | 70% | 77% | only listings on sale |
organicRank / adSlot | 64% / 36% | 72% / 27% | one or the other on every row |
freeShipping | known on 100% | known on 100% | |
isStarSeller, isEtsysPick, isLocalSeller | known on 78% | Star Seller known on 100% | null = the card did not say |
isBestseller | from the listing page | from the listing page | null on search rows unless printed |
Detail fields: description, images, quantity, favorites, listedOn, categoryPath, variations, shipsFrom, deliveryEstimate, returnsPolicy, shopSales, shopTenure, buyerSearchTerms | 100% of 12 listing pages | ||
listingRating, latestReviews | 83% (listings with their own reviews) | ||
videoUrl, views24h, boughtLast24h, shopOwnerName | 50%, 33%, 42%, 67% - only when Etsy prints them |
Use cases
- ๐๏ธ Etsy sellers - see who ranks for your keywords, their prices, sales and badges.
- ๐ Product research - size a niche with Etsy's result totals, price ranges and favorites.
- ๐ SEO for listings - mine the buyer search terms attached to top listings.
- ๐ธ Price monitoring - schedule monitor mode and get only new listings and price changes.
- ๐ข Ad intelligence - see which shops buy ad slots on your keywords and where.
- ๐งต Print-on-demand and wholesale - find best-selling designs, materials and production partners.
How much does it cost to scrape Etsy?
Pay per result, no start fee: $0.00044 per listing ($0.44 per 1,000). Listing-page details are an add-on at $0.0015 per listing that has them. You pay only for listings saved to your dataset.
| Run | Listings | Cost |
|---|---|---|
| Demo (prefill) | 20 | $0.0088 |
| Typical keyword | 100 | $0.044 |
| Deep keyword | 1,000 | $0.44 |
| 100 listings with listing-page details | 100 | $0.044 + $0.15 |
Apify's free plan credit covers thousands of listings a month.
Integrations, API, scheduling & MCP
- Schedules - run Etsy Listings Scraper hourly or daily from the Schedules tab; pair it with monitor mode.
- Webhooks - get a call when a run finishes.
- Make, Zapier, n8n, Google Sheets, Slack - send rows anywhere through Apify's integrations.
- API - start runs and read results with the Python or JavaScript client.
- MCP - use it from an AI agent through the MCP tab.
More e-commerce scrapers
- ๐ AliExpress Products Scraper - use it when your products are sourced on AliExpress.
- ๐ฆ Amazon Product Scraper - Amazon search, prices and ratings.
- โญ Amazon Reviews Scraper - review text and rating histograms.
- ๐ฌ Shopify Products Scraper - products, variants and barcodes from any Shopify store.
See all our scrapers.
Limits & empty runs
- A results page holds about 60 listings: 8 in the page and the rest from the page's own loader. A 1,000-listing run read 23 pages in our test (1,000 unique listings).
- Etsy caps its displayed result total at "5,000+".
- Shop pages (/shop/...) are not supported.
- Etsy refuses some page loads; the run retries on a new connection, then once through Apify's Unblocker. Pages that still fail are listed in the RUN_SUMMARY record and nothing is charged for them.
- Listing pages are the hardest pages to load, so with details on, some rows can come back without details; those rows are charged as plain listings.
- A keyword Etsy has no listings for returns 0 rows and is not charged.
- Every run writes a RUN_SUMMARY record: Etsy's total per search, pages read, listings delivered, filtered, duplicate and unchanged.
โ FAQ
How much does Etsy Listings Scraper cost?
$0.00044 per listing, plus $0.0015 per listing that has listing-page details. There is no start fee; 1,000 listings cost $0.44.
How many listings can Etsy Listings Scraper return?
As many as Etsy pages through for the keyword or category, about 60 per page. Set maxItems for the total and maxItemsPerQuery per search.
Does Etsy Listings Scraper show ads and organic rank?
Yes. Every row has isAd; ads carry adSlot and organic results carry organicRank, both counted the way Etsy numbers them, with the page number.
Can Etsy Listings Scraper get the full listing description and photos?
Yes, with Add listing-page details on: description, all photos, video, favorites, quantity, variations, materials, item rating and latest reviews, shipping, returns and shop sales.
What are buyer search terms in Etsy Listings Scraper?
The list of searches Etsy attaches to each listing page - the phrases that lead buyers to it. We saw 180-218 per listing.
Can I schedule Etsy Listings Scraper to watch a niche?
Yes. Turn on monitor mode and schedule the run; each run delivers only listings that are new or changed price, with changeType and previousPrice.
Can I scrape other Etsy countries with Etsy Listings Scraper?
Yes. Pick one of 26 marketplaces; prices come in that marketplace's currency (USD, GBP, EUR, JPY ...).
Can I use Etsy Listings Scraper with the Apify API or an MCP server?
Yes - through the API clients, webhooks, integrations or the MCP tab on this page.
Do I need an Etsy account or API key for Etsy Listings Scraper?
No. It reads Etsy's public pages; no login, cookies or Etsy API key.
Why did my Etsy Listings Scraper run return no results?
Etsy has no listings for that keyword (the run says so), your filters are too narrow, or Etsy refused every page load - the RUN_SUMMARY record shows which.
Your feedback
Found a bug or need a field? Open an issue on the Issues tab and we will look at it.