mcpField
E
etsy-api

etsy-api

github.com/j-dturnerOther679 installsUpdated 40w ago
Repository

About etsy-api

etsy-api is a skill for reading and modifying Etsy shop resources through Etsy Open API v3. It includes reference documentation and scripts for authenticated, rate-limit-aware requests, OAuth setup, and webhook verification.

Key features

  1. 01Manage listings, inventory, and media
  2. 02Read and update shop settings
  3. 03Access receipts and taxonomy data
  4. 04Create and manage webhooks
  5. 05Use scripts for requests and OAuth
  6. 06Verify webhook signatures

Use cases

  1. 01Update listing details or inventory
  2. 02Retrieve shop orders and settings
  3. 03Set up OAuth tokens for scoped endpoints
  4. 04Validate incoming webhook signatures

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/j-dturner/etsy-api-skill --skill etsy-api

After installing, type/etsy-apiin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
examples/
list_active_listings.py
references/
00_overview.md
01_skill_standard.md
02_authentication.md
03_request_standards.md
04_rate_limits.md
05_webhooks.md
06_definitions.md
07_openapi_spec.md
08_common_workflows.md
09_error_handling.md
10_scopes.md
11_terms_and_policies.md
references/openapi/
README.md
scripts/
etsy_cli.py
etsy_http.py
fetch_openapi_spec.py
oauth_pkce.py
openapi_search.py
webhook_verify.py

Details

From the project README

Etsy Open API v3 Skill

Use this skill when you need to read or modify Etsy shop resources using Etsy Open API v3, including:

  • Listings: create drafts, update listing metadata, upload images/files, manage videos, update inventory/offerings
  • Shop: retrieve/update shop settings, shop sections, shipping profiles, processing profiles, return policies
  • Receipts/orders: retrieve receipts and transactions, post-purchase workflows
  • Taxonomy: seller/buyer taxonomy nodes and properties
  • Webhooks: create/rotate endpoints, subscribe to events, verify signatures

This skill package includes reference docs and scripts to make correct, rate-limit-aware requests.

Authentication model (critical)

Etsy uses:

  • API key header on all requests
  • OAuth 2.0 user tokens (Authorization Code + PKCE) for scoped/private endpoints
Required headers

All requests must include:

  • x-api-key: <ETSY_KEYSTRING>:<ETSY_SHARED_SECRET>

Scoped endpoints additionally require:

  • Authorization: Bearer <ETSY_OAUTH_USER_ID>.<ETSY_OAUTH_ACCESS_TOKEN>

Note: Etsy’s Bearer token format includes the numeric user id, a dot (.), and then the access token.

See:

  • references/02_authentication.md
  • references/03_request_standards.md

Rate limits (must follow)

Etsy enforces per-application rate limits:

  • QPS (queries per second)
  • QPD (queries per day) using a rolling 24-hour sliding window

When you receive HTTP 429, honor the retry-after header and use exponential backoff.

See:

  • references/04_rate_limits.md

Scripts you can run (code_execution)

All scripts are under skills/etsy-api/scripts/.

1) Make requests safely

Use the CLI to perform an arbitrary request with proper headers:

python skills/etsy-api/scripts/etsy_cli.py request GET /v3/application/listings?state=active

You can pass a body for POST/PUT with --data (JSON) or --form (x-www-form-urlencoded).

2) OAuth helpers (PKCE + token exchange)

Generate a PKCE verifier/challenge and an authorization URL:

python skills/etsy-api/scripts/oauth_pkce.py auth-url --scopes "listings_r listings_w shops_r shops_w"

Exchange an authorization code for tokens:

python skills/etsy-api/scripts/oauth_pkce.py exchange-code --code "<AUTH_CODE>"

Refresh a token:

python skills/etsy-api/scripts/oauth_pkce.py refresh-token
3) Webhook verification

Verify a webhook signature locally:

python skills/etsy-api/scripts/webhook_verify.py verify --secret "$ETSY_WEBHOOK_SIGNING_SECRET" --headers-json headers.json --body-file body.json

How to use this skill effectively

  1. Prefer reading references/ for policy, rate limits, and authentication details before coding.
  2. Use scripts/etsy_cli.py for exploratory calls and to validate request shapes.
  3. Cache responses where appropriate to reduce QPS/QPD usage.
  4. Be careful when testing: follow Etsy’s API testing policy (draft listings, test prices, etc.). See references/11_terms_and_policies.md.

Safety and compliance

  • Never print or log secrets (shared secret, access token, refresh token).
  • Avoid creating “real” listings/orders during testing; follow Etsy testing policy guidance.
  • If uncertain about an endpoint’s parameters, consult the OpenAPI reference site or the OpenAPI spec.

Comments

Markdown supported