Shopping Seller Offers API

SEO API documentation for REST and MCP, generated from the implemented API contract.

API selector
Search Results (SERP)

API overview

Source-bound Google Shopping seller offers with observed prices and explicit missing evidence. One submit and at most eight fixed reads. Missing values are not zero. Prices and publication are unapproved. Owner-only historical results are retained seven days.

Try this API
Endpoint
/api/skill-api/v1/skills/seo-shopping-seller-offers/run
MCP method
nexscope_seo_shopping_seller_offers

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 .
POST/api/skill-api/v1/skills/seo-shopping-seller-offers/run

Run an API

Send a JSON request body using the parameters described below.

Slugseo-shopping-seller-offers
HeadersAuthorization: Bearer nk_...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyComplete HTTP envelope, including code and data.

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/seo-shopping-seller-offers/run \
  -H "Authorization: Bearer nk_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "limit": 10,   "productRef": "0000000000000000000000000000000000000000000000000000000000000000",   "task_id": "00000000-0000-4000-8000-000000000001" }'
All categories/ Search Results (SERP)
POST/api/skill-api/v1/skills/seo-shopping-seller-offers/run

Run this API

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

Endpoint

MethodPOST
Path/api/skill-api/v1/skills/seo-shopping-seller-offers/run
AuthBearer API key
Content-Typeapplication/json

Request body

NameTypeRequiredDescription
limitintegeroptional
Limit value used by this API operation.
Default: 10
Minimum: 1
Maximum: 10
productRefstringrequired
Product ref value used by this API operation.
Pattern: ^[0-9a-f]{64}$
task_idstringrequired
DataForSEO task ID returned by the prerequisite Data API call.
Format: uuid

Request example

{
  "limit": 10,
  "productRef": "0000000000000000000000000000000000000000000000000000000000000000",
  "task_id": "00000000-0000-4000-8000-000000000001"
}

Response body

NameTypeRequiredDescription
codeintegerrequired
0 is a successful envelope; inspect data.status separately.
Allowed: 0, 42008, 42009
coststringrequired
Elapsed processing milliseconds; not price. -1 for non-web context.
dataobjectrequired
Data value used by this API operation.
data.callIdstring | nulloptional
Call id value used by this API operation.
data.completedAtinteger | nulloptional
Completed at value used by this API operation.
data.coverageobjectoptional
Coverage value used by this API operation.
data.coverage.missingarrayoptional
Missing value used by this API operation.
data.coverage.missing[]objectrequired
Item in data coverage missing.
data.coverage.missing[].fieldstringoptional
Field value used by this API operation.
data.coverage.missing[].reasonstringoptional
Reason value used by this API operation.
data.coverage.statusstringoptional
Status value used by this API operation.
data.requestedAtinteger | nulloptional
Requested at value used by this API operation.
data.resultobject | nullrequired
Result value used by this API operation.
data.result.metaobjectrequired
Meta value used by this API operation.
data.result.meta.marketobjectrequired
Market value used by this API operation.
data.result.meta.market.countrystringrequired
Country value used by this API operation.
Constant: US
data.result.meta.market.languagestringrequired
Language value used by this API operation.
Constant: en
data.result.meta.market.locationCodeintegerrequired
Location code value used by this API operation.
Constant: 2840
data.result.meta.missingarrayrequired
Missing value used by this API operation.
Maximum items: 100
data.result.meta.missing[]objectrequired
Item in data result meta missing.
data.result.meta.missing[].pathstringrequired
Path value used by this API operation.
Maximum length: 256
data.result.meta.missing[].reasonstringrequired
Reason value used by this API operation.
Allowed: MISSING, NULL, INVALID, UNSUPPORTED, TRUNCATED
data.result.meta.missingOverflowbooleanrequired
Missing overflow value used by this API operation.
data.result.meta.retrievedAtanyrequired
Retrieved at value used by this API operation.
data.result.meta.sampledAtanyrequired
Sampled at value used by this API operation.
data.result.meta.sourcestringrequired
Source value used by this API operation.
Constant: DATAFORSEO_GOOGLE_SHOPPING_SELLERS
data.result.meta.truncatedbooleanrequired
Truncated value used by this API operation.
data.result.offersarrayrequired
Offers value used by this API operation.
Maximum items: 10
data.result.offers[]objectrequired
Item in data result offers.
data.result.offers[].basePriceanyrequired
Base price value used by this API operation.
data.result.offers[].currencyanyrequired
Currency value used by this API operation.
data.result.offers[].detailsanyrequired
Details value used by this API operation.
data.result.offers[].domainanyrequired
Domain value used by this API operation.
data.result.offers[].installmentMonthsanyrequired
Installment months value used by this API operation.
data.result.offers[].paymentBreakdownanyrequired
Payment breakdown value used by this API operation.
data.result.offers[].rankAbsoluteanyrequired
Rank absolute value used by this API operation.
data.result.offers[].rankGroupanyrequired
Rank group value used by this API operation.
data.result.offers[].sellerNameanyrequired
Seller name value used by this API operation.
data.result.offers[].shippingPriceanyrequired
Shipping price value used by this API operation.
data.result.offers[].taxanyrequired
Tax value used by this API operation.
data.result.offers[].titleanyrequired
Title value used by this API operation.
data.result.offers[].totalPriceanyrequired
Total price value used by this API operation.
data.result.offers[].urlanyrequired
Url value used by this API operation.
data.result.productRefstringrequired
Product ref value used by this API operation.
Pattern: ^[0-9a-f]{64}$
data.result.sourceCallIdstringrequired
Source call id value used by this API operation.
Format: uuid
data.schemaVersionstring | nulloptional
Schema version value used by this API operation.
data.sourcestring | nulloptional
Source value used by this API operation.
data.statusstringoptional
Status value used by this API operation.
Allowed: SUCCESS, PARTIAL, EMPTY, PROCESSING, UNKNOWN, FAILED
data.usageobjectoptional
Usage value used by this API operation.
data.usage.billingStatusstringoptional
Billing status value used by this API operation.
data.usage.chargedCreditsinteger | nulloptional
Charged credits value used by this API operation.
data.usage.providerCostStatusstringoptional
Provider cost status value used by this API operation.
data.usage.providerCostUsdstring | nulloptional
Provider cost usd value used by this API operation.
data.usage.providerRequestsintegeroptional
Provider requests value used by this API operation.
msgstring | nullrequired
Msg value used by this API operation.
timestringrequired
yyyy-MM-dd HH:mm:ss
traceIdstring | nullrequired
Trace id value used by this API operation.
tsstringrequired
Epoch milliseconds; global long serializer.

