eBay Search API
REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.
API selector
REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.
Search and browse product listings across multiple international eBay sites. Review request parameters, response fields, and MCP usage.
https://api.nexscope.ai/api/skill-api/v1/skills/ebay-search/runnexscope_ebay_searchAll run endpoints require a user API key. Send it as a bearer token in the Authorization header.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxhttps://api.nexscope.ai/api/skill-api/v1/skills/ebay-search/runRequest parameters documented by ecommerce.ebay-search.
| Slug | ebay-search |
| Headers | Authorization: Bearer nk-...Content-Type: application/json |
| Request body | API-specific JSON object. |
| Response body | Platform envelope: code, msg, data, ts, time, cost, traceId. Inspect data.status for asynchronous completion. |
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
Replace YOUR_API_KEY, then run this command in your terminal.
curl -X POST 'https://api.nexscope.ai/api/skill-api/v1/skills/ebay-search/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pageSize": 50,
"keyword": "phone case",
"page": 1
}'https://api.nexscope.ai/api/skill-api/v1/skills/ebay-search/runSend a JSON request to execute this API and receive the documented response payload.
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/ebay-search/run |
| Auth | Bearer API key |
| Content-Type | application/json |
| Name | Type | Required | Description |
|---|---|---|---|
keyword | string | optional | Search keyword, max 1024 characters Example: phone case |
ebayDomain | string | optional | eBay site domain, default ebay.com. Options: ebay.com (United States), ebay.co.uk (United Kingdom), ebay.de (Germany), ebay.fr (France), ebay.it (Italy), ebay.es (Spain), ebay.ca (Canada), ebay.com.au (Australia), ebay.nl (Netherlands), ebay.at (Austria), ebay.ch (Switzerland), ebay.pl (Poland), ebay.ie (Ireland), ebay.com.hk (Hong Kong, China), ebay.com.my (Malaysia), ebay.com.sg (Singapore) |
page |
{
"pageSize": 50,
"keyword": "phone case",
"page": 1
}Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"products": [
{
"productId": "example-id",
"price": 1,
"minPrice": 1,
"maxPrice": 1,
"oldPrice": 1,
"imageUrl": "https://example.com/image.jpg",
"sellerReviews": 1,
"positiveFeedbackInPercentage": 1,
"salesQuantity": 1,
"bidsCount": 1,
"sponsored": false
}
],
"columns": [],
"costToken": 1
},
"code": 0,
"msg": null,
"ts": "0",
"time": "2026-01-01 00:00:00",
"cost": "-1",
"traceId": null
}| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
msg | string | null | required | Msg value used by this API operation. |
ts |
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
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.
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/api/skill-api/v2/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/jsonOAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.
{
"jsonrpc": "2.0",
"id": "tool-call-1",
"method": "tools/call",
"params": {
"name": "nexscope_ebay_search",
"arguments": {
"pageSize": 50,
"keyword": "phone case",
"page": 1
}
}
}Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.
GET / POST /api/skill-api/v1/mcpExecute the current API with your API key and JSON payload.
Send a real request with the same contract shown in the reference.
https://api.nexscope.ai/api/skill-api/v1/skills/ebay-search/runnexscope_ebay_searchcurl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/ebay-search/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "pageSize": 50, "keyword": "phone case", "page": 1 }'No response yet. Run the request to see the response here.
integer |
| optional |
Page number for pagination, default 1 Example: 1 |
pageSize | integer | optional | Maximum results per page, default 50. Options: 25, 50, 100, 200 Example: 50 |
orderBy | string | optional | Sort order, default 12 (Best Match). Options: 1 (Ending soonest), 2 (Price lowest), 3 (Price highest), 7 (Distance nearest), 10 (Newly listed), 12 (Best Match), 15 (Price + shipping lowest), 16 (Price + shipping highest), 18 (New first), 19 (Used first) Example: 12 |
priceMin | number | optional | Minimum price filter Example: 1 |
priceMax | number | optional | Maximum price filter Example: 1 |
itemCondition | string | optional | Item condition codes separated by |. Options: 1000, 1500, 1750, 2000, 2010, 2020, 2030, 2500, 2750, 3000, 7000 |
buyingFormat | string | optional | Buying format. Options: Auction, BIN (Buy It Now), BO (Best Offer) |
showOnly | string | optional | Filter conditions, comma-separated for multiple values. Options: Complete (Ended), Sold (Sold), FR (Free returns), RPA (Returns accepted), AS (Authorized seller), Savings (Discounts), SaleItems (Sale items), Lots (Lots), Charity (Charity), AV, FS (Free shipping), LPickup (Local pickup) |
location | integer | optional | Country/region code of item location (e.g., 1=United States, 2=Canada, 3=United Kingdom, 45=China, 77=Germany) Example: 1 |
prefLoc | string | optional | Preferred location scope. Options: 1 (Domestic), 2 (Regional), 3 (Worldwide) |
zipCode | string | optional | ZIP or postal code for filtering shippable items by region |
categoryId | integer | optional | eBay category ID for category-specific search Example: 1 |
noCache | boolean | optional | Whether to bypass cache, default false Example: false |
string |
| required |
Epoch milliseconds. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
traceId | string | null | required | Trace id value used by this API operation. |
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.total | integer | optional | Total matching results Example: 1 |
data.products | array | optional | Product list array (see product fields below) Example: [] |
data.products[] | object | required | Item in data products. |
data.products[].productId | string | optional | eBay product ID Example: example-id |
data.products[].title | string | optional | Product title Example: null |
data.products[].subtitle | string | optional | Product subtitle Example: null |
data.products[].price | number | optional | Current price / transaction price Example: 1 |
data.products[].minPrice | number | optional | Price range start value (for multi-SKU items) Example: 1 |
data.products[].maxPrice | number | optional | Price range end value (for multi-SKU items) Example: 1 |
data.products[].oldPrice | number | optional | Original price before discount Example: 1 |
data.products[].currency | string | optional | Currency unit (e.g., USD, GBP, EUR) Example: null |
data.products[].condition | string | optional | Item condition description Example: null |
data.products[].link | string | optional | eBay product detail page link Example: null |
data.products[].imageUrl | string | optional | Product thumbnail URL Example: https://example.com/image.jpg |
data.products[].shipping | string | optional | Shipping information Example: null |
data.products[].location | string | optional | Item location Example: null |
data.products[].sellerName | string | optional | Seller name Example: null |
data.products[].sellerReviews | integer | optional | Seller feedback count Example: 1 |
data.products[].positiveFeedbackInPercentage | number | optional | Seller positive feedback percentage Example: 1 |
data.products[].salesQuantity | integer | optional | Quantity sold Example: 1 |
data.products[].bidsCount | integer | optional | Bid count (for auction items) Example: 1 |
data.products[].returns | string | optional | Return information Example: null |
data.products[].promotion | string | optional | Promotion information Example: null |
data.products[].sponsored | boolean | optional | Whether sponsored/promoted item Example: false |
data.products[].sourceType | string | optional | Source platform identifier (ebay) Example: null |
data.products[].sourceTool | string | optional | Source tool identifier Example: null |
data.columns | array | optional | Rendered column definitions Example: [] |
data.type | string | optional | Render style identifier Example: null |
data.costToken | integer | optional | Token consumption Example: 1 |
data.title | string | optional | Provider-specific response title. Example: null |
data.sourceType | string | optional | Provider-specific source platform type. Example: null |
data.sourceTool | string | optional | Provider-specific source tool name. Example: null |
data.costTime | integer | optional | Execution time reported by the upstream provider. Example: null |
data.page | integer | optional | Current page returned by the upstream provider. Example: null |
data.pageSize | integer | optional | Page size returned by the upstream provider. Example: null |
data.pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: null |
data.totalPage | integer | optional | Total page count returned by the upstream provider. Example: null |
data.dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: null |
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |