Etsy Scraper โ€” Listings, Shops, Reviews & Keyword Research avatar

Etsy Scraper โ€” Listings, Shops, Reviews & Keyword Research

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Etsy Scraper โ€” Listings, Shops, Reviews & Keyword Research

Etsy Scraper โ€” Listings, Shops, Reviews & Keyword Research

Etsy research tools charge monthly and still hide the raw data. Get it yourself: listings, shops, reviews, prices, sales estimates, keyword research and ad ranks, exported to JSON, CSV or Excel. Pay per result, no subscription, no login.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawl Craft

Crawl Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

๐Ÿš€ What is Etsy Scraper?

Etsy Scraper is an Apify Actor that collects public Etsy data in bulk: listings, prices, shop details, reviews and keyword reports. Paste Etsy links or type keywords, shop names and listing IDs, then download structured rows as JSON, CSV or Excel. No Etsy login is needed.

  • ๐Ÿ”Ž Every Etsy source in one run: mix search, category, listing and shop links with keywords, shop names and listing IDs, which makes it a handy Etsy bulk scraper.
  • ๐Ÿ“ˆ Organic and sponsored ranks: separate organic and ad ranks per search are the basis for Etsy ad rank tracking across keywords.
  • ๐Ÿช Shop reports with a sales estimate: each shop gets a rating, review count, sections and an estimated monthly sales figure.
  • ๐Ÿ”„ Change tracking between runs: schedule the Actor and see which listings are new and which values moved.
  • ๐Ÿ’ฐ Simple pricing: $3 per 1,000 results on the Free plan and less on paid plans, with no extra setup.

Click Try for free, paste an Etsy link and press Start.

๐Ÿ“Š What data can you extract from Etsy?

This Etsy data scraper returns four kinds of rows in one dataset, and the recordType field tells them apart: listing, shop, review and keyword. The rows are saved in this order: keyword reports, shop reports, listings, then reviews. You can export them from the Apify dataset as JSON, CSV, Excel, XML or HTML.

The tables below list every field name from the dataset schema, with the description and the schema example where one exists. A dash means the schema gives no example value. Some groups of fields only appear when you switch on the matching option: demand signals (views24h, inCartCount, stockLeft and similar), shipping and returns, and change tracking (isNew, changes).

Listing rows

Listing rows hold the core Etsy product data: title, prices, photos, badges and shipping. They also carry Etsy seller data such as owner, years on Etsy, total sales and location.

FieldDescriptionExample
recordTypelisting, shop, review or keyword.listing
listingIdEtsy listing ID.1721240021
titleListing title.Dainty Birth Flower Necklace, 14K Gold
listingUrlLink to the listing.https://www.etsy.com/listing/1721240021/dainty-birth-flower-necklace
imageMain photo in full size.https://i.etsystatic.com/17431768/r/il/b7a6d4/5994858321/il_fullxfull.5994858321_j2e1.jpg
imagesEvery listing photo in full size (with demand signals).โ€”
photoCountNumber of photos (with demand signals).10
videoUrlListing video, when there is one.โ€”
priceRegular price (before a sale) in the run currency.35.0
discountedPriceCurrent sale price; null when not on sale.21.0
discountPctSale discount in percent.40
currencyCodeCurrency of all prices in the row.USD
onSaleTrue when the listing is discounted.true
priceIsFromTrue when the price is the lowest of several options.false
shopIdEtsy shop ID.17431768
shopNameShop name.YourNamesJewelry
shopUrlLink to the shop.https://www.etsy.com/shop/YourNamesJewelry
shopOwnerFirst name of the shop owner.Grace
shopYearsOnEtsyHow long the shop has sold on Etsy, in years.8.0
shopSalesTotal sales of the shop.281600
shopSalesIsRoundedTrue when Etsy shows the sales rounded (e.g. 281.6k).true
sellerLocationWhere the shop is located.Texas, United States
acceptsCustomOrdersTrue when the shop is open to custom orders.true
shopRatingAverage shop rating (1-5).4.8
shopRatingCountNumber of shop reviews.42600
isStarSellerShop has the Star Seller badge.false
isBestsellerListing has the Bestseller badge.false
isPopularNowListing shows "Popular now".true
isEtsyPickListing is an Etsy's Pick.false
isLimitedStockListing shows "Limited stock".false
isFreeShippingListing shows free shipping.false
isDigitalListing is a digital download.false
isHandmadeTrue when made by the seller; null when the listing shows no maker line.โ€”
makerTypemade, designed, handpicked or sourced, from the "Made by" line.โ€”
variationSwatchesNumber of colour/material swatches on the card.4
views24hViews in the last 24 hours (with demand signals).20
views24hIsCappedTrue when Etsy shows the views as "20+".true
inCartCountNumber of carts the listing is in (with demand signals).20
inCartCountIsCappedTrue when Etsy shows the carts as "20+".true
stockLeft"Only N left" count.3
boughtLast24hBought in the last 24 hours.โ€”
highSalesVolumeListing shows "High sales volume".true
isRareFindListing shows "Rare find".false
saleEndsTextSale banner text, e.g. when the sale ends.40% off sale for a limited time
shippingCostShipping cost to the ship-to country (with shipping).0.0
isFreeShippingToCountryFree shipping to the ship-to country.true
shipsFromWhere the item ships from.Hong Kong
deliveryEstimateEstimated delivery window.Oct 16-29
returnsAcceptedReturns accepted.true
exchangesAcceptedExchanges accepted.true
returnWindowDaysDays to return the item.30
runningAdsTrue for sponsored (ad) placements.true
organicRankRank among organic results of the search.โ€”
adRankRank among sponsored results of the search.1
pageSearch result page.1
positionOnPagePosition on the page (or in the shop).1
sourceQueryKeyword or shop the row came from.necklace
sourceTypekeyword, searchUrl, category, listingId or shop.keyword
totalResultsTotal results Etsy reports for the search (or shop listings).453751
isAvailableFalse when Etsy no longer shows the listing.true
isNewChange monitor: listing was not seen in the previous run.false
changesChange monitor: {field: {from, to}} for what moved since the previous run.โ€”
scrapedAtTime the row was collected (UTC, ISO 8601).2026-10-09T12:36:40+00:00

Shop rows

Shop rows hold the Etsy shop data in one place: rating, reviews, sections and an estimated monthly sales figure. Each shop report includes an Etsy shop sales estimate, which is an estimate only and not a number published by Etsy.

FieldDescriptionExample
shopIdEtsy shop ID.17431768
shopNameShop name.YourNamesJewelry
shopUrlLink to the shop.https://www.etsy.com/shop/YourNamesJewelry
ownerFirst name of the shop owner.Grace
yearsOnEtsyHow long the shop has sold on Etsy, in years.8.0
totalSalesTotal sales of the shop.281600
totalSalesIsRoundedTrue when Etsy shows the sales rounded.true
locationWhere the shop is located.Texas, United States
acceptsCustomOrdersTrue when the shop is open to custom orders.true
ratingAverage shop rating (1-5).4.8
reviewCountNumber of shop reviews.42620
totalListingsActive listings in the shop.369
listingsScrapedListings collected in this run.40
sectionsShop sections with their listing counts.[{"sectionId": "23684255", "name": "Name Necklace", "listingCount": 99}]
avgListingPriceAverage price of the collected listings.24.85
currencyCodeCurrency of all prices in the row.USD
pctOnSaleShare of collected listings on sale.97.5
reviewsSampledSupporting figure for the sales estimate.20
reviewsLast30dSupporting figure for the sales estimate.190.0
reviewSampleDaysSupporting figure for the sales estimate.3
estMonthlySalesEstimated sales per month.1583
estMonthlyRevenueEstimated monthly revenue.39338.55
salesEstimateMethodSupporting information for the sales estimate.โ€”
topReviewedListingsListings with the most reviews in the sample.โ€”
reviewsSinceLastRunChange monitor: new reviews since the previous run.0
estSalesSinceLastRunChange monitor: estimated sales since the previous run.0
lastRunAtChange monitor: time of the previous run.2026-10-09T15:07:37+00:00
scrapedAtTime the row was collected (UTC, ISO 8601).2026-10-09T12:36:40+00:00

Review rows

