OrbTop

Etsy Scraper

ECOMMERCE

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
  • Runs over residential proxy, so 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 over a residential proxy 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
}
Field Type Default Description
startUrls array Etsy shop URLs or search result URLs. Leave empty to use searchQuery
searchQuery string handmade pottery Search term, used when startUrls is empty
maxItems integer 10 Maximum 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\"}]"
}
Field Type Description
shop_name string Etsy shop name / handle
shop_url string Full URL of the shop page
title string Shop title or display name
sales_count string Total sales reported by the shop
rating string Average star rating
review_count string Total number of reviews
owner_name string Shop owner name
location string Shop location / country
description string Shop announcement or about text
social_links string JSON array of social media URLs listed on the shop page
shop_sections string JSON array of shop section names
listing_count string Number of active listings
listings string JSON array of featured listings — title, price, url
last_updated string Shop last-updated date, if shown
scraped_at string ISO 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.

Why are social_links, shop_sections and listings strings rather than arrays?

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.