DEV Community

publicrecords
publicrecords

Posted on

Find bestselling Etsy listings in a niche: 10 rows for $0.065

Disclosure: I maintain these Actors on Apify Store (publicrecords).

Etsy sellers and product researchers keep asking how to export Etsy search results for a niche and see which listings are already marked Bestseller. Today's walkthrough does that with Etsy Search Scraper — a different path from sorting by price.

Price (matches the live listing)

Pay-per-event on Apify Store:

  • Actor start: $0.005
  • Listing row: $0.006 per delivered listing
  • 10 rows: $0.005 + 10 × $0.006 = $0.065

Blocked pages are not charged.

Paste-ready input (bestsellers in a niche)

{
  "queries": ["personalized dog collar"],
  "sort": "relevance",
  "is_best_seller": true,
  "maxItems": 10,
  "maxPages": 1,
  "fillLazyCards": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}
Enter fullscreen mode Exit fullscreen mode

Swap the keyword for your niche. is_best_seller: true keeps only listings Etsy marks Bestseller.

Run it

  1. Open the Actor: publicrecords/etsy-search-scraper
  2. Paste the JSON into Input → Start
  3. Download the dataset (CSV/JSON)

Or from the CLI:

apify call publicrecords/etsy-search-scraper --input '{
  "queries": ["personalized dog collar"],
  "sort": "relevance",
  "is_best_seller": true,
  "maxItems": 10,
  "maxPages": 1,
  "fillLazyCards": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}'
Enter fullscreen mode Exit fullscreen mode

curl (replace $APIFY_TOKEN):

curl -sS -X POST "https://api.apify.com/v2/acts/publicrecords~etsy-search-scraper/runs?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "queries": ["personalized dog collar"],
    "sort": "relevance",
    "is_best_seller": true,
    "maxItems": 10,
    "maxPages": 1,
    "fillLazyCards": true,
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": ["RESIDENTIAL"],
      "apifyProxyCountry": "US"
    }
  }'
Enter fullscreen mode Exit fullscreen mode

What you get

Each row is a live search listing: id, title, price, rating, reviews, badges (including Bestseller), shop, and rank in Etsy's order for that query.

Example repo for the price-sort path: GeminiGeorge22/etsy-search-example.

Again: disclosure — I maintain publicrecords/etsy-search-scraper on Apify Store.

Top comments (0)