FieldDescriptionExample
shopNameShop name.YourNamesJewelry
reviewIdEtsy review ID.5225076635
reviewerReviewer display name.Savannah
reviewerUrlReviewer profile link.https://www.etsy.com/people/sdeboer33
dateReview date (YYYY-MM-DD).2026-10-09
textReview text.The necklace is beautiful!
listingIdEtsy listing ID.1721240021
listingTitleTitle of the reviewed listing.Initial Birthstone Necklace
photoPhoto added by the buyer.โ€”
sellerResponseThe shop's reply.โ€”

Keyword report rows

FieldDescriptionExample
keywordSearch keyword (or search link) of the report.necklace
totalResultsTotal results Etsy reports for the search (or shop listings).453751
competitionLevelvery low, low, medium, high or very high (by total results).very high
sampleSizeOrganic listings in the sample.467
adsInSampleSponsored listings in the sample.132
currencyCodeCurrency of all prices in the row.USD
avgPriceAverage price.46.72
medianPriceMedian price.30.0
p25PriceLower quartile price.19.5
p75PriceUpper quartile price.41.25
minPriceLowest price.1.75
maxPriceHighest price.1080.0
pctBestsellerShare with the Bestseller badge.1.3
pctPopularNowShare showing "Popular now".2.1
pctOnSaleShare of collected listings on sale.97.5
avgDiscountPctAverage discount of listings on sale.34.9
pctFreeShippingShare with free shipping.60.4
pctStarSellerShare from Star Seller shops.53.7
pctEtsyPickShare of Etsy's Picks.1.5
pctDigitalShare of digital downloads.0.0
pctHandmadeShare made by the seller (where shown).โ€”
avgShopRatingAverage shop rating.4.84
uniqueShopsDifferent shops in the sample.240
topShopShareShare of the sample held by the biggest shop.26.6
topShopsShops with the most listings in the sample.[{"shopName": "CaitlynMinimalist", "listings": 124}]
avgViews24hAverage views in 24h (with demand signals).โ€”
pctInCartsShare that is in at least one cart (with demand signals).โ€”
relatedKeywordsEtsy's related long-tail keywords.[{"keyword": "name necklace", "facet": "Personalization", "display": "Name"}]
topTitleTermsMost used 1-3 word phrases in titles.[{"term": "necklace", "listings": 366, "share": 0.784}]

๐Ÿ’ก Use cases for Etsy data

  • Niche and keyword research: read the competition level, price bands and related keywords in a keyword report to judge a niche, much like an Etsy keyword research tool would.
  • Listing optimisation: use topTitleTerms and relatedKeywords as input for Etsy SEO keyword research on your own titles.
  • Competitor analysis: compare shop ratings, sales totals and sections for Etsy competitor research.
  • Shop dashboards: schedule the Actor and send shop reports to a spreadsheet or BI tool for Etsy shop analytics.
  • Product discovery: sort by most in carts or most viewed in 24h to find Etsy trending products.
  • Sourcing ideas: compare prices, badges and shipping on many listings as a starting point for Etsy dropshipping research.
  • Price monitoring: turn on change tracking to track Etsy price changes between runs.
  • Advertising visibility: runningAds, adRank and organicRank show where Etsy sponsored listings appear for a keyword.
  • Review analysis: collect Etsy shop reviews with buyer text, dates and seller replies for sentiment work or quality checks.

๐Ÿงฉ Why use Etsy Scraper for Etsy data?

Search results, listings, shops and reviews all come from one input form, so you do not need a separate Etsy product scraper for each task. Filters then keep only on-sale, free-shipping, digital or Star Seller listings.

Prices, sale prices and discount percent sit side by side in every row. Sponsored placements are flagged and ranked separately, so the output doubles as Etsy ads data for every search.

Sorting by carts or views gives Etsy product research a live demand angle. Demand signals add Etsy demand data such as views, carts and stock left. The shipping option adds Etsy shipping costs, delivery estimates and return terms for your ship-to country.

Nothing needs to be installed or hosted, unlike a self-built Etsy web scraper. Setup takes minutes with a link, a keyword, a listing ID or a shop name.

๐Ÿ› ๏ธ How to scrape Etsy listings, shops and reviews

