GE

geminigeorge22/etsy-sales-mcp

Developer tools
1 stars 0 forks Quality 60 Trend 13

and data for CRMs, dashboards, research workflows, and AI assistants — live Etsy search listing rows plus shop sales counters — via Apify’s hosted MCP or the Store Actors directly.

Overview

and data for CRMs, dashboards, research workflows, and AI assistants — live Etsy search listing rows plus shop sales counters — via Apify’s hosted MCP or the Store Actors directly. Pull listing rows (title, price, shop, badges, rank) and counters with history/breakout fields through Apify MCP. This is an pin for both Actors. I maintain these Actors on Apify Store (publicrecords). This repo holds MCP / client config and a small open-source stdio proxy server (src/). Etsy Shop Sales Tracker & Scraper on Apify — daily sales / velocity for named Etsy shops. - (Claude Desktop, Cursor, or any MCP client) with the pin above - directly in Apify Console / API for pipelines, CRMs, and dashboards Auth: your own Apify token in the client when prompted. Runs are billed on your Apify account. Pay per event, billed on your Apify account. Free-plan list prices; Apify Store discounts lower them on paid plans. The Store pricing pages are the live source.

README

Etsy Search & Shop Sales MCP

Languages: English · 简体中文 · 日本語 · 한국어 · Español · Português (Brasil) · Deutsch · Français · Русский · Türkçe

Etsy search and Etsy shop sales data for CRMs, dashboards, research workflows, and AI assistants — live Etsy search listing rows plus shop sales counters — via Apify’s hosted MCP or the Store Actors directly.

Pull live Etsy search listing rows (title, price, shop, badges, rank) and Etsy shop sales counters with history/breakout fields through Apify MCP. This is an Etsy scraper / Etsy MCP pin for both Actors. Client config plus a small open-source stdio proxy server. No Actor source.

Disclosure: I maintain these Actors on Apify Store (publicrecords). This repo holds MCP / client config and a small open-source stdio proxy server (src/).

Paid Actor (tracked): Etsy Shop Sales Tracker & Scraper on Apify — daily sales / velocity for named Etsy shops.

MCP pin (both Actors)

https://mcp.apify.com/?tools=publicrecords/etsy-shop-velocity,publicrecords/etsy-search-scraper
Actor Store / status Role
Etsy Search Scraper publicrecords/etsy-search-scraper (listed) Live keyword / market / category listing rows (title, price, shop, badges, rank)
Etsy Shop Sales Tracker & Scraper publicrecords/etsy-shop-velocity (listed) Daily sales / velocity rows for named Etsy shops (counters, history, breakout)

Use either path:

  • Apify MCP (Claude Desktop, Cursor, or any MCP client) with the pin above
  • Store Actors directly in Apify Console / API for pipelines, CRMs, and dashboards

Auth: your own Apify token in the client when prompted. Runs are billed on your Apify account.

Pricing (as of Oct 28, 2026)

Pay per event, billed on your Apify account. Free-plan list prices; Apify Store discounts lower them on paid plans. The Store pricing pages are the live source.

Search: publicrecords/etsy-search-scraper (Store pricing)

Event Price
listing-row 0.4¢ per complete listing (0.34¢ on Gold and up)
actor-start 0.005¢ once per run, only when a complete listing is in hand

A run that returns no rows charges nothing. Works out of the box on Apify residential proxy (default; Apify bills proxy usage separately, with no proxy markup on our events). Or plug in your own residential proxy. Blocked pages charge no listing rows.

Tracker: publicrecords/etsy-shop-velocity (Store pricing)

Event Price
shop-row 0.3¢ per shop row (0.255¢ on Gold and up)
actor-start 0.005¢ once per run, only when the first shop row is ready

Example: 10 shops come to about 3¢ on the Free plan. No proxy required.

Tools

Live tools/list against the pin URL (Bearer Apify token). Tool names exposed:

Tool name Role
publicrecords--etsy-search-scraper Run Etsy Search Scraper (publicrecords/etsy-search-scraper)
publicrecords--etsy-shop-velocity Run Etsy Shop Sales Tracker (publicrecords/etsy-shop-velocity)
get-actor-run Get detailed information about a specific Actor run
get-dataset-items Read items from a run dataset
get-key-value-store-record Read a key-value store record
abort-actor-run Abort a running Actor run

Claude Desktop

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "etsy-sales": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server",
        "--actors",
        "publicrecords/etsy-shop-velocity,publicrecords/etsy-search-scraper"
      ],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}

Or point the Apify remote MCP URL (with the pin above) if your Claude Desktop version supports remote MCP servers.

Cursor

In Cursor MCP settings / .cursor/mcp.json:

{
  "mcpServers": {
    "etsy-sales": {
      "url": "https://mcp.apify.com/?tools=publicrecords/etsy-shop-velocity,publicrecords/etsy-search-scraper"
    }
  }
}

Sign in with Apify when Cursor prompts.

Example prompts (measured)

1) Etsy search — ceramic mug, 3 pages

Prompt: Scrape Etsy search for ceramic mug, max 3 pages (Apify residential US default).

Result (2026-10-02): SUCCEEDED in about 53 s; 36 listing rows; price, shop and title filled on 36/36. At the Oct 28 prices above, 36 rows come to about 14.4¢ on the Free plan.

First three rows (abbreviated): KJPottery $57 bestsellers; BZceramics $35.50 popular_now; Neherpottery $35 bestsellers.

2) Etsy shop sales — two named shops

Prompt: Track sales for Etsy shops OrelCeramics and Bestickend.

Result: SUCCEEDED in about 5 s; 2 shop rows; snapshot 2026-09-30. At the Oct 28 prices above, 2 shops come to about 0.6¢ on the Free plan.

shop sales_count sales_precision reviews_count rating admirers listings_active breakout snapshot_date
OrelCeramics 111 exact 34 5 252 44 false 2026-09-30
Bestickend 11400 rounded 1830 5 771 44 false 2026-09-30

Local stdio server (open source)

This repo also ships a small MCP server in src/ for clients that only run local stdio servers. It starts over stdio, connects to the hosted Apify MCP endpoint above with your own APIFY_TOKEN, and forwards tools/list and tools/call unchanged. The token is only sent in the Authorization header and is never logged.

{
  "mcpServers": {
    "etsy-sales": {
      "command": "npx",
      "args": ["-y", "github:GeminiGeorge22/etsy-sales-mcp"],
      "env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }
    }
  }
}

Or from a clone:

git clone https://github.com/GeminiGeorge22/etsy-sales-mcp.git
cd etsy-sales-mcp && npm install
APIFY_TOKEN=YOUR_APIFY_TOKEN node src/server.js

Optional env: APIFY_ACTORS (comma-separated subset of the Actors above) and APIFY_MCP_URL (full endpoint override).

Tests run against an in-memory mock server, with no network and no token: npm test. Requires Node.js 18+.

What this repo is not

  • Not Actor implementation / Docker / truth sets
  • Not a substitute for Apify Console billing screens
  • Not affiliated with Etsy, Inc.

Site hubs + tutorials

License

MIT — applies to this documentation, config and the proxy server code in src/.

Published by the publicrecords maintainer on Apify.

View the full README on GitHub

Install

npx -y @apify/actors-mcp-server --actors publicrecords/etsy-shop-velocity publicrecords/etsy-search-scraper
New to MCP? Start with the mcpskill.org guide →

Configuration

{ "mcpServers": { "etsy-sales": { "command": "npx", "args": [ "-y", "@apify/actors-mcp-server", "--actors", "publicrecords/etsy-shop-velocity,publicrecords/etsy-search-scraper" ], "env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" } } } }