Etsy Shop Scraper
Pricing
from $4.00 / 1,000 dataset items
Etsy Shop Scraper
Scrape Etsy shop profiles: Star Seller badge, total sales, ratings, location, and product listings. Search by keyword or look up a batch of shops by name in one run. No API key needed.
Pricing
from $4.00 / 1,000 dataset items
Rating
1.0
(1)
Developer
axly
Maintained by CommunityActor stats
5
Bookmarked
393
Total users
48
Monthly active users
18 hours ago
Last modified
Categories
Features
Share
Pull Etsy shop profiles — total sales, rating and review counts, Star Seller badge, country, opening date, vacation status, and the shop's current products with prices, discounts and cart counts. Scrape by shop URL, shop name, or keyword search in one run. Powered by the authenticated Etsy mobile API for reliable, structured data.
What you get per shop
| Field | Description |
|---|---|
shop_id | Unique Etsy identifier |
shop_name | URL slug (e.g., StitchStoryKids) |
shop_url | Direct link to the shop |
title | Shop headline |
is_star_seller | Etsy Star Seller badge (boolean) |
total_sales | Lifetime sales count |
review_count | Total shop reviews |
review_average | Average star rating (0.0–5.0) |
reviews_past_year | Reviews received in the last 12 months |
active_listing_count | Number of live products |
on_etsy_since | Year the shop opened |
opened_at | Date the shop opened (YYYY-MM-DD) |
seller_location | Seller location (country code when Etsy shows no city) |
country_code | Seller country |
is_vacation | Shop is in vacation mode |
shop_status | active, etc. |
icon_url | Shop icon (500×500) |
listings | Up to max_shop_listings products: price, discount, URL, images, stock, cart count, handmade/vintage/personalizable flags, created and last-sale dates (all modes) |
_meta.scraped_at | ISO 8601 timestamp |
Shop sections and social links are not exposed by the Etsy endpoint this Actor uses, so they are not in the output.
Use cases
- Supplier discovery — filter by Star Seller + total_sales to qualify wholesale / dropshipping partners
- Competitor research — benchmark rival shops: catalog size, ratings, pricing, location
- B2B lead generation — build targeted outreach lists of high-volume Etsy sellers in a niche
- Market analysis — track shop growth signals over time (listings count, reviews, sales)
Input parameters
Give a list of shops (shopUrls and/or shop_names) or a search query. When a shop list is given, query is ignored.
| Parameter | Type | Default | Description |
|---|---|---|---|
shopUrls | array[string] | [] | Etsy shop page URLs to scrape (e.g. https://www.etsy.com/shop/BayouGlassArts or bayouglassarts.etsy.com) |
shop_names | array[string] | [] | Exact shop URL slugs to look up (e.g. BayouGlassArts). Combined with shopUrls, duplicates removed. |
query | string | "" | Keyword to search for shops (e.g. handmade candles) |
limit | integer | 10 | (query only) Max shops to return |
offset | integer | 0 | (query only) Pagination offset |
max_shop_listings | integer | 25 | Product listings per shop, in every mode. Above 30 the Actor pages the shop's whole catalog (36 per request), e.g. 400 for a 398-listing shop. 0 = shop info only. |
Example — scrape by URL
{"shopUrls": ["https://www.etsy.com/shop/BayouGlassArts","https://www.etsy.com/shop/EmkaJewelry","https://www.etsy.com/shop/RoblesJoyeros"]}
Example — scrape by shop name
{"shop_names": ["ArtisanCraftsStudio","NorthernLightsDecor","BlueSkyJewelry"]}
Example — search by keyword
{"query": "handmade candle","limit": 20,"max_shop_listings": 10}
Example output
{"shop_id": 59986266,"shop_name": "StitchStoryKids","shop_url": "https://www.etsy.com/shop/StitchStoryKids","title": "Thread & Yours | Custom Hand & Machine Embroidery Gifts","is_star_seller": false,"total_sales": 1003,"review_count": 144,"review_average": 4.88,"reviews_past_year": 144,"active_listing_count": 96,"on_etsy_since": "2025","opened_at": "2025-06-02","seller_location": "MY","country_code": "MY","is_vacation": false,"shop_status": "active","icon_url": "https://i.etsystatic.com/59986266/r/isla/cf577f/78394391/isla_500x500.78394391_ic0ra5bb.jpg","listings": [{"listing_id": "4317707956","title": "Custom Embroidered Luggage Strap (180cm x 5cm): Personalize with Your Name/Text","price": 11.26,"discounted_price": 5.07,"discount": "(55% off)","currency_code": "USD","url": "https://www.etsy.com/listing/4317707956/custom-embroidered-luggage-strap-180cm-x","images": ["https://i.etsystatic.com/59986266/r/il/f9de83/7182824786/il_fullxfull.7182824786_q8iq.jpg"],"quantity": 892,"in_cart_count": 3,"is_bestseller": false,"is_handmade": true,"is_personalizable": true,"created_at": "2025-06-09","last_sale_at": "2026-09-14"}],"_meta": {"scraped_at": "2026-10-05T03:04:04Z"}}
Scheduling & Webhooks
Run on a schedule via Apify's built-in cron scheduler to track shop growth over time. Use webhooks to pipe results into Google Sheets, Airtable, Slack, or any downstream tool.
Use with AI / MCP
This actor is compatible with the Apify MCP server, letting AI assistants (Claude, GPT-4, etc.) call it directly as a tool for market research tasks.
FAQ
Does it require an Etsy API key?
No. It uses the authenticated mobile API — no credentials needed on your end.
How many shops can I scrape per run?
query mode: up to 100 results. Shop lists have no hard cap; shops are fetched one after another, so a long list with a large max_shop_listings needs a longer run timeout. If the timeout gets close, the run stops cleanly, keeps every shop scraped so far and says in its status message how many shops were left.
Can I get shop info without product listings?
Yes — set max_shop_listings: 0 in any mode.
Can I get a shop's full catalog?
Yes — set max_shop_listings to the shop's active_listing_count (or higher). Values above 30 page through the shop 36 listings at a time.
Is the data real-time?
Yes. Each run fetches live data from Etsy at the time of execution.