These six steps show how to scrape data from Etsy without writing code.

  1. Create a free Apify account.
  2. Open Etsy Scraper on the Apify Store.
  3. Add at least one source: an Etsy link in Etsy links (bulk), a keyword in Search keywords, a listing ID or a shop name.
  4. Set Max pages per search and any filters, such as Min price or Free shipping only.
  5. Click Start and wait for the run to finish.
  6. Open the dataset and download the rows as JSON, CSV or Excel.

Need more than one source? You can combine links, keywords, listing IDs and shop names in a single run. Teams that want an Etsy data extractor without code can run everything from the input form.

๐Ÿ’ฐ How much does it cost to scrape Etsy?

Etsy Scraper uses tiered pay-per-event pricing: $3 per 1,000 results on the Free plan and less on paid plans. Every saved row counts as one result (the event is main_result), whether it is a listing, a shop report, a review or a keyword report. On the Free plan, a run that saves 1,000 rows therefore costs $3. Each run also has a small start charge of $0.00005 (the Actor Start event).

Apify planPrice per 1,000 results
Free$3
Bronze$2.7
Silver$2.4
Gold / Platinum / Diamond$2

Free plan users are limited to 10 items per run, with no monthly limit. Paid Apify plans have no per-run item limit. See the Pricing tab for current rates.

If you set a spend limit on your account, the run stops cleanly once the limit is reached and keeps the rows saved so far.

โฌ‡๏ธ Input

The only required input is at least one source: Etsy links (bulk) (urls), Search keywords (queries), Listing IDs (listingIds) or Shop names (shops). Links can be search, category, market, listing or shop pages, and local versions such as etsy.com/uk/... work too. Keyword and search-link inputs make the run an Etsy search scraper that records the page and position of every result.

Etsy Scraper input form with Etsy links and search keywords

See the Input tab for every option. This is an example input, built from the pre-filled values of the input form:

{
"urls": ["https://www.etsy.com/search?q=necklace"],
"maxPages": 1,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Main input options

OptionWhat it does
urlsOne Etsy link per line: search, category, market, listing or shop pages.
queriesSearch keywords typed like a shopper would, e.g. "boho wall art". Each keyword is a separate search with its own ranks and keyword report.
listingIdsEtsy listing IDs (e.g. 1721240021) or listing links. A listing Etsy no longer shows comes back with isAvailable = false.
shopsShop names (e.g. YourNamesJewelry) or shop links. Each shop gets a shop report, its listings and its reviews.
maxPagesHow many result pages to read for each search (about 48 listings plus ads per page). Pre-filled with 1.
maxResultsStop each search after this many listings. 0 means everything the pages return.
sortrelevance, newest, price-asc, price-desc, reviews, carts or views. The carts and views orders use live demand and switch on demand signals.
country and currencyShip-to country for results, prices and shipping quotes (35 countries), and an optional currency (25 currencies).
minPrice, maxPricePrice range in the run currency.
onSaleOnly, freeShippingOnly, digitalOnly, handmadeOnly, starSellerOnly, etsyPicksOnlyKeep only matching listings.
shopLocation, minShopRating, minShopReviewsFilter by shop location ID, shop rating and shop review count.
titleIncludes, titleExcludesKeep or drop listings by words in the title.
includeAdsKeep sponsored listings (marked with runningAds = true and an adRank).
dedupeAcrossQueriesSave each listing once even if several searches find it.
includeSellerDetailsFill shop owner, years on Etsy, total sales, location and custom orders on every listing.
includeDemandSignalsAdd views, carts, stock left and related fields. Slower.
includeShipping and shipToPostalCodeAdd shipping cost, ships from, delivery estimate and returns. Slower.
includeReviews, reviewRateSave shop reviews as rows. reviewRate is a tuning value for the sales estimate; leave the default if you are unsure.
keywordResearchOne keyword report per search.
monitor, monitorKey, monitorOnlyChangesCompare with the previous run, name the saved history, and optionally save only new or changed listings.
proxyConfigurationOptional proxy settings. Leave the default if you are unsure.

๐Ÿ’ก Keep Max pages per search low for a first test run.

โš ๏ธ Options that add demand, shipping or seller details make runs slower.

How to scrape Etsy reviews for a shop

Add the shop name or shop link to Shop names. Keep Shop reviews (includeReviews) switched on and set the maximum number of reviews per shop. Each review becomes a row with the buyer, date, text and reviewed listing, which is what people usually expect from an Etsy reviews scraper. Download the same dataset to export Etsy reviews as CSV or Excel.

How to scrape one Etsy shop

Add the shop name or link to Shop names and set Max listings per shop. You get one shop report, the shop's listings and its reviews, which covers the usual jobs of an Etsy shop scraper.

How to check a single listing

Add the listing ID or link to Listing IDs. This is the quickest Etsy listing scraper setup for price and availability checks, and a listing that Etsy no longer shows comes back with isAvailable set to false.

How to export Etsy listings to CSV

Run your search, open the dataset and choose CSV as the download format. Apify exports the dataset as a table, so every field above becomes a column.

How to track Etsy price changes between runs

Switch on Track changes between runs, give the history a Monitor name and schedule the Actor. From the second run on, isNew marks new listings and changes lists what moved, such as price, rank, views, carts, stock, bestseller status, availability and shipping.

How to run Etsy keyword research

Type your keywords into Search keywords and keep Keyword research report switched on. Each keyword returns one report with total results, competition level, price bands, badge shares, top shops, related keywords and the most used title terms.

โฌ†๏ธ Output

The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and doesn't show all the fields.

Etsy listings in the Apify dataset table view

You can export Etsy data from the dataset as JSON, CSV, Excel, XML or HTML. Downloading is one click in the dataset view, so no separate Etsy data downloader is needed.

The samples below are examples assembled from the example values in the dataset schema. They are not a captured run, and they show only fields that have an example value.

Listing output example

{
"recordType": "listing",
"listingId": 1721240021,
"title": "Dainty Birth Flower Necklace, 14K Gold",
"listingUrl": "https://www.etsy.com/listing/1721240021/dainty-birth-flower-necklace",
"price": 35.0,
"discountedPrice": 21.0,
"discountPct": 40,
"currencyCode": "USD",
"onSale": true,
"shopId": 17431768,
"shopName": "YourNamesJewelry",
"shopUrl": "https://www.etsy.com/shop/YourNamesJewelry",
"shopOwner": "Grace",
"shopYearsOnEtsy": 8.0,
"shopSales": 281600,
"sellerLocation": "Texas, United States",
"shopRating": 4.8,
"shopRatingCount": 42600,
"isStarSeller": false,
"isBestseller": false,
"isPopularNow": true,
"isFreeShipping": false,
"runningAds": true,
"adRank": 1,
"page": 1,
"positionOnPage": 1,
"sourceQuery": "necklace",
"sourceType": "keyword",
"totalResults": 453751,
"isAvailable": true,
"scrapedAt": "2026-10-09T12:36:40+00:00"
}

Shop report output example

{
"shopId": 17431768,
"shopName": "YourNamesJewelry",
"owner": "Grace",
"yearsOnEtsy": 8.0,
"totalSales": 281600,
"location": "Texas, United States",
"rating": 4.8,
"reviewCount": 42620,
"totalListings": 369,
"listingsScraped": 40,
"avgListingPrice": 24.85,
"estMonthlySales": 1583,
"estMonthlyRevenue": 39338.55
}

Review output example

{
"shopName": "YourNamesJewelry",
"reviewId": 5225076635,
"reviewer": "Savannah",
"date": "2026-10-09",
"text": "The necklace is beautiful!",
"listingTitle": "Initial Birthstone Necklace"
}

Keyword report output example

{
"keyword": "necklace",
"totalResults": 453751,
"competitionLevel": "very high",
"sampleSize": 467,
"adsInSample": 132,
"avgPrice": 46.72,
"medianPrice": 30.0,
"uniqueShops": 240,
"topShops": [
{ "shopName": "CaitlynMinimalist", "listings": 124 }
],
"relatedKeywords": [
{ "keyword": "name necklace", "facet": "Personalization", "display": "Name" }
]
}

โš ๏ธ Limitations and error handling

  • Free plan: runs are limited to 10 items per run. Paid Apify plans have no per-run limit.
  • Result depth: the number of result pages Etsy offers for a search depends on the sort order, so a high Max pages per search may stop early. The run log tells you when that happens.
  • Capped numbers: Etsy shows views and carts as "20+" for busy listings, and views24hIsCapped and inCartCountIsCapped tell you when that applies.
  • Estimates: estMonthlySales and estMonthlyRevenue are estimates only, not figures published by Etsy.
  • Seller fields: shop sales and seller location may stay empty in some runs, while owner and years on Etsy are still filled when available.
  • Handmade filter: it drops listings marked as Designed by, Handpicked by or Sourced by a seller, and keeps listings that show no maker line.
  • Currency: if Etsy does not support the currency you pick, prices come back in USD and currencyCode says USD.
  • Unavailable listings: a listing ID that Etsy no longer shows returns a row with isAvailable set to false.
  • No private data: the Actor reads public Etsy pages only. It does not log in, so account, order and customer data are out of reach.

Problems are reported in the run log and in the final status message. If one page or one part of the data cannot be loaded, the log says so and the rows collected so far are still saved. The Actor does not write separate error rows to the dataset. A short run summary is also stored in the key-value store.

๐Ÿ”Œ Integrating Etsy Scraper with other apps

As an Etsy scraping tool on the Apify platform, it can be started from the Apify API, scheduled, and combined with webhooks that fire when a run finishes. See the API tab for ready-made code snippets. You can also connect it to tools such as Make, Zapier or Google Sheets through the Apify integrations.

Scheduled runs work well together with change tracking, because every run is compared with the previous run that used the same monitor name. A schedule makes the Actor behave like an Etsy data crawler that revisits the same searches and shops on a timetable. Weekly shop reports can feed ongoing Etsy competitor analysis.

๐Ÿ”— More Apify Actors by crawl_craft

These Actors come from the same developer. They cover other platforms and are not related to Etsy data. They are listed only so you can find the rest of the account.

ActorWhat it extractsWhen to use it
TikTok Video ScraperTikTok video stats, captions, hashtags, author and music dataWhen your task is about TikTok videos, not Etsy.
TikTok User Search ScraperTikTok creator profiles found by keywordWhen you need TikTok profiles in bulk.
Ats Jobs APIOpen jobs from Greenhouse, Lever and AshbyWhen you need job listings from company career boards.

Etsy Scraper only extracts data that is publicly visible on Etsy, and it does not extract private data such as account details. Results can still contain personal data, such as reviewer names and shop owner first names. Only collect personal data when you have a legitimate reason, consider GDPR (Regulation (EU) 2016/679) and Etsy's terms, and consult a lawyer if you are unsure. For background, read Apify's posts on the legality of web scraping and ethical web scraping.

โ“ FAQ

How much does it cost to run Etsy Scraper?

It costs $3 per 1,000 results on the Free plan and less on paid plans, on the pay-per-event model, and each saved row is one result. Free plan users can get up to 10 items per run.

Can you scrape Etsy without an API key or login?

Yes. The Actor works on public pages and asks for no Etsy login or API key. Only Apify account access is needed to run it.

Is this an Etsy API alternative?

It can serve that purpose for public listing, shop and review data, because no Etsy API key is involved. It cannot give access to private seller account data.

How many results can I get?

Set Max pages per search and Max listings per search to control the size. Free plan runs are limited to 10 items, and the number of pages Etsy offers depends on the sort order.

Can I get private data?

No. The Actor returns public Etsy data only.

Do I need proxies?

Proxy settings are optional. Leave the default if you are unsure.

Can I use it with the Apify API, Python or Node.js?

Yes. Any Apify Actor can be started and its dataset read through the Apify API and client libraries. The API tab shows ready-made snippets.

Is the sales estimate exact?

No. The monthly sales and revenue figures in shop reports are estimates. Read them as a rough guide, not as official Etsy numbers.

Can I use it as an Etsy price scraper?

Yes. Every listing row carries the regular price, the sale price, the discount percent and the currency, so price comparisons need no extra cleanup.

Can I use it as an Etsy listings scraper for a whole niche?

Yes. A search link or keyword returns one row per listing, and you can read as many pages as the Max pages per search setting allows.

๐Ÿ’ฌ Your feedback

Found a bug or want a new field? Open a report in the Issues tab of this Actor page. If you need a custom solution, such as extra fields or a tailored export for your project, write to hello.crawlcraft@gmail.com.