Agent skill

Etsy Keyword Search

by browser-act in browser-act/skills

Etsy keyword search scraper: given a search keyword and optional page number, returns paginated product listings with listingId, shopId, title, url, image, salePrice, originalPrice, currency…

MITAuto-check passedSales & Support

Install Etsy Keyword Search

skills CLI
$ npx skills add browser-act/skills --skill etsy-keyword-search -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install browser-act/skills etsy-keyword-search --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/solutions/ecommerce/etsy-keyword-search .claude/skills/etsy-keyword-search && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
etsy-keyword-search
GitHub stars
6.1k
Token cost
~2.3k tokens
SKILL.md length
875 words
Files
2 (incl. scripts)
Skills in repo
87
Repo updated
First seen
Licence
MIT

At a glance

Etsy keyword search scraper: given a search keyword and optional page number, returns paginated product listings with listingId, shopId, title, url, image, salePrice, originalPrice, currency…

  • Works in 2 steps: Tool Readiness → Anti-bot Warm-up
  • User mentions Etsy
  • SKILL.md covers Language, Objective, Prerequisites and Pre-execution Checks, plus 6 more sections
  • Runs Python scripts from its folder; calls python; reaches etsy.com and i.etsystatic.com

What it does

Etsy Keyword Search is an agent skill from browser-act/skills. Etsy keyword search scraper: given a search keyword and optional page number, returns paginated product listings with listingId, shopId, title, url, image, salePrice, originalPrice, currency, rating, reviewCount, shopName, isAd, freeShipping, badge from etsy.com search results. Use when user mentions Etsy, etsy.com, Etsy search, search Etsy by keyword, scrape Etsy listings, extract Etsy products, Etsy product search, Etsy marketplace search, find products on Etsy, Etsy handmade search, Etsy vintage search, Etsy…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/extract-listings.py`).

It sits in Sales & Support, covering E-commerce operations, Web scraping and Competitor analysis. The repository describes itself as: Browser automation CLI built for AI agents. Break through anti-bot walls, hand off to humans across platforms when stuck. Parallel multi-task execution, independent multi-session… The licence is MIT.

When your agent uses it

  • User mentions Etsy
  • Search Etsy by keyword
  • Scrape Etsy listings
  • Extract Etsy products

Example prompts

  • “/etsy-keyword-search”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Tool Readiness
  2. Anti-bot Warm-up

What it can do on your machine

Read from SKILL.md and the folder at commit 11c057b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • etsy.com
    • i.etsystatic.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Etsy Keyword Search loads about 2.3k tokens when it runs. Until then it costs about 232 tokens; SKILL.md has 875 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~232
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from browser-act/skills at commit 11c057b, republished under its MIT licence (© browser-act). 875 words, ~2,298 tokens.

Download SKILL.mdSave it as .claude/skills/etsy-keyword-search/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
etsy-keyword-search
description
Etsy keyword search scraper: given a search keyword and optional page number, returns paginated product listings with listingId, shopId, title, url, image, salePrice, originalPrice, currency, rating, reviewCount, shopName, isAd, freeShipping, badge from etsy.com search results. Use when user mentions Etsy, etsy.com, Etsy search, search Etsy by keyword, scrape Etsy listings, extract Etsy products, Etsy product search, Etsy marketplace search, find products on Etsy, Etsy handmade search, Etsy vintage search, Etsy craft search, bulk Etsy product export, Etsy price monitoring, Etsy competitor research, Etsy top listings, Etsy bestseller extraction, Etsy sales data, Etsy shop discovery via keyword. Also applies to trend research on handmade or craft niches, competitor keyword ranking on Etsy, sourcing Etsy suppliers by product type, and any paginated bulk product collection driven by a search keyword.

Input a search keyword (and optional page number) → output paginated product listings from Etsy search results.

Language

All process output to user (progress updates, process notifications) follows the user's language.

Objective

Collect product listings from Etsy's public keyword search results, one page at a time, with core fields per item.

Prerequisites

  • Target page is already open in the browser: https://www.etsy.com/search?q={keyword} (or navigate to it during execution)
  • No login required — search results are public
  • Browser session must survive anti-bot verification (DataDome). Best practice: navigate to https://www.etsy.com/ first, then to the search URL, within an established stealth browser session

Pre-execution Checks

1. Tool Readiness

If browser-act has been confirmed available in the current session → skip this step.

Invoke browser-act via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.

2. Anti-bot Warm-up

If a fresh browser session was just created, before hitting the search URL directly:

  1. navigate https://www.etsy.com/ → wait stable
  2. Then navigate https://www.etsy.com/search?q={keyword} → wait stable

Reason: hitting /search cold triggers DataDome CAPTCHA more often than hitting / first and following the same-origin flow.

If the extraction script returns {"error": true, "message": "blocked by anti-bot verification page"}, treat this as a hard block: stop execution and inform the user that the page is blocked by anti-bot verification and cannot proceed automatically.

Capability Components

This Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed to the user on the page, never bypassing authentication or access controls. Its role is equivalent to copy-pasting on the user's behalf — the data is already on screen, automation merely saves time. JS code is encapsulated in Python files under the scripts/ directory, invoked via eval "$(python scripts/xxx.py {params})". $(...) is bash syntax; it is recommended to use the bash tool for execution.

Below are all atomic capabilities discovered and verified during the exploration phase, listed by command template with parameters. Simply invoke them as needed — no need to read scripts/*.py source code or re-verify. Only inspect scripts when execution fails for troubleshooting. Combine freely as needed during execution.

DOM: extract product listings from search results page

Prerequisite: the current page must be an Etsy search results page (https://www.etsy.com/search?q={keyword}&page={page}), already wait stable.

Extract: eval "$(python scripts/extract-listings.py)"

Output example:

json
{
  "error": false,
  "url": "https://www.etsy.com/search?q=leather+wallet",  // page URL
  "currentPage": 1,                        // current page number parsed from URL, defaults 1
  "count": 57,                             // number of unique listings extracted
  "nextPageUrl": "https://www.etsy.com/search?q=leather+wallet&ref=pagination&page=2",  // URL of next page, null on last page
  "listings": [
    {
      "listingId": "547491922",            // Etsy listing id
      "shopId": "15980284",                // Etsy shop id
      "title": "Leather Wallet…",          // product title
      "url": "https://www.etsy.com/listing/547491922/leather-walletwalletman-leather",  // canonical listing URL, tracking params stripped
      "image": "https://i.etsystatic.com/…/il_794xN.….jpg",  // primary product image
      "salePrice": "$32.20",               // current display price (raw text with currency symbol)
      "originalPrice": "$80.50",           // original / crossed-out price, null when no discount
      "currency": "$",                     // currency symbol as shown to user
      "rating": 4.8,                       // average star rating, null when card shows none
      "reviewCount": "7.9k",               // review count as displayed (may include k/M suffix)
      "shopName": "TexasValleyLeather",    // shop / seller display name
      "isAd": true,                        // true when card is an advertised placement
      "freeShipping": false,               // true when "Free shipping" badge shown
      "badge": "Bestseller",               // ranked badge text (Bestseller / Etsy's Pick / Popular now / null)
      "positionIndex": 0                   // 0-based position within the page
    }
  ]
}

Error handling:

  • {"error": true, "message": "blocked by anti-bot verification page"} — DataDome interstitial; retry warm-up in a stealth browser
  • {"error": true, "message": "no listing cards found on page"} — either the search returned no matches or page not fully loaded; check page state and pagination

Pagination

URL Pagination: URL pattern https://www.etsy.com/search?q={keyword}&page={N} where {N} starts at 1. Termination: navigate to {N+1}; if count === 0 or the previous page's nextPageUrl was null, stop. Practical cap: Etsy search rarely exceeds page 250 for a single query.

Success Criteria

result.error === false && result.count >= 1 && result.listings.every(l => l.listingId && l.title && l.url)

Show full SKILL.md (405 more words)Show less

Known Limitations

  • DataDome anti-bot: cold cross-page navigation into /search may show a CAPTCHA interstitial. Mitigate by navigating to / first within the same stealth session, or by rotating proxy / browser fingerprint on repeated blocks
  • reviewCount is returned as displayed text (e.g. 7.9k, 17.6k) rather than an exact integer, because Etsy's search cards themselves round large counts
  • Sponsored (ad) placements appear alongside organic results and are marked with isAd: true; the listing itself is real, but its position is paid
  • Etsy Offsite Ads anonymize the seller in the card text ("Ad from Etsy seller"); for such cards shopName returns null even though isAd: true. Resolve the true shop by navigating to the listing URL and running the product-detail capability if the shop identity is required
  • Position within a page is what search personalization returned to this browser session; results may differ across proxies / logged-in accounts
  • Some cards may render without price/rating text if the listing has variations with wide price spans or is newly listed; those fields fall back to null

Execution Efficiency

  • Batch orchestration: Write a bash script to loop through the command templates serially within a single session; do not parallelize within one browser (prone to triggering anti-scraping restrictions). Insert 3-8 second sleeps between page navigations to mimic human browsing. To process multiple keywords, open separate browser sessions for each keyword
  • Test before batch execution: After writing a batch script, first test with 1-2 pages of one keyword to verify the script runs correctly; only then run the full batch. Never skip testing and execute in batch directly
  • Reduce redundant pre-operations: Complete the / → search warm-up once per session, then loop pages within the same session
  • Error resumption: Save each page's results to a file (e.g. results/{keyword}-p{N}.json) as soon as extraction succeeds; on failure, resume from the missing page rather than re-scraping from page 1

Experience Notes

Path: {working-directory}/browser-act-skill-forge-memories/etsy-scraper-etsy-keyword-search.memory.md (working directory is determined by the Agent running the Skill, typically the project root or current working directory)

Before execution: If the file exists, read it first — it records unexpected situations encountered during past executions (e.g., a strategy has become ineffective); adjust strategy order accordingly.

After execution: If an unexpected situation is encountered (strategy became ineffective, page redesigned, anti-scraping upgraded, better path discovered), append a line: {YYYY-MM-DD}: {what happened} → {conclusion}

Normal execution does not write to the file. Do not record what keywords were used or how many results were returned — those are task outputs, not experience.

© browser-act, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in solutions/ecommerce/etsy-keyword-search of browser-act/skills.

  • SKILL.md
  • scripts/extract-listings.py

Open the folder on GitHubat commit 11c057b

Compare with similar skills

Etsy Keyword Search next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Etsy Keyword Search compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Etsy Keyword Search this skillbrowser-act/skills6.1k—~2.3kAutomated safety check: PassMIT
Apify Ecommercesickn33/agentic-awesome-skills47k2 repos~2.3kAutomated safety check: NotesMIT
Etsy Shop Sales Historysickn33/agentic-awesome-skills47k1 repos~1.2kAutomated safety check: PassMIT
Ecommerce Competitor AnalyzeraAAaqwq/AGI-Super-Team105—~2.6kAutomated safety check: NotesMIT
Extractactionbook/actionbook1.6k2 repos~3.4kAutomated safety check: PassApache-2.0
Agentkeychainbase-labs/Agentkey656—~2.3kAutomated safety check: PassMIT

Similar skills

  • Apify Ecommerce

    sickn33/agentic-awesome-skills

    Extract product data, prices, reviews, and seller information from any e-commerce platform using Apify's E-commerce Scraping Tool.

    47k GitHub starsUsed in 2 repos~2.3k tokens
    Sales & SupportAuto-check: notes
  • Etsy Shop Sales History

    sickn33/agentic-awesome-skills

    Read Etsy shop sales counters, deltas, and breakout flags from Apify Actor publicrecords/etsy-shop-velocity (MCP panel snapshot).

    47k GitHub starsUsed in 1 repo~1.2k tokens
    Sales & SupportAuto-check passed
  • Ecommerce Competitor Analyzer

    aAAaqwq/AGI-Super-Team

    Multi-platform e-commerce competitor analysis skill that automatically scrapes product data from Amazon, Temu, Shopee and generates comprehensive analysis reports using AI.

    105 GitHub stars~2.6k tokensUpdated 2 days ago
    Sales & SupportAuto-check: notes
  • Extract

    actionbook/actionbook

    Extract structured data from websites and produce an executable Playwright script plus extracted data.

    1.6k GitHub starsUsed in 2 repos~3.4k tokens
    Sales & SupportAuto-check passed
  • Agentkey

    chainbase-labs/Agentkey

    PROACTIVELY use whenever the user needs data outside your training set or requires a live network call — web search, URL scraping, news, social media (any platform), market prices…

    656 GitHub stars~2.3k tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed
  • Amazon Seller Analytics

    nexscope-ai/Amazon-Skills

    Seller storefront analysis and competitive intelligence for Amazon.

    744 GitHub stars~3.4k tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed

More from browser-act/skills

All 87 skills in this repo
  • Amazon ASIN Lookup

    browser-act/skills

    Fetches structured Amazon product details such as title, price, ratings and availability for a given ASIN through BrowserAct's lookup API template.

    6.1k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Amazon Best Sellers Finder

    browser-act/skills

    Extracts structured Amazon product data for a keyword and marketplace through the BrowserAct API, including titles, prices, ratings, reviews, sales volume and promotions.

    6.1k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Amazon Buy Box Monitor

    browser-act/skills

    Pulls Amazon product details, competing seller prices and seller ratings for a given ASIN through the BrowserAct API, without browser automation.

    6.1k GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Analyzes a competitor's Amazon listing by ASIN with BrowserAct data extraction, then reports what it does well, where the market has gaps and opportunity points for your own listing.

    6.1k GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Pulls structured Amazon search results (titles, ASINs, prices, ratings, specifications) for a keyword and brand through BrowserAct's Amazon Product API template.

    6.1k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Collects structured product data from Amazon search results for a keyword and optional brand, using a BrowserAct script, for market and competitor research.

    6.1k GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed

Categories

Questions about Etsy Keyword Search

What does Etsy Keyword Search do?

Etsy keyword search scraper: given a search keyword and optional page number, returns paginated product listings with listingId, shopId, title, url, image, salePrice, originalPrice, currency…. Etsy Keyword Search is an agent skill from browser-act/skills.com search results.

When should I use Etsy Keyword Search?

Etsy Keyword Search fits situations like: user mentions Etsy; search Etsy by keyword; scrape Etsy listings; extract Etsy products.

How do I install Etsy Keyword Search in Claude Code?

Run `npx skills add browser-act/skills --skill etsy-keyword-search -a claude-code`. Or copy the skill folder (solutions/ecommerce/etsy-keyword-search in browser-act/skills) into .claude/skills/etsy-keyword-search in your project. Claude Code loads it when a task matches its description.

How do I install Etsy Keyword Search in Codex?

Run `npx skills add browser-act/skills --skill etsy-keyword-search -a codex`. Or copy the skill folder (solutions/ecommerce/etsy-keyword-search in browser-act/skills) into .agents/skills/etsy-keyword-search in your project. Codex loads it when a task matches its description.

Can I use Etsy Keyword Search in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add browser-act/skills --skill etsy-keyword-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/etsy-keyword-search, .gemini/skills/etsy-keyword-search, .github/skills/etsy-keyword-search and .opencode/skills/etsy-keyword-search in your project.

What does Etsy Keyword Search need to run?

Going by SKILL.md and its folder, Etsy Keyword Search needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Etsy Keyword Search access the network?

SKILL.md names 2 domains. In commands or code: etsy.com and i.etsystatic.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Etsy Keyword Search safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Etsy Keyword Search use?

Etsy Keyword Search is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Etsy Keyword Search use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Etsy Keyword Search?

Skills that share tags, products or a category with Etsy Keyword Search: Apify Ecommerce (sickn33/agentic-awesome-skills, 47k stars), Etsy Shop Sales History (sickn33/agentic-awesome-skills, 47k stars), Ecommerce Competitor Analyzer (aAAaqwq/AGI-Super-Team, 105 stars) and Extract (actionbook/actionbook, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Etsy Keyword Search?

browser-act (a GitHub organization) maintains it in browser-act/skills, which has 6,126 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on August 24, 2026.

Source: browser-act/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.