Etsy Tags Scraper - All 13 Tags From Any Listing avatar

Etsy Tags Scraper - All 13 Tags From Any Listing

Pricing

from $10.00 / 1,000 listings

Go to Apify Store
Etsy Tags Scraper - All 13 Tags From Any Listing

Etsy Tags Scraper - All 13 Tags From Any Listing

Every Etsy listing gets 13 tags and they are the biggest lever in Etsy search. This pulls all 13 from any listing, search term or shop, with the title, category path and favourite count beside them so you can see which tags are attached to what sells. Pay per listing.

Pricing

from $10.00 / 1,000 listings

Rating

0.0

(0)

Developer

Blackcube

Blackcube

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

Etsy Research Suite  •  2 Actors, one codebase, one listing billed once
Etsy Scraper API
Listings, Prices, Tags & Keywords
Etsy Tags Scraper
➤ You are here

More from this account: YouTube Transcript Suite · Website Contact & Email Suite · Career Site & ATS Jobs Suite · Google News Suite · Keyword Research Suite · Shopify Store Intelligence Suite · eBay Data Suite · Amazon Reviews Suite · Reddit · Meta Ad Library · Vinted · Trustpilot Review Intelligence Suite · App Store & Google Play Reviews Suite · YouTube Comments Intelligence Suite · Telegram Channel Intelligence Suite · Business Reviews Suite · Google Trends Suite · Amazon Product Data Suite · Google Sheets Suite · TikTok Suite · Snapchat Suite · LinkedIn Public Data Suite · Instagram Suite · Contact Validation Suite · Google Maps Suite · X / Twitter

Every Etsy listing gets 13 tags and they are the biggest lever in Etsy search. This pulls all 13 from any listing, search term or shop, with the title, category path and favourite count beside them so you can see which tags are attached to what sells. Pay per listing.

No Etsy account. No API key. No run-start fee — a run that finds nothing costs nothing.


What you get

FieldWhat it is
titleThe listing title, exactly as it appears on Etsy
priceUsdPrice normalised to US dollars, on every row whatever storefront you read
price, currencyPrice in the shop's own currency
favoritesHow many shoppers have favourited the listing — the demand signal
viewsEtsy's own view count, where Etsy publishes it
isBestseller, isTopRatedEtsy's own badges, not our guess
tagsAll 13 Etsy SEO tags, in the seller's own order
materialsThe materials the seller declared
quantityUnits the seller says are available
categoryPathFull Etsy category path, e.g. home_and_living.kitchen_and_dining.drinkware.mugs
shopName, shopId, shopUrlThe shop behind the listing
sectionNameThe shop's own section the listing sits in
images, imageCountEvery full-size image URL
descriptionThe full listing description. Off by default: set includeDescription to true
isDigital, isCustomizable, isMadeToOrderProduct type flags
whenMadeEtsy's own vocabulary — made_to_order, 2020_2026, before_2006
shipsFromCountryTwo-letter country code
createdAt, updatedAtISO 8601 timestamps
variationsSizes, colours and personalisation options. Off by default: set includeVariations to true
foundViaWhich search term surfaced this listing

Every run can also return Etsy's own ranked keyword suggestions alongside the listings: set expandWithKeywords and you get the phrases Etsy suggests to shoppers, each with the rank Etsy gave it.

Four kinds of row, and only two of them cost anything

RowtypeCharged
An Etsy listinglistingyes
An Etsy keyword suggestionkeywordyes
A shop summary aggregated from its listingsshopfree
The coverage report for each termcoveragefree
Anything that could not be servederrorfree

Pricing

Plan tier1,000 listings1,000 keywords
FREE$20.00$10.00
BRONZE$16.70$8.40
SILVER$12.70$6.40
GOLD$10.00$5.00
PLATINUM$9.30$4.70
DIAMOND$8.70$4.40

The Store card shows the GOLD tier. There is no run-start fee on this Actor, and no per-page or per-request charge — you pay for rows you keep and nothing else.

