# Realtime Product Search – Product Offers

> Realtime Product Search – Product Offers is a paid API for AI agents from agents.openwebninja.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-14).

Returns paginated seller offers for a given product, including pricing and availability from multiple stores across countries.

## Facts

- Endpoint: GET https://agents.openwebninja.com/realtime-product-search/v2/product-offers?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Provider: agents.openwebninja.com
- Website: https://agents.openwebninja.com
- Canonical page: https://www.zero.xyz/c/agents-openwebninja-com-realtime-product-search-product-offers-673a6222
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tzkJrkBnAXIhiFRDk9cDu

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-openwebninja-com-realtime-product-search-product-offers-673a6222
```

Example prompt: Can you pull all the seller offers for product ID 'B09B8DQGVQ' in the US and tell me which stores have it available and at what prices?

## When to prefer this

Use this endpoint when you have a specific product ID and need to compare seller offers, prices, and availability across multiple stores in real time. It is ideal for price-comparison agents, reseller research tools, and shopping assistants. Prefer this over a general product search when the product is already identified and the goal is to enumerate and compare offers rather than discover new products.

## Known failure modes

- Invalid or non-existent product_id returns empty offers array or 404-equivalent error
- Unsupported country code returns an error or empty result set
- Page number beyond available pages returns empty data
- Rate limiting or payment/credit exhaustion returns 402 or 429 status
- Network timeout from upstream data provider causes delayed or failed response

## How this service works

Get all offers available for a product.  
  Each page of offers contains offers from 10 sellers, however, since some stores sell the same item more than once (e.g. Amazon, eBay, etc), it's possible that more than 10 offers will be returned.

## Output

Returns a structured object containing paginated seller offers for the specified product, including store names, prices, availability, offer URLs, as well as supplementary data such as related videos (with titles, sources, views, thumbnails) and top review insights (topics, highlights, authors, source links). Each page covers offers from approximately 10 sellers, though stores that list the same product multiple times may yield more than 10 offers per page.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "product_id"
 ],
 "properties": {
  "page": {
   "type": "integer",
   "default": 1,
   "description": "The page to return. Each page contains offers from 10 different stores (potentially resulting in more than 10 offers)."
  },
  "country": {
   "type": "string",
   "default": "us",
   "description": "Country code of the region/country to return offers for. Allowed values: See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2."
  },
  "language": {
   "type": "string",
   "default": "en",
   "description": "The language of the results. Allowed values: See https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes."
  },
  "product_id": {
   "type": "string",
   "description": "Product id of the product for which to fetch offers."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "object",
   "properties": {
    "videos": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "title": {
        "type": "string",
        "nullable": true,
        "description": "The video title."
       },
       "views": {
        "type": "integer",
        "nullable": true,
        "description": "The number of views the video has."
       },
       "source": {
        "type": "string",
        "nullable": true,
        "description": "The platform hosting the video (e.g. YouTube)."
       },
       "channel": {
        "type": "string",
        "nullable": true,
        "description": "The channel or publisher that posted the video."
       },
       "duration": {
        "type": "string",
        "nullable": true,
        "description": "The video duration, formatted as M:SS."
       },
       "video_id": {
        "type": "string",
        "nullable": true,
        "description": "The video identifier (e.g. the YouTube video id)."
       },
       "video_url": {
        "type": "string",
        "nullable": true,
        "description": "The URL of the video."
       },
       "favicon_url": {
        "type": "string",
        "nullable": true,
        "description": "The favicon URL of the video source."
       },
       "thumbnail_url": {
        "type": "string",
        "nullable": true,
        "description": "The URL of the video thumbnail."
       }
      }
     },
     "description": "Related videos for the product, such as reviews and unboxings."
    },
    "top_insights": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "topic": {
        "type": "string",
        "nullable": true,
        "description": "The insight topic (e.g. Comfort, Sizing, Value)."
       },
       "topic_id": {
        "type": "string",
        "nullable": true,
        "description": "The identifier of the topic."
       },
       "highlights": {
        "type": "array",
        "items": {
         "type": "object",
         "properties": {
          "date": {
           "type": "string",
           "nullable": true,
           "description": "The date of the highlight."
          },
          "text": {
           "type": "string",
           "nullable": true,
           "description": "The highlight text."
          },
          "author": {
           "type": "string",
           "nullable": true,
           "descriptio
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-openwebninja-com-realtime-product-search-product-offers-673a6222/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.openwebninja.com](https://www.zero.xyz/host/agents.openwebninja.com/llms.txt)
