Etsy Scraper avatar

Etsy Scraper

Under maintenance

Pricing

Pay per event

Go to Apify Store
Etsy Scraper

Etsy Scraper

Under maintenance

Extract Etsy shop profiles and product listings. Get sales counts, ratings, reviews, owner info, social links, shop sections, and featured products with prices from any Etsy seller. Perfect for e-commerce research.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

3

Monthly active users

4 days ago

Last modified

Categories

Share

Etsy Shop Profile and Listings Scraper

Scrapes shop profiles and product listings from Etsy. Returns sales counts, ratings, review totals, owner details, social links, shop sections and featured listings with prices, as structured JSON.


Etsy Scraper Features

  • Takes shop URLs directly, or a search query when you don't have a list yet
  • Returns 15 fields per shop, including lifetime sales count and review totals
  • Captures featured listings with title, price and URL in one record
  • Extracts social links and shop sections as JSON arrays
  • Ordinary rate limiting is not your problem
  • Caps output with maxItems

What can you do with Etsy shop data?

  • Market researchers — Size a niche by pulling every shop for a search term and summing sales counts.
  • Competitive analysts — Track a rival shop's review count and listing count over time to infer growth.
  • Sourcing teams — Find makers in a category, with location and contact surface, without clicking through hundreds of pages.
  • Brand protection — Sweep search results for shops selling against your marks.
  • Print-on-demand sellers — Compare pricing across the shops ranking for your keywords.

How Etsy Scraper Works

  1. You supply either a list of shop URLs in startUrls, or a searchQuery to discover them.
  2. If a search query is used, the scraper collects shop URLs from the search results first.
  3. Each shop page is opened and parsed into the field set below.
  4. Records stream to the dataset as they are parsed, stopping at maxItems.

Input

By shop URL, when you already know the shops:

{
"startUrls": [
{ "url": "https://www.etsy.com/shop/PotteryHouseStudio" },
{ "url": "https://www.etsy.com/shop/AnotherMaker" }
],
"maxItems": 50
}

By search, when you're mapping a category:

{
"searchQuery": "handmade pottery",
"maxItems": 100
}
FieldTypeDefaultDescription
startUrlsarrayEtsy shop URLs or search result URLs. Leave empty to use searchQuery
searchQuerystringhandmade potterySearch term, used when startUrls is empty
maxItemsinteger10Maximum records to scrape

startUrls wins when both are supplied.


Etsy Scraper Output Fields

{
"shop_name": "PotteryHouseStudio",
"shop_url": "https://www.etsy.com/shop/PotteryHouseStudio",
"title": "Pottery House Studio",
"sales_count": "14203",
"rating": "4.9",
"review_count": "3187",
"owner_name": "Marta",
"location": "Portugal",
"listing_count": "112",
"social_links": "[\"https://instagram.com/potteryhouse\"]",
"shop_sections": "[\"Mugs\",\"Bowls\",\"Vases\"]",
"listings": "[{\"title\":\"Stoneware Mug\",\"price\":\"$34.00\",\"url\":\"https://etsy.com/listing/123\"}]"
}
FieldTypeDescription
shop_namestringEtsy shop name / handle
shop_urlstringFull URL of the shop page
titlestringShop title or display name
sales_countstringTotal sales reported by the shop
ratingstringAverage star rating
review_countstringTotal number of reviews
owner_namestringShop owner name
locationstringShop location / country
descriptionstringShop announcement or about text
social_linksstringJSON array of social media URLs listed on the shop page
shop_sectionsstringJSON array of shop section names
listing_countstringNumber of active listings
listingsstringJSON array of featured listings — title, price, url
last_updatedstringShop last-updated date, if shown
scraped_atstringISO timestamp of extraction

FAQ

Does the Etsy Scraper need an Etsy account or API key?

No. It reads public shop pages.

Are listings all of a shop's products?

No — it's the featured set shown on the shop page, not the full catalogue. Use listing_count for the true total.

They are JSON-encoded strings so the dataset stays flat and exports cleanly to CSV. Parse them on the way in if you want objects.

Can I scrape a shop's reviews individually?

Not with this actor. You get the aggregate rating and review count per shop, not each review.

What happens if a shop hides its sales count?

The field comes back empty for that shop. Etsy lets sellers hide it, and nothing is invented to fill the gap.


Need More Features?

Need full catalogue pulls or per-review extraction? Open an issue on the actor.

Why Use Etsy Scraper?

  • Two entry points — Feed it known shop URLs or discover them from a search term; you don't need a shop list to start.
  • Sales counts included — The single most useful field for sizing a seller, and the one aggregators usually charge for.
  • Pay per shop — No subscription. A one-off category survey costs what those records cost and then stops.