Etsy Marketplace
Etsy Category Search MCP Tool
Search Etsy category data by name, ID, or parent IDs to find category identifiers for product/store filtering.
MCP tool name
nexscope_etsy_category_searchEquivalent REST API path
https://claw-callback.nexscope.ai/api/skill-api/v1/skills/etsy-category-search/runJSON-RPC method
tools/callAuthentication
Send the user API key as a bearer token on every MCP JSON-RPC request.
Authorization: Bearer nk_xxxxxxxxxxxxxxxxxIf authentication is missing or invalid, ask the user to open API Access and copy a valid key before calling this tool.
Call this MCP tool
Use tools/call with the MCP tool name below. The arguments object should match the table on this page.
{
"jsonrpc": "2.0",
"id": "etsy-category-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_etsy_category_search",
"arguments": {
"keyword": "phone case",
"pageSize": 1,
"page": 1
}
}
}REST API equivalent
POST /api/skill-api/v1/runhttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/etsy-category-search/runCanonical detail URL
https://www.nexscope.ai/mcp-map/etsy-category-searchArguments
| Name | Type | Required | Meaning |
|---|---|---|---|
keyword | string | required | Keyword: matches category name, category id, or parentIds fields (substring) Example: phone case |
page | integer | optional | Page number (starting from 1) Example: 1 |
pageSize | integer | optional | Items per page, max 200 Example: 1 |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Meaning |
|---|---|---|---|
total | integer | optional | Number of records returned on this page Example: 1 |
costToken | integer | optional | Token consumption (local retrieval is free) Example: 1 |
categories | array | optional | List of matching categories Example: [] |
title | string | optional | Title Example: {} |
categories[].categoryLevel | integer | optional | Category level Example: 1 |
categories[].id | string | optional | Category ID Example: example-id |
categories[].name | string | optional | Category name Example: {} |
categories[].parentId | string | optional | Canonical primary parent category ID Example: example-id |
categories[].parentIds | string | optional | All non-empty parent category IDs (comma-separated) Example: {} |
errcode | integer | optional | Upstream status code returned by the provider. Example: {} |
errmsg | string | optional | Upstream status message returned by the provider. Example: {} |
code | string | optional | Provider-specific status code. Example: {} |
msg | string | optional | Provider-specific status message. Example: {} |
message | string | optional | Provider-specific message. Example: {} |
type | string | optional | Provider-specific render or payload type. Example: {} |
sourceType | string | optional | Provider-specific source platform type. Example: {} |
sourceTool | string | optional | Provider-specific source tool name. Example: {} |
costTime | integer | optional | Execution time reported by the upstream provider. Example: {} |
page | integer | optional | Current page returned by the upstream provider. Example: {} |
pageSize | integer | optional | Page size returned by the upstream provider. Example: {} |
pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: {} |
totalPage | integer | optional | Total page count returned by the upstream provider. Example: {} |
dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: {} |
Examples
Example arguments
{
"keyword": "phone case",
"pageSize": 1,
"page": 1
}Example structuredContent
{
"total": 1,
"costToken": 1,
"categories": [
{
"categoryLevel": 1,
"id": "example-id",
"parentId": "example-id"
}
]
}