Any of option 1

NameTypeRequiredDescription
data.result.meta.retrievedAtintegerrequired
Retrieved at value used by this API operation.
Minimum: 0
Maximum: 9007199254740991

Any of option 2

NameTypeRequiredDescription
data.result.meta.retrievedAtnullrequired
Retrieved at value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.meta.sampledAtintegerrequired
Sampled at value used by this API operation.
Minimum: 0
Maximum: 9007199254740991

Any of option 2

NameTypeRequiredDescription
data.result.meta.sampledAtnullrequired
Sampled at value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].basePricenumberrequired
Base price value used by this API operation.
Minimum: 0

Any of option 2

NameTypeRequiredDescription
data.result.offers[].basePricenullrequired
Base price value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].currencystringrequired
Currency value used by this API operation.
Pattern: ^[A-Z]{3}$

Any of option 2

NameTypeRequiredDescription
data.result.offers[].currencynullrequired
Currency value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].detailsstringrequired
Details value used by this API operation.
Maximum length: 8192

Any of option 2

NameTypeRequiredDescription
data.result.offers[].detailsnullrequired
Details value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].domainstringrequired
Domain value used by this API operation.
Maximum length: 1024

Any of option 2

NameTypeRequiredDescription
data.result.offers[].domainnullrequired
Domain value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].installmentMonthsintegerrequired
Installment months value used by this API operation.
Minimum: 0
Maximum: 9007199254740991

Any of option 2

NameTypeRequiredDescription
data.result.offers[].installmentMonthsnullrequired
Installment months value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].paymentBreakdownstringrequired
Payment breakdown value used by this API operation.
Maximum length: 8192

Any of option 2

NameTypeRequiredDescription
data.result.offers[].paymentBreakdownnullrequired
Payment breakdown value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].rankAbsoluteintegerrequired
Rank absolute value used by this API operation.
Minimum: 0
Maximum: 9007199254740991

Any of option 2