What is free, always: a listing that no longer resolves on Etsy, a listing excluded by your own price / bestseller / digital filters, every error row, every shop summary, and the coverage report. Set maxCostUsd and the run stops cleanly the moment the next row would cross your ceiling — and still writes its coverage rows so you know where it got to.


Try it

{
"mode": "search",
"searchTerms": [
"boho wall art"
],
"includeDescription": false,
"maxItems": 25,
"expandWithKeywords": true,
"maxKeywords": 5
}

That is this Actor's default input — press Run and you get real Etsy listings straight away.

Worked recipes

Sweep a whole niche

{
"mode": "search",
"searchTerms": ["personalized leather wallet"],
"expandWithKeywords": true,
"maxItems": 2000
}

One term becomes dozens of Etsy-ranked queries, so you get the whole niche rather than one page of it.

Just the bestsellers, in a price band

{
"mode": "search",
"searchTerms": ["ceramic mug"],
"onlyBestsellers": true,
"minPriceUsd": 25,
"maxPriceUsd": 80
}

Everything filtered out is free — you are billed only for the listings you keep.

Tags and prices only, no descriptions

{
"mode": "search",
"searchTerms": ["boho wall art"],
"includeDescription": false,
"maxItems": 500
}

A much smaller dataset when you only need the SEO and pricing columns.

Hundreds of long-tail phrases from one seed

{
"mode": "keywords",
"keywordSeeds": ["wedding gift"],
"keywordAlphabet": true,
"keywordModifiers": true,
"maxKeywords": 1000
}

An A–Z sweep plus twenty buyer-intent shapes, each phrase carrying the rank Etsy gives it.


Honest limits

We would rather tell you these up front than have you find them out on your own money.

  • One search term returns roughly 100 listings before Etsy's results for that exact phrase run out. Switch on expandWithKeywords to sweep a niche properly. Every run writes a free coverage row saying whether it stopped because Etsy ran out (exhausted) or because it hit your own cap (cappedByRun) — so you never have to guess.
  • No review text, and no shop lifetime sales or follower counts. Etsy does not publish those, so this Actor does not return them and does not pretend to. The shop summary is aggregated from the listings the run actually found, and says so.
  • etsyRank is an ordinal, not a search volume. Etsy publishes no volumes. We give you Etsy's own ordering and refuse to invent a number.
  • views is only as good as Etsy's own publishing of it — Etsy shows it on some listings and not others. Where it is absent the field is null, never a guess.

Output example

{
"type": "listing",
"listingId": 4472929892,
"url": "https://www.etsy.com/listing/4472929892",
"title": "Personalized Handmade Leather Wallet, Slim Front Pocket, Minimalist Bifold",
"priceUsd": 31,
"currency": "USD",
"favorites": 105,
"views": 2841,
"isBestseller": false,
"quantity": 23,
"tags": ["personalized wallet", "wallet", "slim wallet", "minimalist wallet", "gift for him"],
"materials": ["leather"],
"shopName": "CordovanLeather",
"categoryPath": "bags_and_purses.wallets_and_money_clips.wallets",
"isDigital": false,
"whenMade": "made_to_order",
"shipsFromCountry": "US",
"imageCount": 12,
"createdAt": "2026-08-05T18:03:14.000Z",
"foundVia": "personalized leather wallet"
}

This is an unofficial tool. It is not affiliated with, endorsed by, or connected to Etsy, Inc. in any way, and "Etsy" is a trademark of its owner, used here only to describe what the Actor reads. It collects publicly visible listing information only — the same pages any shopper can see without signing in. It does not access private data, buyer information, messages, or anything behind a login. You are responsible for using the data you collect in line with Etsy's terms and with applicable law in your jurisdiction.

Use it from n8n, MCP, the API or a schedule

Built to be called by a workflow, not only from the Store form. The Actor is vonsensey/etsy-tags-scraper; every snippet below sends {}, which runs the defaults shown on the form — replace it with your own input.

