Nexscope

Etsy Product Detail

Retrieve public Etsy listing details from a validated marketplace URL for product, pricing, shop, and competitive research. Available via REST API or MCP.

CostRecent 11 credits / call
Try online
POST · https://api.nexscope.ai/etsy/product/detailMCP · nexscope_etsy_product_detail

What this API does

Retrieve public Etsy listing details from a validated marketplace URL for product, pricing, shop, and competitive research. The request accepts productUrl. Its documented result includes errcode, errmsg, productId, shopId, shopUrl, shopSales, shopName, productUrl.

Etsy Product Detail API use cases

Inspect a candidate product

To inspect a candidate product, a marketplace analyst submits productUrl to Etsy Product Detail. The returned errcode, errmsg, productId help inspect the documented attributes of the candidate product.

Compare listing details

A marketplace analyst uses Etsy Product Detail with productUrl to compare listing details. The returned errcode, errmsg, productId help compare product details with another shortlisted listing.

Prepare product evidence for a sourcing review

For this workflow, a marketplace analyst calls Etsy Product Detail with productUrl to prepare product evidence for a sourcing review. The result helps record product facts before a sourcing discussion.

Etsy Product Detail API FAQ

What does the Etsy Product Detail API return?

Retrieve public Etsy listing details from a validated marketplace URL for product, pricing, shop, and competitive research. The documented output includes errcode, errmsg, productId, shopId, shopUrl, shopSales, shopName, productUrl. It corresponds to the supplied productUrl. Optional fields can be absent; a missing value should not be interpreted as a measured zero. Example values illustrate the response shape, rather than live account results.

How many credits does the Etsy Product Detail API cost?

The current documented cost is Recent 11 credits / call. This is the same cost shown at the top of this page. If a range or estimate is displayed, the final charge depends on the request. Review your available credits and the pricing page before calling the API, and check API usage records for the actual charge.

How do I call the Etsy Product Detail API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/etsy/product/detail with your API key as a Bearer token and the JSON inputs shown in API integration. In a compatible MCP client such as Claude or Cursor, connect Nexscope and call nexscope_etsy_product_detail. Use the MCP arguments shown in the MCP guide, or switch Online test to MCP to review its request before adding it to your app.

View plans and creditsConnect this API with MCP

Try this API
Endpoint
https://api.nexscope.ai/etsy/product/detail
MCP method
nexscope_etsy_product_detail

Step 1 of 3 · Authenticate

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 .

Step 2 of 3 · Send a request

POSThttps://api.nexscope.ai/etsy/product/detail

Run an API

Send a JSON request body using the parameters described below.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/etsy/product/detail' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "productUrl": "https://www.etsy.com/listing/1710567856/its-okay-to-make-some-mistakes-shirt"
}'

Code example

{
  "productUrl": "https://www.etsy.com/listing/1710567856/its-okay-to-make-some-mistakes-shirt"
}

Step 3 of 3 · Inspect the result

Check the response

Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.

HTTP status codes

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.
All categories/ Etsy Product Research
POSThttps://api.nexscope.ai/etsy/product/detail

Run this API

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

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/etsy/product/detail
AuthBearer API key
Content-Typeapplication/json

Request parameters

NameTypeRequiredDescription
productUrlstringrequired
Etsy products HTTPS direct link. Userinfo must not be included; Host must be `etsy.com` or its subdomain, port must be omitted or `443`; path must be `/listing/<numeric ID>`, with at most one non-empty title slug, and can have trailing slashes and query parameters

Response example

Platform response envelope. code 0 indicates success or acceptance; data contains the business result.

No response example is published for this API. Refer to the response fields below.

Response fields

Response field reference (34 fields)

NameTypeRequiredDescription
errcodeintegeroptional
Business status code; `200` indicates success
errmsgstringoptional
Business status message; `ok` on success
dataarrayoptional
Array of product objects; fixed to 1 item when successful
totalintegeroptional
Fixed to `1` when successful
costTokenintegeroptional
Consume token
typestringoptional
Fixed to `tableListWorkbenches`
columnsarrayoptional
Rendering column definition generated based on product top-level fields
productIdstringoptional
Etsy listing ID
shopIdstringoptional
Store ID
shopUrlstringoptional
Store URL; it may be empty or misidentified when the page is abnormal.
shopSalesstringoptional
Store public sales text
shopNamestringoptional
Store name; it may be empty or misidentified when the page is abnormal.
productUrlstringoptional
Product URL
searchPositionstringoptional
Source search location; usually empty for direct queries
imagestringoptional
Main image URL
imagesarrayoptional
Image URL list
maxQuantityintegeroptional
Maximum available quantity reported on the page
variantsarrayoptional
Product variations; empty array if no variations
titlestringoptional
Product title
descriptionarrayoptional
list of description paragraphs
shopReviewsintegeroptional
Number of store reviews
reviewsintegeroptional
Current number of listing comments
starstringoptional
Current rating, may be an empty string
highlightsTagsarrayoptional
Buyer Feedback Highlights Tag
reviewsTagsarrayoptional
Comment tags and frequency objects
yearsOnEtsystringoptional
How long your store has been public on Etsy
hasRatingsBadgebooleanoptional
Is there a rating badge?
hasConvosBadgebooleanoptional
Is there a communication badge?
hasShippingBadgebooleanoptional
Is there a delivery badge?
reviewsScoresobjectoptional
Dynamic review itemization; keys and values change from page to page
categorystringoptional
Category breadcrumbs
countryShippingFromstringoptional
Shipping country/region
currencystringoptional
currency code
moreLikeUrlstringoptional
Similar recommendation link, may be empty

