Etsy Scraper - Listings, Shops & Search Results
Pricing
from $3.50 / 1,000 results
Etsy Scraper - Listings, Shops & Search Results
Scrape Etsy product listings, shop profiles, and search results. Get price, sales, reviews, photos, variants, shop info. 3 input modes.
Pricing
from $3.50 / 1,000 results
Rating
5.0
(1)
Developer
Crikit
Maintained by CommunityActor stats
1
Bookmarked
117
Total users
36
Monthly active users
10 days ago
Last modified
Categories
Share
Scrape Etsy listings, shops, and search results in one Actor. This Etsy scraper returns price range, availability, variant count, star rating, review count, photos, category breadcrumbs, and the full shop profile — name, rating, review count, location, owner, and total listing count.
No Etsy API key, no login, and no headless browser. Results land in a structured dataset you can export to JSON, CSV, Excel, or XML, or pull straight from the Apify API.
What is Etsy Scraper - Listings, Shops & Search Results?
Etsy Scraper - Listings, Shops & Search Results is an Apify Actor that extracts listings, shop profiles, and search results from Etsy and returns them as clean, structured records. Three input modes cover the whole workflow: search a keyword to find products, scrape a shop to see everything a seller offers, or enrich specific listing URLs you already have.
What data can this Etsy scraper extract?
Every run writes one row per listing or shop. The full schema carries 32 fields; the most-used ones are below.
| Field | Type | Description |
|---|---|---|
recordType | string | listing, listingCard, shop, or searchSummary. Warnings go to the run's key-value store WARNINGS key and don't... |
sourceUrl | string | Canonical Etsy URL this record was scraped from. |
listingId | string | Numeric Etsy listing identifier. Populated for listing records. |
title | string | Product or shop title. |
description | string | Plain-text description body. |
priceLow | number | Lowest price across variants, in priceCurrency. |
priceHigh | number | Highest price across variants, in priceCurrency. |
priceCurrency | string | ISO-4217 currency code (e.g. USD). |
availability | string | schema.org availability state (InStock, OutOfStock). |
variantCount | integer | Number of variant combinations offered. |
ratingValue | number | Average rating value (1-5). |
reviewCount | integer | Total reviews on the listing (for listings) or shop (for shops). |
images | array | Ordered array of full-size image URLs. |
category | string | Etsy taxonomy path. |
breadcrumbs | array | Category navigation path, ordered. |
shopId | string | Numeric Etsy shop identifier. |
shopName | string | Shop handle as used in the URL path. |
shopUrl | string | Canonical shop URL. |
shopRating | number | Shop-level aggregate rating (for shop records). |
shopReviewCount | integer | Shop-level total review count. |
shopLogo | string | URL to the shop logo image. |
shopLocation | string | Self-reported shop location string. |
See the Output tab in Apify Console for all 32 fields.
How to scrape Etsy listings and shops
- Open Etsy Scraper - Listings, Shops & Search Results and click Try for free.
- Pick a mode:
searchQueriesfor keyword search,shopUrlsfor a whole shop, orlistingUrlsfor specific items. - Turn on
includeListingDetailsfor the full per-listing record. - Filter with
minPrice,maxPrice, andsortOrder. - Bound the run with
maxResults,maxPagesPerQuery, andmaxRuntimeSeconds. - Click Start and watch rows appear live in the Output tab.
- Export the dataset as JSON, CSV, Excel, or XML — or fetch it from the Apify API once the run finishes.
Etsy Scraper - Listings, Shops & Search Results input options
| Input | Type | What it does | Default |
|---|---|---|---|
searchQueries | array | Free-text searches to walk. Each entry produces one result page sequence. Example: ["handmade leather wallet",... | ["handmade leather wallet"] |
shopUrls | array | Full Etsy shop URLs (https://www.etsy.com/shop/) or bare shop names (case-sensitive, e.g. HunchbackLeather). | |
listingUrls | array | Full Etsy listing URLs or bare numeric listing IDs (e.g. 1529402955). | |
maxResults | integer | Hard cap on billable records (listings, shops, search summaries) pushed to the default dataset. Warning rows go to a... | 8 |
maxPagesPerQuery | integer | How many pages to walk per search query (Etsy mobile layout returns ~6 results per page). Default 5. | 1 |
includeListingDetails | boolean | If true, every listing seen in search/shop results gets a full detail fetch (price range, all photos, description,... | true |
detailConcurrency | integer | Parallel workers that pull listing IDs from the queue and fetch detail pages. Higher = faster but more aggressive on... | 4 |
maxRuntimeSeconds | integer | Optional hard wall-clock cap on the actor run. The actor stops cleanly when the deadline is reached even if... | |
sortOrder | string | Order applied to search queries only. most_relevant (default), most_recent, price_asc, price_desc. | "most_relevant" |
minPrice | integer | Search-only price floor. | |
maxPrice | integer | Search-only price ceiling. |
Proxy is configured through the standard proxyConfiguration object; the defaults shipped with this Actor are already tuned for the target site.
Example output
{"recordType": "listing","listingId": "1529402955","title": "Handmade Full Grain Leather Wallet - Personalizable Men's Bifold Wallet","priceLow": 154.0,"priceHigh": 194.0,"priceCurrency": "USD","availability": "https://schema.org/InStock","variantCount": 25,"ratingValue": 5.0,"reviewCount": 467,"images": ["https://i.etsystatic.com/.../il_fullxfull.jpg", "…"],"category": "Wallets & Money Clips","breadcrumbs": ["Clothing & Accessories", "Wallets & Money Clips", "Bifold Wallets"],"shopId": "34829689","shopName": "HunchbackLeather","shopUrl": "https://www.etsy.com/shop/HunchbackLeather","sourceUrl": "https://www.etsy.com/listing/1529402955","scrapedAt": "2026-05-19T18:42:11Z"}
How much does it cost to scrape Etsy?
This Actor runs on pay per result pricing: $0.0035 per record ($3.5 per 1,000). A one-time start fee of $0.00005 applies per run.
| Results | Approximate cost |
|---|---|
| 1,000 | $3.50 |
| 10,000 | $35.00 |
| 100,000 | $350.00 |
You pay for rows you actually receive, so a search that returns nothing costs nothing beyond the start fee. Every Apify account includes free monthly usage credit, so you can trial Etsy Scraper - Listings, Shops & Search Results at no cost.
What can you build with Etsy data?
Research a niche before you launch a shop
Search a keyword and read the price distribution, review counts, and shop ages to judge how contested a niche really is before investing in inventory.
Track competitor shops and their bestsellers
Scrape a competitor's whole shop on a schedule and watch which listings gain reviews fastest — the closest public proxy for what is actually selling.
Find pricing gaps in a category
Price ranges plus review counts show where demand exists at price points nobody is currently serving.
Source products or suppliers
Shop location and total listing count help separate genuine makers from resellers and dropshippers.
Monitor your own listings' visibility
Run the searches your buyers use and record where your listings actually appear in the results.
Etsy scraping tips and limits
- Review count is Etsy's most useful public proxy for sales volume. Track it over time rather than reading it once — the delta is the signal.
recordTypeseparates listing rows from shop rows. Split on it before analysing or you will mix two different grains.- Etsy search results are personalised and rotate. For ranking work, run at a consistent time and treat the position as indicative rather than absolute.
maxRuntimeSecondsis a useful safety net on broad keyword sweeps that could otherwise run a long time.
Integrations and automation
Run Etsy Scraper - Listings, Shops & Search Results on a schedule to keep a Etsy dataset fresh, or trigger it from your own stack through the Apify API and the official JavaScript and Python clients. Native integrations push results into Google Sheets, Slack, Airtable, Zapier, Make, GitHub, or any webhook endpoint. The Actor also works as an MCP tool, so an AI agent can call it directly.
Related scrapers
| Actor | What it does |
|---|---|
| Shopify Store Catalog Scraper | Full catalog of any Shopify store, including variants and SKUs. |
| Poshmark Listings & Sold Comps Scraper | Resale comps with real sold prices and sold dates. |
| eBay Product & Sold Scraper | eBay sold-listing history for resale pricing. |
| Pinterest Pins Scraper | What is trending visually in your product category. |
Frequently asked questions
Can I scrape all listings from one Etsy shop?
Yes. Put the shop URL in shopUrls and the Actor enumerates its listings along with the shop profile.
Does Etsy publish sales counts?
Etsy shows a shop-level sales total but not a per-listing sales figure. Per-listing review count is the standard proxy, and it comes back on every row.
Do I need a Etsy API key?
No. Etsy Scraper - Listings, Shops & Search Results reads publicly available Etsy pages and endpoints directly, so there is no key to obtain, no OAuth app to register, and no account to connect.
Can I export Etsy data to CSV, Excel, or Google Sheets?
Yes. Every run stores results in an Apify dataset that exports to JSON, JSONL, CSV, Excel, XML, or HTML with one click, and the Google Sheets integration writes rows straight into a spreadsheet.
Can I run Etsy Scraper - Listings, Shops & Search Results on a schedule?
Yes. Apify schedules run the Actor hourly, daily, weekly, or on any cron expression, and webhooks can notify your systems the moment a run finishes.
Is it legal to scrape Etsy?
Scraping publicly available data is broadly lawful in the US and EU, but the answer depends on what you collect and how you use it. This Actor is built to gather public listing and shop information Etsy publishes publicly, including seller shop names. Personal data carries extra obligations under GDPR and CCPA. Read Apify's guide on whether web scraping is legal and take your own legal advice for your use case.
Support and feedback
Found a bug, a missing field, or a Etsy page shape this Actor does not handle yet? Open an issue from the Issues tab on the Actor page. Feature requests and custom-scraper enquiries are welcome there too.