Etsy Store Scraper
Pricing
from $0.00005 / actor start
Etsy Store Scraper
Scrapes product data from Etsy stores including titles, prices, images, ratings, and reviews.
Pricing
from $0.00005 / actor start
Rating
1.0
(1)
Developer
Akash Kumar Naik
Maintained by CommunityActor stats
2
Bookmarked
37
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Etsy Store Scraper is an Apify Actor that scrapes every product listing from any Etsy store — titles, prices, images, and seller details — using a Camoufox stealth browser with residential proxies to bypass anti-bot protection. Enter a shop name and get structured JSON with automatic pagination across the whole store, including ratings and review data where available.
What Is Etsy Store Scraper?
Etsy Store Scraper is a cloud-based Etsy scraping API that crawls an entire shop by name. It simulates human behavior with random delays, masks its browser fingerprint, and handles dynamic content loading and multi-page shops automatically. Results land in a structured dataset, and a run summary is stored in the key-value store, so you can monitor exactly what was scraped.
Key Features
- Comprehensive Data Extraction — product titles, descriptions, prices, images, and seller info
- Anti-Detection Technology — overcomes Etsy's bot protection using the Camoufox browser
- Rich Media Collection — extract all product images in high quality
- Automatic Pagination — handles multi-page shops; supports unlimited scraping with
maxItems: 0 - Residential Proxy Support — built-in residential proxy for reliable scraping
- Flexible Configuration — adjustable item limits and proxy settings
- Structured Output — clean JSON data ready for analysis or integration
- Pay-Per-Event Pricing — transparent, usage-based pricing model
Supported Product Data
| Field | Description |
|---|---|
title | Product title |
sellerName | Shop/seller name |
shopUrl | Etsy shop URL |
price, currency | Product price and currency |
images | Product image URLs |
scrapedUrl | Source listing URL |
scrapedAt | Scrape timestamp |
status, error | Per-item success/error status |
A run summary is also stored in the key-value store as the OUTPUT record.
Use Cases
- Market Research — analyze product trends, pricing strategies, and seller performance
- Price Monitoring — track competitor pricing and automate repricing strategies
- Catalog Building — create comprehensive product databases for affiliate marketing
- Inventory Tracking — monitor product availability and seller inventory changes
- Competitor Analysis — compare product offerings and features
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
shopName | string | Yes | — | Etsy shop name to scrape (e.g. yesintelligent) |
maxItems | integer | No | 5 | Maximum number of items to scrape (0 = no limit) |
proxyConfig | object | No | Residential, GB | Proxy configuration: useApifyProxy, apifyProxyGroups, apifyProxyCountry |
Example input:
{"shopName": "yesintelligent","maxItems": 50,"proxyConfig": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "GB"}}
Sample Output
{"title": "Handmade Ceramic Mug","sellerName": "Artisan Pottery Shop","shopUrl": "https://www.etsy.com/uk/shop/ArtisanPotteryShop","price": "24.99","currency": "USD","images": ["https://image1.jpg", "https://image2.jpg"],"scrapedUrl": "https://www.etsy.com/uk/listing/12345/handmade-ceramic-mug","scrapedAt": "2025-01-15T10:30:00.000Z","status": "success"}
How to Use the Etsy Store Scraper
- Open the Actor page on Apify Store and click Start Actor.
- Enter the Etsy
shopNameyou want to scrape. - Optionally set
maxItems(0 for unlimited) andproxyConfig. - Run the Actor and download results as JSON, CSV, or Excel from the dataset.
Connect via API
cURL:
curl -X POST "https://api.apify.com/v2/acts/akash9078/etsy-store-scraper/runs" \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"shopName":"yesintelligent","maxItems":50,"proxyConfig":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"GB"}}'
Python:
import requestsresponse = requests.post("https://api.apify.com/v2/acts/akash9078/etsy-store-scraper/runs",headers={"Authorization": "Bearer YOUR_API_TOKEN"},json={"shopName": "yesintelligent","maxItems": 50,"proxyConfig": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "GB"},},)print(response.json())
Node.js with the Apify Client:
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('akash9078/etsy-store-scraper').call({shopName: 'yesintelligent',maxItems: 50,proxyConfig: { useApifyProxy: true, apifyProxyGroups: ['RESIDENTIAL'], apifyProxyCountry: 'GB' },});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Etsy Store Scraper Pricing
This actor uses Apify's Pay-Per-Event (PPE) pricing model for transparent, usage-based costs:
| Event | Price | Description |
|---|---|---|
apify-actor-start | $0.005 | Charged once when the Actor starts |
apify-default-dataset-item | $0.002 | Charged for each product successfully scraped |
page-loaded | $0.02 | Charged for each shop page loaded during pagination |
Example Cost Calculation
Scraping a shop with 200 products across 6 pages:
- Actor start: 1 × $0.005 = $0.005
- Pages loaded: 6 × $0.02 = $0.12
- Products scraped: 200 × $0.002 = $0.40
- Total: $0.525
Users can set a maximum spending limit per run in the Apify Console. The actor automatically respects this limit and stops when reached.
Why Use This Instead of Browsing Stores Manually?
| Capability | Etsy Store Scraper | Manual browsing |
|---|---|---|
| Coverage | Full store with automatic pagination | Page by page |
| Anti-bot handling | Camoufox fingerprint masking + residential proxies | Blocked easily |
| Output | Structured JSON + run summary | Copy-paste |
| Limits | maxItems: 0 for unlimited | Time-bound |
| Spending control | Max charge limit respected automatically | None |
Limitations
- Scrapes one shop per run, by shop name
- Minimum memory is 512 MB (auto-scales based on requirements)
- UK-based residential proxies are recommended for
etsy.com/ukURLs - Shops with anti-scraping enabled may return no products
- Pagination speed is deliberately rate-limited to avoid detection
For Developers
- Local testing with PPE:
ACTOR_TEST_PAY_PER_EVENT=true npm start - View charging log locally:
ACTOR_TEST_PAY_PER_EVENT=true ACTOR_USE_CHARGING_LOG_DATASET=true npm start— the charging log appears instorage/datasets/charging_log/ - Backward compatibility: the actor supports both PPE (Pay-Per-Event) and PPR (Pay-Per-Result) pricing models automatically
- Respect user limits: the
Actor.charge()method automatically enforces user-configured spending limits - Idempotency: each charge is idempotent when using the Apify SDK
Error Responses
| Issue | Solution |
|---|---|
| "Could not load shop page" | Verify the shop name exists; check the proxy configuration |
| No products found | Shop may be empty or have anti-scraping enabled |
| Timeout errors | Increase maxItems or use better proxies |
| High costs | Set a max charge limit in the Console |
Failed items are written to the dataset with status: "error" and an error message, and are visible in the dedicated errors view.
FAQ
How do I scrape an entire store?
Set maxItems: 0 — the scraper paginates through the whole shop automatically while respecting rate limits.
Which proxies should I use?
Keep proxyConfig on Apify residential proxies. UK-based residential proxies (apifyProxyCountry: "GB") are recommended for scraping UK Etsy sites (etsy.com/uk).
How much does a store scrape cost?
Pricing is pay-per-event: $0.005 per actor start, $0.002 per successfully scraped product, and $0.02 per page loaded — see the pricing section for a worked example.
Can I control spending?
Yes — set a maximum spending limit per run in the Apify Console; the actor stops automatically when the limit is reached.
How should I start with a big shop?
Test with a small maxItems (e.g. 10) before large scrapes, and run during off-peak hours for better reliability.
Related Actors
If you need more Etsy and e-commerce data from Apify, check out my other Apify Actors:
Built and maintained by akash9078 on the Apify platform.