Etsy Keyword Research Tool: Sales, Competition & Top Tags avatar

Etsy Keyword Research Tool: Sales, Competition & Top Tags

Pricing

from $4.00 / 1,000 keyword scoreds

Go to Apify Store
Etsy Keyword Research Tool: Sales, Competition & Top Tags

Etsy Keyword Research Tool: Sales, Competition & Top Tags

Turn a seed into hundreds of Etsy long-tail keywords, each scored on sales rate, recent sales, competition and buyer intent, with the tags top listings use. 16 countries in their own language. No login or subscription. $4 per 1,000 keywords.

Pricing

from $4.00 / 1,000 keyword scoreds

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

12 days ago

Last modified

Share

Etsy Keyword Research Tool: long-tail keywords scored on sales, competition and top tags

Etsy Keyword Research turns a product idea into hundreds of long-tail Etsy keywords and scores each one on what shoppers are doing right now. For every keyword you get how fast its top listings sell, how many of them sold this week, how entrenched the competition is, where the niche prices, and the tags the top listings share. Each run also builds a visual dashboard you can hand to a client or a team.

  • Measured, not estimated. Review and favorite counts, last sale dates, the "bought in the last 24 hours" message, Bestseller and Star Seller badges, shop sales and listing counts come straight from Etsy. Every keyword row carries its top 10 listings as evidence.
  • Hundreds of keywords per seed. Each seed is expanded through Etsy's own autosuggest, plus the seed followed by every letter A–Z, so leather wallet returns leather wallet slim, leather wallet bi fold, leather wallet engraved name and so on. Up to 500 keywords per seed and 50 seeds per run.
  • The tags winners use. The 13 tags of every top listing are counted per keyword, and the dashboard's listing builder turns your best keywords into a title and 13 tags.
  • 16 Etsy markets. US, UK, Canada, Australia, Germany, France, the Netherlands, Spain, Italy and more, each with its own suggestions in its own language and the results shoppers there see.
  • Pay per keyword, no subscription. $4 per 1,000 keywords. No Etsy account, API key, browser extension or proxy setup. Export to JSON, CSV, Excel or Google Sheets, or pull it through the API.

Dashboard overview: summary cards, shortlists, opportunity map and keyword details

Scope: This actor researches keywords. For every listing of a search (thousands per keyword, with sales dates and tags), use Etsy Scraper. For a known shop's catalog and reviews, use Etsy Shop Scraper.

What can you do with it?

GoalHow
Find underserved nichesAdd 10–50 seeds, sort by opportunityScore, and filter to small niches (listings under 10,000) that sell.
Write titles and tags that rankDraft them in the dashboard's listing builder from your best keywords and the tags top sellers agree on.
Check if a new shop can break inLook for newcomers rank in the verdict: a high newListingsPct means Etsy still ranks listings under a year old.
Print-on-demand and digital researchSweep many seeds and filter by digitalPct, price and competition to find designs worth making.
Track a niche week by weekSchedule a task and compare reviewsPerMonth, soldLast7DaysPct and opportunityScore per keyword over time.
Expand to another countryRun the same seeds in the seller's language for each market and compare demand, competition and prices.
Client reports for agenciesSend each client the run's dashboard.html, or print it to PDF.
Feed your own tools or AI agentsPull the dataset through the API, or connect Make, Zapier, n8n or Google Sheets.

How it compares

What you needEtsy Keyword ResearchTypical keyword tools and subscriptions
Keywords per seedUp to 500 (autosuggest plus A–Z expansion)Autosuggest only, often capped per run
Demand signalSales rate from reviews, 7/30-day and 24-hour salesModeled search volume or sales estimates
Evidence behind a scoreTop 10 listings per keyword with reviews, last sale, shop salesA score, sometimes niche averages
Tags of the top listingsCounted per keyword, plus a title and 13-tag builderRarely, or one listing at a time
Countries16 markets, local language suggestions and resultsUsually US only
Raw dataEvery field as JSON, CSV, Excel or APILimited exports, mostly dashboards
Price$4 per 1,000 keywordsMonthly plan

Etsy doesn't publish keyword search volume, so every "searches per month" number you see elsewhere is a model. This actor reports what Etsy does publish and shows the listings behind every number, so you can check any score yourself.

Quick start

  1. Click Try for free and sign in to Apify.
  2. Add a seed to Seed keywords, for example leather wallet. Short product ideas work best.
  3. Pick the Country you sell to. Write seeds in that country's language (geldbörse for Germany).
  4. Click Start. A 50-keyword run takes about 1.5 minutes and costs $0.20.
  5. Open the Output tab: the Dashboard link opens the visual report, and the dataset has every number.
{
"seeds": ["leather wallet"],
"country": "US",
"maxKeywordsPerSeed": 50
}

The dashboard