n8n

Install the Apify community node (@apify/n8n-nodes-apify under Settings → Community Nodes, or search "Apify" on n8n Cloud). Add Apify → Run Actor with Actor vonsensey/etsy-tags-scraper and your input JSON, then Apify → Get Dataset Items on the run's defaultDatasetId and pipe the rows anywhere. For scheduled runs, the On new Apify Event trigger fires when a run of this Actor finishes.

MCP (Claude, Cursor, VS Code, any MCP client)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vonsensey/etsy-tags-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Your agent then calls vonsensey/etsy-tags-scraper as a tool with the same input the form takes and reads the dataset back.

REST API (one call, rows in the response)

curl -X POST "https://api.apify.com/v2/acts/vonsensey~etsy-tags-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d '{}'

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vonsensey/etsy-tags-scraper").call(run_input={})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('vonsensey/etsy-tags-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Make, Zapier, LangChain, CrewAI

The Apify app in Make and Zapier has a Run an Actor module: pick vonsensey/etsy-tags-scraper. In LangChain and CrewAI the Apify tool wrappers take the same Actor id. A daily schedule needs nothing but the Console: Schedules → Create → this Actor → cron, and the dataset fills on its own.

Run it without configuring anythingAll 13 Etsy tags for a search term, a ready-made example you can start as-is or copy.

Use cases

  • Validate a product before you make it. Pull every listing in the niche you are considering, sort by favourites, and see what the top twenty charge and which tags they use — before you buy materials.
  • Price against the shops you actually compete with. Every row carries a USD price and the shop behind it, so you get a real price band instead of eyeballing the first page.
  • Fix listings nobody is finding. Etsy gives every listing 13 tags and they are the biggest lever in Etsy search. Pull the tags of the listings that already rank for your term and compare them with your own.
  • Watch prices and stock on a schedule. Put a watchlist on a daily run and keep the history. There is no run-start fee, so a day when nothing changed costs nothing.

Run it on a schedule

A one-off pull answers a question; a schedule answers it every day without you. Open Schedules in the Apify Console, point a cron at this Actor, and the dataset keeps filling on its own — no server, no cron box, no babysitting. Everything here is built to be re-run: you are billed per listing delivered, and the FAQ below says exactly what a scheduled run that finds nothing new costs.

FAQ

Do I need an Etsy account or an API key?

No. Give it a search term, a shop name or a listing URL and press Run. Nothing to register, no key to paste.

How many listings can I get for one search term?

A single search term returns roughly 100 listings before Etsy's results for that exact phrase run out. That is a property of the search, not a limit we impose — which is why Expand each term with Etsy's own suggestions exists: it turns one term into dozens of related Etsy-ranked queries and sweeps a whole niche instead of one page of it. A free coverage row on every run tells you which of the two stopped you.

What am I actually charged for?

Only rows you keep. A listing that no longer resolves, a listing your price or bestseller filter excludes, an error row, a shop summary and the coverage report are all free — and there is no run-start fee, so a run that finds nothing costs nothing.

Does it give me Etsy search volumes?

No, and be careful of anything that says it does — Etsy does not publish search volumes. What you get is Etsy's own suggestion ranking, the order Etsy puts phrases in when it autocompletes for a shopper. That is a real signal, and it is reported as a rank rather than dressed up as a number of searches.

Can I get Etsy reviews or a shop's total sales?

No. Etsy does not expose review text or a shop's lifetime sales and follower counts publicly, so this does not return them and does not pretend to. What you do get is a shop profile aggregated from that shop's listings: price range and median, total favourites, bestseller count, categories and most-used tags.

Can I export to CSV, JSON or Excel?

Yes. Every run writes a dataset you can export in one click from the Console, or pull from the API as JSON, CSV, XLSX or JSONL.


Something wrong, or a field you need that is missing? Open an issue on the Issues tab — it is read and it gets fixed. If this saved you time, a rating on the Store page helps the next person find it.