Etsy Store Query API

REST API and MCP service documentation generated from server-side API definitions. Responses shown here are the direct payload returned by each API execution.

API selector
Etsy Marketplace

API overview

Search Etsy stores by keyword, category, country, status, ratings, sales, favorites, reviews, and opening date with pagination and sorting.

Try this API
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/etsy-store-query/run
MCP method
nexscope_etsy_store_query

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/etsy-store-query/run

Run an API

All filters are optional. Use searchKey to query a specific store name or URL.

Slugetsy-store-query
HeadersAuthorization: Bearer nk_...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyDirect API response payload. No data/result wrapper is added.

Status codes

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Example request

curl -X POST https://api.nexscope.ai/api/skill-api/v1/skills/etsy-store-query/run \
  -H "Authorization: Bearer nk_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "page": 1,   "pageSize": 20,   "searchKey": "Lewshop1" }'
All categories/ Etsy Marketplace
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/etsy-store-query/run

Run this API

Send a JSON request to execute this API and receive the direct response payload.

Open tester

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/api/skill-api/v1/skills/etsy-store-query/run
AuthBearer API key
Content-Typeapplication/json

Request body

NameTypeRequiredDescription
searchKeystringoptional
Store name, keyword, or Etsy store URL.
Example: Lewshop1
categorystringoptional
Primary store category.
Example: Jewelry
countrystringoptional
Store country or region.
Example: US
statusintegeroptional
Store status: 1 active, 0 inactive.
Example: 1
isRavingintegeroptional
Raving store flag: 1 yes.
Example: 1
isStarintegeroptional
Star store flag: 1 yes.
Example: 1
beginFavoritesintegeroptional
Minimum total favorites.
Example: 0
endFavoritesintegeroptional
Maximum total favorites.
Example: 10000
beginFavoritesWeeklyintegeroptional
Minimum weekly favorites.
Example: 0
endFavoritesWeeklyintegeroptional
Maximum weekly favorites.
Example: 1000
beginReviewsintegeroptional
Minimum total reviews.
Example: 0
endReviewsintegeroptional
Maximum total reviews.
Example: 10000
beginReviewsWeeklyintegeroptional
Minimum weekly reviews.
Example: 0
endReviewsWeeklyintegeroptional
Maximum weekly reviews.
Example: 1000
beginSalesintegeroptional
Minimum total sales.
Example: 0
endSalesintegeroptional
Maximum total sales.
Example: 100000
beginSalesWeeklyintegeroptional
Minimum weekly sales.
Example: 0
endSalesWeeklyintegeroptional
Maximum weekly sales.
Example: 1000
beginStoreOpenedAtstringoptional
Opening date range start in YYYY-MM-DD format.
Example: 2020-01-01
endStoreOpenedAtstringoptional
Opening date range end in YYYY-MM-DD format.
Example: 2026-01-01
sortByintegeroptional
Sort field: 8 total sales, 9 weekly sales, 10 reviews, 11 favorites.
Example: 8
sortDescintegeroptional
Sort direction: 1 descending, 0 ascending.
Example: 1
pageintegeroptional
Page number starting from 1.
Example: 1
pageSizeintegeroptional
Items per page from 1 to 100.
Example: 20

Request example

{
  "page": 1,
  "pageSize": 20,
  "searchKey": "Lewshop1"
}

Response body

Returns the Etsy store gateway payload directly.

NameTypeRequiredDescription
totalintegeroptional
Records returned on the current page.
Example: 1
storeNumintegeroptional
Total matching stores.
Example: 1
storesarrayoptional
Etsy stores.
Example: []
stores[].storeIdstringoptional
Store identifier.
Example: 123456
stores[].storeNamestringoptional
Store name.
Example: Lewshop1
stores[].storeUrlstringoptional
Etsy store URL.
Example: https://www.etsy.com/shop/Lewshop1
stores[].countryarrayoptional
Store countries or regions.
Example: []
stores[].categoryarrayoptional
Primary categories.
Example: []
stores[].salesTotalintegeroptional
Total sales.
Example: 1
stores[].salesWeeklyintegeroptional
Weekly sales.
Example: 1
stores[].reviewsintegeroptional
Review count.
Example: 1
stores[].favoritesintegeroptional
Favorite count.
Example: 1
stores[].ratingnumberoptional
Store rating.
Example: 4.8
stores[].statusintegeroptional
Store status.
Example: 1
columnsarrayoptional
Provider rendering columns.
Example: []
costTokenintegeroptional
Provider-reported token cost.
Example: 3600
errcodeintegeroptional
Upstream status code returned by the provider.
errmsgstringoptional
Upstream status message returned by the provider.
codestringoptional
Provider-specific status code.
msgstringoptional
Provider-specific status message.
messagestringoptional
Provider-specific message.
typestringoptional
Provider-specific render or payload type.
titlestringoptional
Provider-specific response title.
sourceTypestringoptional
Provider-specific source platform type.
sourceToolstringoptional
Provider-specific source tool name.
costTimeintegeroptional
Execution time reported by the upstream provider.
pageintegeroptional
Current page returned by the upstream provider.
pageSizeintegeroptional
Page size returned by the upstream provider.
pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
totalPageintegeroptional
Total page count returned by the upstream provider.
dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.

Response example

Direct response payload. No extra wrapper is added.

{
  "total": 1,
  "storeNum": 1,
  "stores": [
    {
      "storeId": "123456",
      "storeName": "Lewshop1",
      "storeUrl": "https://www.etsy.com/shop/Lewshop1",
      "country": [],
      "category": [],
      "salesTotal": 1,
      "salesWeekly": 1,
      "reviews": 1,
      "favorites": 1,
      "rating": 4.8,
      "status": 1
    }
  ],
  "columns": [],
  "costToken": 3600
}

Responses

CodeDescription
200API executed successfully. Body is the direct response payload.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

Related APIs

MCP

Use the MCP endpoint when an agent needs to discover and call API tools with JSON-RPC.

GET /api/skill-api/v1/mcp
POST /api/skill-api/v1/mcp
Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Content-Type: application/json

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_etsy_store_query",
    "arguments": {
      "page": 1,
      "pageSize": 20,
      "searchKey": "Lewshop1"
    }
  }
}

Online test

Execute the current API with your API key and JSON payload.

Try it

Send a real request with the same contract shown in the reference.

Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/etsy-store-query/run
MCP method
nexscope_etsy_store_query
cURL
curl -X POST \
  https://api.nexscope.ai/api/skill-api/v1/skills/etsy-store-query/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "page": 1, "pageSize": 20, "searchKey": "Lewshop1" }'
Response
No response yet. Run the request to see the response here.