NameTypeRequiredDescription
data.result.offers[].rankAbsolutenullrequired
Rank absolute value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].rankGroupintegerrequired
Rank group value used by this API operation.
Minimum: 0
Maximum: 9007199254740991

Any of option 2

NameTypeRequiredDescription
data.result.offers[].rankGroupnullrequired
Rank group value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].sellerNamestringrequired
Seller name value used by this API operation.
Maximum length: 1024

Any of option 2

NameTypeRequiredDescription
data.result.offers[].sellerNamenullrequired
Seller name value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].shippingPricenumberrequired
Shipping price value used by this API operation.
Minimum: 0

Any of option 2

NameTypeRequiredDescription
data.result.offers[].shippingPricenullrequired
Shipping price value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].taxnumberrequired
Tax value used by this API operation.
Minimum: 0

Any of option 2

NameTypeRequiredDescription
data.result.offers[].taxnullrequired
Tax value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].titlestringrequired
Title value used by this API operation.
Maximum length: 1024

Any of option 2

NameTypeRequiredDescription
data.result.offers[].titlenullrequired
Title value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].totalPricenumberrequired
Total price value used by this API operation.
Minimum: 0

Any of option 2

NameTypeRequiredDescription
data.result.offers[].totalPricenullrequired
Total price value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.result.offers[].urlstringrequired
Url value used by this API operation.
Maximum length: 4096

Any of option 2

NameTypeRequiredDescription
data.result.offers[].urlnullrequired
Url value used by this API operation.

Response example

Example response envelope from the documented SEO API contract.

{
  "code": 0,
  "cost": "-1",
  "data": {
    "callId": "synthetic-call",
    "completedAt": null,
    "coverage": {
      "missing": [
        {
          "field": "synthetic",
          "reason": "UPSTREAM_FIELD_MISSING"
        }
      ],
      "status": "PARTIAL"
    },
    "requestedAt": 123,
    "result": {
      "meta": {
        "market": {
          "country": "synthetic",
          "language": "synthetic",
          "locationCode": 1
        },
        "missing": [
          {
            "path": "synthetic",
            "reason": "synthetic"
          }
        ],
        "missingOverflow": false,
        "retrievedAt": 9007199254740992,
        "sampledAt": 9007199254740992,
        "source": "synthetic",
        "truncated": false
      },
      "offers": [
        {
          "basePrice": 1.25,
          "currency": "synthetic",
          "details": "synthetic",
          "domain": "synthetic",
          "installmentMonths": 9007199254740992,
          "paymentBreakdown": "synthetic",
          "rankAbsolute": 9007199254740992,
          "rankGroup": 9007199254740992,
          "sellerName": "synthetic",
          "shippingPrice": 1.25,
          "tax": 1.25,
          "title": "synthetic",
          "totalPrice": 1.25,
          "url": "synthetic"
        }
      ],
      "productRef": "synthetic",
      "sourceCallId": "synthetic"
    },
    "schemaVersion": "synthetic",
    "source": "synthetic",
    "status": "PARTIAL",
    "usage": {
      "billingStatus": "UNAPPROVED",
      "chargedCredits": 0,
      "providerCostStatus": "UNAPPROVED",
      "providerCostUsd": null,
      "providerRequests": 0
    }
  },
  "msg": null,
  "time": "2026-01-01 00:00:00",
  "traceId": null,
  "ts": "9007199254740993"
}

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.

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_seo_shopping_seller_offers",
    "arguments": {
      "limit": 10,
      "productRef": "0000000000000000000000000000000000000000000000000000000000000000",
      "task_id": "00000000-0000-4000-8000-000000000001"
    }
  }
}

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
/api/skill-api/v1/skills/seo-shopping-seller-offers/run
Task result endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/seo-shopping-seller-offers/tasks/{taskId}
MCP method
nexscope_seo_shopping_seller_offers
cURL
curl -X POST \
  https://api.nexscope.ai/api/skill-api/v1/skills/seo-shopping-seller-offers/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "limit": 10, "productRef": "0000000000000000000000000000000000000000000000000000000000000000", "task_id": "00000000-0000-4000-8000-000000000001" }'
Response
No response yet. Run the request to see the response here.
Task result

Results are checked automatically after Run API. You can also enter a task ID and check it manually; completed resources use Nexscope URLs and show actual charged credits.

Result response
No task result yet. Query the task to see the generated output here.