Etsy Product Listings & Shop Research Scraper avatar

Etsy Product Listings & Shop Research Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Etsy Product Listings & Shop Research Scraper

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

Nimbryxo-studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 position in the collected result set and stamps a scrapedAt timestamp
  • Card fields Etsy's page doesn't expose for a given listing (e.g. shopId on a shop page, or originalPrice on a full-price item) come back as an empty string rather than being left out of the record; detail fields from includeDetails are simply left off when missing

Output per listing

  • listingId — numeric Etsy listing ID
  • shopId — numeric Etsy shop ID; usually empty outside search-result cards
  • url — listing page URL
  • title — listing title
  • price, originalPrice, currency, discountPercent — pricing; originalPrice/discountPercent are empty strings except on sale items
  • imageUrl — primary listing image
  • shopName, shopUrl — seller shop name and URL
  • rating, reviewCount — listing rating and review count; often empty on shop/category cards
  • badges — object of true/false flags: starSeller, freeShipping, bestseller, etsyChoice (Etsy's Pick), ad
  • position — the row's position in the collected result set for that URL/query
  • scrapedAt — 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 description
  • category — Etsy category breadcrumb
  • images — array of all listing image URLs
  • variations — array of selectable options (size, color, material, etc.)
  • materials — materials text as listed by the seller
  • listedDate — date the listing was posted
  • availability — stock status
  • sellerName, sellerRating, sellerReviewCount, sellerLocation — shop-level seller details
  • tags — array of the listing's search tags

Input

FieldTypeDefaultDescription
startUrlsarray–Etsy search, listing, shop, or category URLs to scrape
searchQueriesarray–Keywords to search on Etsy; each query runs as a separate search
maxItemsinteger100Maximum items to extract per URL or query (1–1,000)
includeDetailsbooleanfalseVisit each listing page found on search, shop, or category pages for description, materials, variations, and seller detail
countrystringUSTarget 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.