Every run saves dashboard.html to its key-value store and links it in the Output tab. It's one self-contained file that works offline and on a phone, so you can download it, email it or print it to PDF.

  • Summary cards: keywords scored, "Go" verdicts, easy wins (demand 50+ and competition under 40), the typical price and the best opportunity. They follow the filters.
  • Filters: search, seed, grade, verdict, intent, maximum competition, maximum listings, price range and signals such as "small niche" or "newcomers rank". Every section of the page follows them.
  • Shortlists: ready answers to "what should I make?": easy wins, selling now, small niches and biggest demand.
  • Opportunity map: every keyword by demand and competition with the sweet spot shaded, or by sales rate and listings in search. Hover a dot for its numbers, click it for details.
  • Keyword details: the score breakdown; demand, competition and price figures with where each comes from; the price range; the tags the top listings share; and the top 10 listings you'd compete with, with reviews, last sale and shop sales, each linked to Etsy.
  • Listing builder: click keywords into a title (140-character counter) and tags into a set of 13 (20 characters each), then copy both.
  • Keyword table: sortable, with checkboxes to focus the listing builder and the export. Copy keywords and Export CSV use the checked or filtered keywords.

Keyword details: demand, competition and price figures, shared tags and the top listings

Keyword table with grade, opportunity, demand, competition, listings, reviews per month, sales, price and verdict

The page shows the 2,000 best keywords of a run; the dataset always has all of them.

What data can you extract?

Every row is one keyword. Demand, badge and shop figures come from the keyword's top organic listings (10 by default). Price, sale and ad figures come from the first results page.

GroupFields
Keywordkeyword, country, seed, source (seed, suggestion, alphabet, depth-2), suggestPosition, intent, searchUrl
ScoresopportunityScore, grade, demandScore, competitionScore, verdict
DemandreviewsPerMonth, favoritesPerMonth, soldLast7DaysPct, soldLast30DaysPct, inDemandPct, boughtLast24hTotal, avgFavorites; cart counts medianInCart, avgInCart, totalInCart, withCartsPct
Competitionlistings, bestsellerPct, starSellerPct, newListingsPct, medianListingAgeDays, medianShopSales, medianShopReviews, avgShopRating, medianListingReviews, adsOnFirstPage, adDensityPct
PricetypicalPriceLow, typicalPriceHigh, medianPrice, avgPrice, minPrice, maxPrice, onSalePct, priceBuckets
Nichecategory, subcategory, categoryPath, categoryFocusPct, digitalPct, personalizablePct, handmadePct, vintagePct, freeShippingPct, etsysPickPct
TagstopTags (tag and count), topTagsText
EvidencetopListings: rank, title, URL, price, inCartCount, boughtLast24h, reviews, favorites, lastSaleAt, createdAt, isBestseller, shopName, shopSales, all 13 tags; sampledListings, organicOnFirstPage

How the score works

All scores are 0–100 and computed from the row's own numbers:

  • Demand = 30 × reviews per month (median of the top listings, each listing's reviews over its age; log scale, 20 = full) + 15 × favorites per month (log scale, 200 = full) + 20 × share sold in the last 7 days + 10 × share sold in the last 30 days + 15 × share with Etsy's "bought in the last 24 hours" message + 10 × autosuggest position. Reviews follow orders, so reviews per month tracks how fast a listing sells.
  • Competition = 40 × listing count (log scale, 1M = full) + 15 × Bestseller share + 15 × Star Seller share + 20 × median shop sales (log scale, 100k = full) + 10 × ad share on page 1, then reduced by up to 30% when new listings rank.
  • Opportunity = 0.55 × Demand + 0.45 × (100 − Competition).

Grades: A 80+, B 65–79, C 50–64, D 35–49, F below 35. The verdict (Go, Maybe, Risky, Skip) agrees with the scores and adds tags such as selling daily, newcomers rank, small niche, price war, ad heavy, digital and broad search.

Healthy, busy niches score mostly C, and A is rare. Compare keywords within a run rather than chasing a grade.

Research at scale

Sweep many seeds in one run

Up to 50 seeds and 500 keywords per seed. Keywords found by several seeds are scored once. A run does about 2,000 keywords per hour; for bigger runs, raise the run timeout in the run options.

Track niches with scheduled runs

  1. Set your seeds and country, then click Save as a new task.
  2. In Apify Console, go to Schedules, click Create new, pick a time (for example weekly on Monday at 06:00) and add the task. See Schedules.
  3. Connect Google in the task's Integrations tab to append every run to Google Sheets, or use Make, Zapier or n8n.

Every row has keyword, country and scrapedAt, so runs join easily:

  • Demand trend: reviewsPerMonth and soldLast7DaysPct per keyword over time.
  • Rising keywords: keywords whose opportunityScore climbs run after run.
  • New keywords: keywords that appear in Etsy's autosuggest for the first time.
  • Saturation: listings and newListingsPct per keyword over time.
Use caseFrequencyCron expression
Niche and trend trackingWeekly (Monday)0 6 * * 1
Seasonal launches (Q4, holidays)Daily0 6 * * *
Quarterly market review per countryEvery 3 months0 6 1 */3 *

One task per market

Create a task per country with the seeds in that market's language, for example ["leather wallet"] for US and GB, ["geldbörse leder"] for DE, and ["portefeuille cuir"] for FR. Prices are always in USD, so markets compare directly.

Use it from code

curl -X POST "https://api.apify.com/v2/acts/epicscrapers~etsy-keyword-research/run-sync-get-dataset-items?maxTotalChargeUsd=1" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"seeds": ["leather wallet"], "country": "US", "maxKeywordsPerSeed": 100}'