Responses

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.

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.

Step 1 of 2 · Connect your MCP client

MCP

V2 recommended

Connect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.

POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
Authentication

OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.

Step 2 of 2 · Call the tool

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_etsy_product_detail",
    "arguments": {
      "productUrl": "https://www.etsy.com/listing/1710567856/its-okay-to-make-some-mistakes-shirt"
    }
  }
}

Legacy MCP v1

Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.

GET / POST /mcp/legacy

Data Example

Request parameters

{
  "productUrl": "https://www.etsy.com/listing/4309946455/black-skull-lace-trim-35mm-gothic"
}

Response

{
  "code": 0,
  "msg": null,
  "data": {
    "total": 1,
    "data": [
      {
        "maxQuantity": 10,
        "reviewsScores": {
          "love_it": "5.0",
          "helpful_seller": "100%",
          "fast_delivery": "5.0",
          "great_quality": "5.0",
          "as_described": "What buyers say, summarised by AI:"
        },
        "deliveryDaysMax": 12,
        "shopName": "shadow.bc8764b664a75d.css",
        "description": [
          "Highlights",
          ":host(:not(:defined)) {opacity: 1 !important;}*, *::before, *::after {box-sizing: inherit;}svg {display: block;fill: var(--clg-icon-fill-color, currentColor);height: var(--clg-icon-size, var(--clg-dimension-sem-icon-core-base));width: var(--clg-icon-size, var(--clg-dimension-sem-icon-core-base));aspect-ratio: 1;}",
          "Sourced by",
          "Lindacustom",
          ":host(:not(:defined)) {opacity: 1 !important;}*, *::before, *::after {box-sizing: inherit;}svg {display: block;fill: var(--clg-icon-fill-color, currentColor);height: var(--clg-icon-size, var(--clg-dimension-sem-icon-core-base));width: var(--clg-icon-size, var(--clg-dimension-sem-icon-core-base));aspect-ratio: 1;}",
          "Supplies for making crafts",
          ":host(:not(:defined)) {opacity: 1 !important;}*, *::before, *::after {box-sizing: inherit;}svg {display: block;fill: var(--clg-icon-fill-color, currentColor);height: var(--clg-icon-size, var(--clg-dimension-sem-icon-core-base));width: var(--clg-icon-size, var(--clg-dimension-sem-icon-core-base));aspect-ratio: 1;}",
          "Read the full description",
          "Materials: polyester",
          "This good quality skull lace can be use for Halloween design, decor and other project. When order 2 yares or more you will get it at one piece, over 14 yards you will get 2 pieces.",
          "Width:  about 35mm wide",
          "Length: 1yard,5 yard,14.5 yard"
        ],
        "variants": [],
        "title": "Black Skull Lace Trim: 35mm Gothic Halloween Decor by the yard or wholesale",
        "reviewsTags": [
          {},
          {},
          {},
          {},
          {}
        ],
        "shopReviews": 1261,
        "reviews": 37,
        "lowPrice": "",
        "deliveryDaysMin": 11,
        "price": "",
        "highPrice": "",
        "currency": "USD",
        "shopId": "19023055",
        "shopSales": "",
        "image": "https://i.etsystatic.com/19023055/r/il/866080/6932975567/il_fullxfull.6932975567_58r3.jpg",
        "images": [
          "https://i.etsystatic.com/19023055/r/il/866080/6932975567/il_fullxfull.6932975567_58r3.jpg",
          "https://i.etsystatic.com/19023055/r/il/4ad67a/6884997320/il_fullxfull.6884997320_q6bj.jpg",
          "https://i.etsystatic.com/19023055/r/il/ccd71a/6932975369/il_fullxfull.6932975369_4skb.jpg",
          "https://i.etsystatic.com/19023055/r/il/8d56af/6932975425/il_fullxfull.6932975425_f3kt.jpg",
          "https://i.etsystatic.com/19023055/r/il/f2aea1/6932974989/il_fullxfull.6932974989_48yj.jpg",
          "https://i.etsystatic.com/19023055/r/il/f860c7/6932975535/il_fullxfull.6932975535_gfs4.jpg",
          "https://i.etsystatic.com/19023055/r/il/9aa87f/6932975363/il_fullxfull.6932975363_odxu.jpg",
          "https://i.etsystatic.com/19023055/r/il/7667f2/6884997800/il_fullxfull.6884997800_1de2.jpg",
          "https://i.etsystatic.com/19023055/r/il/68d0fb/6884997838/il_fullxfull.6884997838_ly95.jpg",
          "https://i.etsystatic.com/19023055/r/il/1a3b34/6884997852/il_fullxfull.6884997852_k2sf.jpg"
        ],
        "moreLikeUrl": "",
        "hasConvosBadge": true,
        "productId": "4309946455",
        "star": "",
        "oldPrice": "",
        "hasRatingsBadge": true,
        "searchPosition": "",
        "shopUrl": "https://www.etsy.com/ac/sasquatch/css/collage/shadow.bc8764b664a75d.css",
        "highlightsTags": [
          "Looks great",
          "As described",
          "Love it",
          "Fast shipping",
          "Great quality",
          "Helpful seller",
          "Well packaged"
        ],
        "hasShippingBadge": true,
        "countryShippingFrom": "CN",
        "yearsOnEtsy": "7 years",
        "productUrl": "https://www.etsy.com/listing/4309946455/black-skull-lace-trim-35mm-gothic",
        "category": "Craft Supplies & Tools < Fabric & Notions < Lace & Trims"
      }
    ],
    "columns": [
      {
        "filterable": true,
        "cellType": "text",
        "field": "productId",
        "sortable": true,
        "title": "商品 ID"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "shopId",
        "sortable": true,
        "title": "店铺 ID"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "shopUrl",
        "sortable": true,
        "title": "店铺链接"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "shopSales",
        "sortable": true,
        "title": "店铺销量文本"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "shopName",
        "sortable": true,
        "title": "店铺名称"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "productUrl",
        "sortable": true,
        "title": "商品链接"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "searchPosition",
        "sortable": true,
        "title": "搜索位置"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "image",
        "sortable": true,
        "title": "主图链接"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "images",
        "sortable": true,
        "title": "商品图片列表"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "maxQuantity",
        "sortable": true,
        "title": "最大可购数量"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "variants",
        "sortable": true,
        "title": "商品变体"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "title",
        "sortable": true,
        "title": "商品标题"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "description",
        "sortable": true,
        "title": "商品描述段落"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "deliveryDaysMin",
        "sortable": true,
        "title": "最短配送天数"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "deliveryDaysMax",
        "sortable": true,
        "title": "最长配送天数"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "shopReviews",
        "sortable": true,
        "title": "店铺评论数"
      },
      {
        "filterable": true,
        "cellType": "number",
        "field": "reviews",
        "sortable": true,
        "title": "商品评论数"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "star",
        "sortable": true,
        "title": "商品评分"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "highlightsTags",
        "sortable": true,
        "title": "评论亮点标签"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "reviewsTags",
        "sortable": true,
        "title": "评论主题统计"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "yearsOnEtsy",
        "sortable": true,
        "title": "入驻 Etsy 年限"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "hasRatingsBadge",
        "sortable": true,
        "title": "是否有评分徽章"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "hasConvosBadge",
        "sortable": true,
        "title": "是否有沟通徽章"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "hasShippingBadge",
        "sortable": true,
        "title": "是否有配送徽章"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "reviewsScores",
        "sortable": true,
        "title": "动态评论评分摘要"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "category",
        "sortable": true,
        "title": "商品分类路径"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "price",
        "sortable": true,
        "title": "商品价格"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "lowPrice",
        "sortable": true,
        "title": "最低价格"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "highPrice",
        "sortable": true,
        "title": "最高价格"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "countryShippingFrom",
        "sortable": true,
        "title": "发货国家或地区"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "currency",
        "sortable": true,
        "title": "货币代码"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "oldPrice",
        "sortable": true,
        "title": "原价"
      },
      {
        "filterable": true,
        "cellType": "text",
        "field": "moreLikeUrl",
        "sortable": true,
        "title": "相似商品链接"
      }
    ],
    "type": "tableListWorkbenches"
  }
}

Online test

Execute the current API with your API key and JSON payload. Online tests use this site's configured API environment; the Endpoint and copyable examples use the public integration address.

Recent 11 credits / callAPI usage records

Try it

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

Endpoint
/etsy/product/detail
MCP method
nexscope_etsy_product_detail
cURL
curl -X POST \
  https://api.nexscope.ai/etsy/product/detail \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "productUrl": "https://www.etsy.com/listing/1710567856/its-okay-to-make-some-mistakes-shirt" }'
Response
No response yet. Run the request to see the response here.

Related APIs