Etsy Product Listings & Shop Research Scraper
Pricing
from $0.49 / 1,000 results
Etsy Product Listings & Shop Research Scraper
Collect Etsy product listings from keyword searches, category pages, and individual shops, with prices, ratings, seller badges, and optional full product detail across ten regional markets.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Nimbryxo-studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pull product listings straight off Etsy — search results for any keyword, a category page, or a single seller's shop — without logging in. Point the actor at URLs or just type search terms, pick a regional market, and get structured rows with prices, ratings, seller badges, and (optionally) full listing detail pages.
What this actor does
- Accepts Etsy search URLs, listing URLs, shop URLs, and category or market URLs, or plain keyword queries
- Returns price, original price, discount, rating, review count, and shop info for each listing card
- Detects Star Seller, Free Shipping, Bestseller, Etsy's Pick, and sponsored-ad badges on each card
- Optionally opens each listing page to add description, materials, tags, variations, and seller location/rating
- Runs keyword searches in one of ten Etsy regional markets so currency, language, and ranking match the selected country
- Numbers each row with its
positionin the collected result set and stamps ascrapedAttimestamp - Card fields Etsy's page doesn't expose for a given listing (e.g.
shopIdon a shop page, ororiginalPriceon a full-price item) come back as an empty string rather than being left out of the record; detail fields fromincludeDetailsare simply left off when missing
Output per listing
listingId— numeric Etsy listing IDshopId— numeric Etsy shop ID; usually empty outside search-result cardsurl— listing page URLtitle— listing titleprice,originalPrice,currency,discountPercent— pricing;originalPrice/discountPercentare empty strings except on sale itemsimageUrl— primary listing imageshopName,shopUrl— seller shop name and URLrating,reviewCount— listing rating and review count; often empty on shop/category cardsbadges— object of true/false flags:starSeller,freeShipping,bestseller,etsyChoice(Etsy's Pick),adposition— the row's position in the collected result set for that URL/queryscrapedAt— ISO 8601 timestamp of collection
Additional fields when includeDetails is enabled (and for listing URLs)
These are added only for listings whose page could be opened; if Etsy starts blocking listing pages, enrichment stops and the remaining rows keep just the card fields. A listing URL in startUrls always returns one row with these fields (badges are all false there, since they come from search cards).
description— full listing descriptioncategory— Etsy category breadcrumbimages— array of all listing image URLsvariations— array of selectable options (size, color, material, etc.)materials— materials text as listed by the sellerlistedDate— date the listing was postedavailability— stock statussellerName,sellerRating,sellerReviewCount,sellerLocation— shop-level seller detailstags— array of the listing's search tags
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | – | Etsy search, listing, shop, or category URLs to scrape |
searchQueries | array | – | Keywords to search on Etsy; each query runs as a separate search |
maxItems | integer | 100 | Maximum items to extract per URL or query (1–1,000) |
includeDetails | boolean | false | Visit each listing page found on search, shop, or category pages for description, materials, variations, and seller detail |
country | string | US | Target Etsy market (US, DE, GB, FR, AU, CA, IT, ES, NL, JP). Keyword searches run on that market's site; URLs in startUrls keep the market they point to |
At least one of startUrls or searchQueries must be provided.
Example: keyword search in the default US market
{"searchQueries": ["handmade jewelry"],"maxItems": 50}
Example: a shop's catalog with details
{"startUrls": [{ "url": "https://www.etsy.com/shop/GlassHouseDesignsUS" }],"maxItems": 200,"includeDetails": true}
Example: category search targeting the UK market
{"startUrls": [{ "url": "https://www.etsy.com/c/jewelry-and-accessories" }],"country": "GB","maxItems": 100}
Example: multiple keyword queries across stores
{"searchQueries": ["personalized gifts", "wedding favors", "vintage rings"],"maxItems": 30}
Use cases
- Product research — survey pricing, discounts, and bestseller badges for a niche before listing a competing product
- Market monitoring — track a shop's catalog and prices over time across multiple regional markets
- Trend discovery — run broad keyword searches to see which styles and materials are trending
- Competitor analysis — pull a competitor shop's listings with descriptions, materials, and tags
- Price comparison tools — feed listing prices and currencies into a comparison or alert service
FAQ
Does this need an Etsy account or API key? No. It scrapes publicly visible listing pages and requires no login or API credentials.
What's the difference between search results and shop/category pages?
All three return the same listing fields. Search results additionally expose rating, reviewCount, and sponsored-ad badges that aren't always present on shop or category cards.
How do I get more than one page of results?
Raise maxItems beyond a single search page. The actor follows further result pages, and for keyword searches it can also add listings from other sort orders (newest, price, top-reviewed) and price bands to reach your target, so later rows aren't strictly in relevance order. Duplicates are removed by listing ID.
Why are originalPrice and discountPercent missing on most listings?
Those fields are only populated for listings currently on sale. Full-price items omit them.
What does includeDetails add?
It visits each listing's own page to add description, category, images, materials, tags, variations, listing date, availability, and seller-level name/rating/location — fields that search, shop, and category cards don't expose. It makes runs slower, and if Etsy blocks listing pages partway through, later rows come back without these fields.
Can I target a market other than the US?
Yes, set country to any of the ten supported markets for keyword searches; it changes the currency, site language, and which listings rank first. For pasted URLs, use the market-specific URL itself (for example https://www.etsy.com/de/search?q=...).
Can I scrape a single product page directly?
Yes — put the listing URL in startUrls. You get one row with the detail fields for that listing whether or not includeDetails is on.
Is this affiliated with Etsy? No. This is an independent, third-party actor that reads Etsy's public pages; it isn't affiliated with or endorsed by Etsy, Inc.