maxTotalChargeUsd caps the cost of the run: the actor stops exactly at the limit and keeps everything collected. The dashboard is at https://api.apify.com/v2/key-value-stores/<defaultKeyValueStoreId>/records/dashboard.html. The actor also works with the Apify API clients for JavaScript and Python.

Input reference

FieldTypeDefaultEffect
seedsArray of stringsRequiredProduct ideas to expand, up to 50. Write them in the country's language.
countryString"US"Etsy market: US, GB, CA, AU, IE, NZ, DE, AT, CH, FR, BE, NL, ES, IT, PL, PT. Prices stay in USD.
maxKeywordsPerSeedInteger50Scored keywords per seed, 1–500. One row and one charge each.
alphabetExpansionBooleantrueAlso expand the seed followed by each letter A–Z. Several times more long-tail keywords.
depthInteger12 also expands every suggestion. Wider, and drifts further from the seed.
listingsPerKeywordInteger10Top organic listings opened per keyword, 3–20. More gives steadier averages and takes longer; the price stays the same.

Ready-to-run examples

Sweep a whole product line for gaps

{
"seeds": ["leather wallet", "leather belt", "leather keychain", "leather card holder", "leather journal"],
"maxKeywordsPerSeed": 200
}

Up to 1,000 keywords for $4. In the dashboard, press the small niche filter and sort by opportunity.

Find print-on-demand designs

{
"seeds": ["funny cat shirt", "teacher sweatshirt", "dog mom hoodie"],
"maxKeywordsPerSeed": 150
}

Sort by opportunityScore, then check typicalPriceLow–typicalPriceHigh and topTags for each design idea.

Research the German market

{
"seeds": ["geldbörse leder", "geldbörse personalisiert"],
"country": "DE",
"maxKeywordsPerSeed": 100
}

Suggestions, categories and tags come back in German; prices in USD.

Go deep on one niche

{
"seeds": ["engraved wallet"],
"depth": 2,
"maxKeywordsPerSeed": 300,
"listingsPerKeyword": 15
}

Depth 2 expands every suggestion again, and 15 listings per keyword give steadier averages.

Analyze the results with ChatGPT or Claude

Export the dataset as CSV (the Opportunities or Top tags view keeps it small) and attach it to a chat. Some prompts to start with:

Pick a niche. "These are scored Etsy keywords. Group them into product ideas, and for each idea give the best three keywords by opportunityScore, their reviewsPerMonth, listings and typicalPriceLow–typicalPriceHigh. Recommend one idea for a new shop and explain why."

Write a listing. "Using the keywords with the highest opportunityScore and the topTagsText column, write an Etsy title for [your product] that starts with the strongest phrase, and 13 tags of at most 20 characters, all different."

Plan a launch abroad. "These are the same seeds researched in the US and Germany. Compare demand, competition and price per keyword pair, and list the keywords where Germany looks easier."

Output

Results go to the run's default dataset, with the views Opportunities, Demand, Competition and Top tags, and to dashboard.html in the key-value store.

This is a real row from a leather wallet run on October 11, 2026, with fields, topListings and topTags shortened:

