Etsy Scraper — Products, Prices, Reviews & Shop Data
Pricing
from $3.00 / 1,000 etsy product extracteds
Etsy Scraper — Products, Prices, Reviews & Shop Data
Scrape Etsy product listings, prices, ratings, seller info, Star Seller & Bestseller badges, materials, tags, shop catalogs & customer reviews. Filter by category, price range, free shipping, or sale status. No API key or login needed.
Pricing
from $3.00 / 1,000 etsy product extracteds
Rating
0.0
(0)
Developer
Khadin Akbar
Actor stats
0
Bookmarked
7
Total users
5
Monthly active users
5 days ago
Last modified
Categories
Share
Etsy Scraper — Extract Products, Prices, Reviews & Shop Data
The most complete Etsy scraper on Apify. Search by keyword, scrape full shop catalogs, or extract individual product pages — all in one actor. No Etsy API key required. No login. Just clean, structured JSON ready for analysis, AI pipelines, or spreadsheets.
What does this Etsy scraper do?
This actor extracts structured data from Etsy's marketplace: product listings from search results, full product detail pages with descriptions and variations, complete shop catalogs, and customer reviews — all in a single run.
Unlike Etsy scrapers that only handle one input type, this actor accepts search keywords, direct product URLs, and shop URLs simultaneously, returning a clean consistent dataset with the same field structure regardless of source.
Handles all three Etsy input types:
- Etsy keyword search — type any search term, get paginated product listings just like Etsy search results
- Etsy product page scraper — paste a listing URL to get the full product data including description, tags, and all image URLs
- Etsy shop scraper — paste a shop URL to extract the entire catalog with pagination
Why choose this Etsy data extractor?
More data fields than any competitor
In full detail mode you get the complete product page: descriptions, materials list, all image URLs, size/color/style variations, processing time, shipping origin, and seller tags. Most Etsy scrapers return only listing-level data (title, price, thumbnail) — this actor goes deeper.
Badge detection
Know which listings carry Star Seller, Bestseller, and Etsy's Pick badges. These badges are key signals for competitor research, product validation, and trend spotting that most scrapers miss entirely.
Reviews included
Toggle on customer review scraping to get star ratings, review text, and reviewer names alongside product data — all in the same dataset, no second run needed.
Advanced filtering
Filter results by category, price range (min/max), free shipping status, or sale status — before data is returned, so you're only paying for records you actually want.
MCP and AI-agent ready
Full typed output schema means Claude, ChatGPT Operator, n8n, and other AI agents can consume your Etsy data immediately with zero manual wrangling. Works natively with Apify's MCP server.
What data does the Etsy scraper extract?
| Field | Description | Available In |
|---|---|---|
listing_id | Unique Etsy listing ID | All modes |
title | Full product title | All modes |
url | Product page URL | All modes |
price | Current price (number, sale price if discounted) | All modes |
original_price | Pre-discount price (null if not on sale) | All modes |
currency | Three-letter currency code | All modes |
is_on_sale | Whether the item is discounted | All modes |
rating | Average star rating out of 5 | All modes |
review_count | Total customer review count | All modes |
num_favorers | Number of favourites / hearts | All modes |
shop_name | Seller shop name | All modes |
shop_url | Link to seller's Etsy shop | All modes |
shop_location | Seller's country/region | All modes |
shop_sales_count | Total shop sales | All modes |
thumbnail_url | Main listing thumbnail image URL | All modes |
is_free_shipping | Whether free shipping is offered | All modes |
badge_star_seller | Has Etsy Star Seller badge | All modes |
badge_bestseller | Has Bestseller badge | All modes |
badge_etsy_pick | Has Etsy's Pick badge | All modes |
images | All product image URLs | Detail mode |
description | Full product description text | Detail mode |
materials | Materials list | Detail mode |
tags | Seller SEO tags | Detail mode |
variations | Size / color / style options | Detail mode |
shipping_from | Ships-from country | Detail mode |
processing_time | Estimated production & prep time | Detail mode |
review_id | Unique review ID | Review mode |
review_rating | Individual review star rating | Review mode |
review_text | Review body text | Review mode |
reviewer_name | Reviewer display name | Review mode |
review_date | Review submission date | Review mode |
scrape_mode | How this record was collected | All modes |
scraped_at | ISO 8601 extraction timestamp | All modes |
source_url | URL scraped to produce this record | All modes |
How to scrape Etsy — step-by-step
1. Keyword search (fastest, cheapest)
Enter one or more keywords in Search Keywords. The actor runs an Etsy search for each keyword and paginates through results pages until maxResults is reached.
{"searchQueries": ["handmade necklace", "vintage ceramic mug"],"maxResults": 200,"sortOrder": "most_relevant"}
2. Direct Etsy URLs (most precise)
Paste any Etsy URL into Etsy URLs. The actor auto-detects whether it's a search results page, product listing page, or shop page and handles each correctly.
{"startUrls": [{ "url": "https://www.etsy.com/shop/MoonCraftStudio" },{ "url": "https://www.etsy.com/listing/1234567890/silver-ring" }],"includeProductDetails": true}
3. Full product detail scrape (richest data)
Enable Include Full Product Details to visit each product page and collect descriptions, materials, tags, variations, and all images. This makes runs slower because each listing gets its own page visit.
{"searchQueries": ["boho jewelry"],"maxResults": 50,"includeProductDetails": true,"includeReviews": true,"maxReviewsPerProduct": 25}
4. Filter before you pay
Use price range, category, free shipping, and on-sale filters so you only extract records you actually need:
{"searchQueries": ["handmade ring"],"category": "jewelry-and-accessories","sortOrder": "lowest_price","minPrice": 10,"maxPrice": 50,"freeShippingOnly": true,"onSaleOnly": false,"maxResults": 500}
Pricing
This actor uses pay-per-event pricing at $0.003 per extracted record.
| Results | Estimated Cost |
|---|---|
| 100 results | ~$0.30 |
| 500 results | ~$1.50 |
| 1,000 results | ~$3.00 |
| 5,000 results | ~$15.00 |
A small platform fee (based on memory usage and run duration) is also charged per run. Use the maxResults cap to control spend precisely — the actor stops exactly when the limit is reached.
Cost tip: Run in listing-only mode (default) for the cheapest rate. Enable
includeProductDetailsonly when you need rich product-page data — it uses more compute per record.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | — | Keywords to search on Etsy |
startUrls | URL[] | — | Direct Etsy URLs (search, product, or shop) |
maxResults | integer | 50 | Maximum total records to extract |
category | string | all | Filter by Etsy category |
sortOrder | string | most_relevant | Sort by relevance, price, or date listed |
minPrice | number | — | Minimum price filter (USD) |
maxPrice | number | — | Maximum price filter (USD) |
freeShippingOnly | boolean | false | Only return free-shipping products |
onSaleOnly | boolean | false | Only return products currently on sale |
includeProductDetails | boolean | false | Visit each product page for full details |
includeReviews | boolean | false | Scrape customer reviews per product |
maxReviewsPerProduct | integer | 10 | Max reviews per listing (requires includeReviews) |
proxyConfiguration | object | Residential | Proxy settings (residential strongly recommended) |
Output format
Results are pushed to the default Apify dataset. Each record is a flat JSON object — all fields are always present, with null for data not available in the current scrape mode. The scrape_mode field tells you how each record was collected.
Sample listing record (default mode):
{"listing_id": "1234567890","title": "Handmade Silver Moonstone Ring — Boho Gift for Her","url": "https://www.etsy.com/listing/1234567890/handmade-silver-moonstone-ring","price": 34.99,"original_price": null,"currency": "USD","is_on_sale": false,"rating": 4.8,"review_count": 312,"num_favorers": 1847,"shop_name": "MoonCraftStudio","shop_url": "https://www.etsy.com/shop/MoonCraftStudio","shop_location": "United States","shop_sales_count": 4821,"thumbnail_url": "https://i.etsystatic.com/...","images": null,"is_free_shipping": true,"badge_star_seller": true,"badge_bestseller": false,"badge_etsy_pick": false,"description": null,"materials": null,"tags": null,"variations": null,"shipping_from": null,"processing_time": null,"scrape_mode": "listing","scraped_at": "2026-04-09T12:30:00.000Z","source_url": "https://www.etsy.com/search?q=handmade+necklace"}
Use cases
Etsy market research & trend analysis Discover trending handmade and vintage products. Track what's bestselling across a niche, which badge types dominate search results, and how pricing is distributed by category. Build datasets to identify seasonal demand patterns.
Etsy competitor analysis Scrape a competitor's entire shop catalog. Analyse their tags, materials, pricing strategy, review velocity, and Star Seller status. Find the gaps in their catalog you can capitalise on.
Etsy price monitoring Schedule recurring runs to track price changes over time. Alert when competitors run sales, restock, or add new listings. Build historical price datasets for Amazon-style tracking.
Etsy SEO keyword research Collect the titles and seller tags that top-ranking listings use in your niche. Extract and analyse the most common keywords, phrases, and material descriptors across hundreds of bestsellers to optimise your own listings.
Etsy product sourcing & supplier research Find prolific shops and wholesale suppliers in specific categories. Filter by Star Seller badge and review count as quality signals. Export shop contact data for outreach.
AI and LLM pipelines Feed structured Etsy product data directly into Claude, GPT-4o, or any AI agent via the Apify MCP server for automated competitive analysis, product description generation, or trend summarisation.
Sentiment analysis from Etsy reviews Export thousands of customer reviews across a niche to train classifiers, extract product improvement insights, or identify recurring complaints and praise patterns.
Run via API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('khadinakbar/etsy-all-in-one-scraper').call({searchQueries: ['handmade jewelry', 'vintage lamp'],maxResults: 500,includeProductDetails: true,sortOrder: 'most_relevant',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Extracted ${items.length} Etsy products`);
Schedule runs, export to Google Sheets, connect to Zapier or Make, or trigger from n8n workflows using Apify's built-in integrations.
FAQ
Does this Etsy scraper require an API key or Etsy account? No. It scrapes Etsy's public pages only. No login, no API key, no account required.
Does it work for all Etsy categories? Yes — jewelry, clothing, home & living, vintage, art, craft supplies, and all other Etsy categories are supported.
Why do I need residential proxies? Etsy uses anti-bot protection (DataDome) that blocks datacenter IP ranges. Residential proxies rotate through real ISP addresses, making requests indistinguishable from regular browser traffic. The actor defaults to Apify's residential proxy pool for maximum reliability.
What's the difference between listing mode and detail mode? Listing mode (default) extracts data directly from search result pages — fast and cheap, returns ~20 core fields. Detail mode visits each listing's individual page to add description, materials, tags, all images, and variations — slower and more expensive per record, but returns ~30+ fields.
Can I scrape an entire Etsy shop?
Yes. Paste the shop URL (e.g. https://www.etsy.com/shop/ShopName) into Etsy URLs. The actor paginates through the shop's full catalog automatically.
Can I scrape Etsy reviews?
Yes. Enable includeReviews: true (requires includeProductDetails: true). Reviews are returned as separate records in the same dataset with scrape_mode: "review".
Why do some fields return null?
Fields like description, materials, tags, and images only appear on individual product pages. In listing mode (reading from search result pages), these fields are unavailable and return null. Enable includeProductDetails to populate them.
How many results can I scrape? Up to 5,000 results per run. For larger datasets, schedule multiple runs with pagination or different keyword sets.
Works great with
- Apify Google Sheets Integration — export results directly to a Google Sheet for filtering and sharing
- Apify Scheduler — run on a recurring schedule to build historical pricing and trend datasets
- Apify MCP Server — query your Etsy data from Claude, ChatGPT Operator, or any MCP-compatible AI agent
- Make / Zapier — trigger Etsy scrapes and route output to any tool in your stack
Legal disclaimer
This actor is intended for lawful extraction of publicly available data from Etsy's marketplace. Users are responsible for ensuring their use complies with Etsy's Terms of Service, applicable data protection regulations (GDPR, CCPA, etc.), and all relevant laws in their jurisdiction. The actor does not bypass authentication, access private data, or perform actions on behalf of any user account.