{
"keyword": "leather wallet engraved name",
"country": "US",
"seed": "leather wallet",
"source": "alphabet",
"suggestPosition": 6,
"opportunityScore": 65,
"grade": "B",
"demandScore": 91,
"competitionScore": 66,
"verdict": "Go: real demand you can compete for (selling daily, selling now, price war)",
"listings": 11498,
"intent": "specific",
"categoryPath": "Bags & Purses > Wallets & Money Clips > Wallets",
"reviewsPerMonth": 26.03,
"favoritesPerMonth": 101.9,
"soldLast7DaysPct": 100,
"soldLast30DaysPct": 100,
"inDemandPct": 80,
"boughtLast24hTotal": 43,
"medianInCart": 1.5,
"bestsellerPct": 90,
"starSellerPct": 70,
"newListingsPct": 30,
"medianListingAgeDays": 1140,
"medianShopSales": 23067,
"adsOnFirstPage": 14,
"organicOnFirstPage": 22,
"typicalPriceLow": 18.8,
"typicalPriceHigh": 32.55,
"medianPrice": 19.89,
"onSalePct": 100,
"digitalPct": 0,
"sampledListings": 10,
"topTags": [
{
"tag": "engraved wallet",
"count": 7
},
{
"tag": "gift for dad",
"count": 7
},
{
"tag": "anniversary gift",
"count": 6
}
],
"topListings": [
{
"rank": 1,
"listingId": 4567689735,
"title": "Ultra Soft Leather Wallet with Zip, Snap Buttons, Premium Italian Vegetable Tanned Card Wallet with Custom Engraved",
"url": "https://www.etsy.com/listing/4567689735",
"price": 56,
"inCartCount": 193,
"boughtLast24h": null,
"reviews": 1,
"favorites": 14,
"lastSaleAt": "2026-10-08T22:14:37.000Z",
"createdAt": "2026-09-03T00:45:44.000Z",
"isBestseller": false,
"shopName": "BighornHide",
"shopSales": 13,
"tags": ["Leather Fanny Pack", "Cowboy Belt Bag", "Men Sling Bag", "Full Grain Leather", "…"]
}
],
"searchUrl": "https://www.etsy.com/search?q=leather%20wallet%20engraved%20name&ship_to=US",
"scrapedAt": "2026-10-11T16:37:35.494Z"
}

Notes on fields

  • Fields ending in Pct are shares of the sampled top listings (sampledListings, 10 by default), except adDensityPct, onSalePct and etsysPickPct, which cover the first results page.
  • reviewsPerMonth and favoritesPerMonth are medians over the top listings of each listing's total reviews (or favorites) divided by its age in months, at least one month. Reviews come from a share of buyers, so the rate tracks sales without being a sales count.
  • Cart counts (medianInCart and related) are what Etsy's app reports. Since October 10, 2026 Etsy reports far lower numbers than before (most listings 0–3), so they aren't part of the score.
  • inDemandPct and boughtLast24hTotal count Etsy's "N people bought this in the last 24 hours" message, which Etsy shows only on some in-demand listings. Other listings may also have sold that day.
  • listings is Etsy's result count for the search, which includes loose matches.
  • priceBuckets are Etsy's price filter steps for the search, the same $25 / $50 / $75 for most searches. typicalPriceLow–typicalPriceHigh (the middle half of page-1 prices) is the better guide to where a niche sells.
  • suggestPosition is the keyword's position in the autosuggest list that surfaced it (1 = first).
  • Prices are in US dollars for every country. Category names and tags are in the country's language.
  • Missing values are null. Every row has scrapedAt in UTC.

FAQ

Why no search volume?

Etsy doesn't publish it, so tools that show one are estimating. Review rates and recent sales show demand that is turning into orders, and suggestPosition shows how prominently Etsy suggests the keyword.

Why fewer keywords than my limit?

The limit is a maximum. Etsy suggests only so many searches for some seeds. Keywords without listings, and keywords whose top listings couldn't be loaded, are skipped and not charged. Turn on A–Z expansion, use depth 2 or add related seeds to get more.

How fresh is the data?

Every run reads Etsy live; nothing is cached between runs. Sales move daily, so schedule runs to follow a niche.

Does it work outside the US?

Yes, in 16 markets. Pick the country and write seeds in its language. The top listings for the same keyword differ completely between countries, so research the market you sell to.

How fast is it?

About 1.5 minutes per 50 keywords and roughly 2,000 keywords per hour. Raise the run timeout for bigger runs.

Why did my run stop early?

If the status says the spending limit was reached, the run hit its maximum cost. Everything scored before that is saved, and the dashboard covers it.

Do I need proxies, an Etsy account or an API key?

No. The actor handles connections and retries itself and doesn't log in.

The actor reads publicly visible search and listing data and no buyer data. You are responsible for how you use it, including Etsy's terms and laws such as GDPR.

Cost

Pay per scored keyword, with no subscription. Platform usage and proxies are included.

EventPricePer 1,000Charged when
Keyword scored$0.004$4A keyword is saved with its scores. Skipped and failed keywords are free.
Actor start$0.00005–Once per run (per GB of memory).
RunCost
1 seed, 50 keywords$0.20
5 seeds × 200 keywords$4
10 seeds × 100 keywords, weekly for a month$16
The same 200 keywords in 5 countries$4

Set a maximum cost per run and the actor stops exactly there. The Pricing tab always shows the current prices.

Support

Report problems or request features in the Issues tab. Include the run ID, the input and what you expected. We read every issue.

This actor is not affiliated with or endorsed by Etsy, Inc. "Etsy" is a trademark of Etsy, Inc. eRank, EverBee and Marmalead are trademarks of their respective owners; this actor is not affiliated with them.