# BananaBread Consumer Sentiment API

> BananaBread Consumer Sentiment API is a paid API for AI agents from product-api.bananabread.ai, paid per call via x402, $0.99/call, status unknown (last checked 2026-10-31).

Analyzes consumer sentiment for food, drink, supplement, skincare, or beauty products by aggregating reviews from Amazon, TikTok, Reddit, YouTube, Instagram, Walmart and more into structured love/wishlist/complaint themes with quotes and source links.

## Facts

- Endpoint: POST https://product-api.bananabread.ai/v1/products?utm_source=zero.xyz
- Price: $0.99/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/bananabread-consumer-sentiment-api-99e8d92c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AizPUbTYBdr5wPeZYn95T

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 bananabread-consumer-sentiment-api-99e8d92c -d '<json body>'
```

Example prompt: Pull together what shoppers are saying about Vital Proteins Collagen Peptides by Vital Proteins — what they love, wish for, and complain about — pulling from Amazon, TikTok, Reddit and similar platforms, in English.

## When to prefer this

Choose this endpoint when you need multi-platform consumer sentiment specifically for tangible consumer goods — food, drink, supplements, skincare, or beauty — and want structured, theme-grouped insights (love/wish/complaints) with source-linked verbatim quotes rather than raw review data or a single-platform scrape. It is especially useful when you need cross-platform aggregation across Amazon, TikTok, Reddit, YouTube, Instagram, and Walmart in a single call rather than building your own scraping pipeline.

## Known failure modes

- Missing required fields (name, brand, or lang) returns a validation error
- Invalid or malformed barcode (bad check digit or wrong length) causes rejection
- Unsupported language code (only 'en' and 'nl' accepted) returns an error
- Report not yet ready when polling too soon — retry after a few minutes
- Insufficient USDC balance or x402 payment failure blocks request processing
- Product not found on monitored platforms may result in an empty or sparse sentiment report

## How this service works

Consumer sentiment for a food, drink, supplement, skincare or beauty product: what shoppers say about it on Amazon, TikTok, Reddit, YouTube, Instagram, Walmart and more, grouped into what they love, wish for and complain about, with verbatim quotes and source links. The response holds the product id and a read_token; the report is ready a few minutes later at GET /v1/products/{id}/consumer-sentiment with Authorization: Bearer <read_token>.

## Output

Returns a product ID and a read_token immediately after submission. The full sentiment report — including grouped themes of what shoppers love, wish for, and complain about, along with verbatim quotes and links to source reviews — becomes available a few minutes later via GET /v1/products/{id}/consumer-sentiment using the read_token as a Bearer token.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "name",
      "brand",
      "lang"
     ],
     "properties": {
      "lang": {
       "enum": [
        "en",
        "nl"
       ],
       "type": "string",
       "description": "Language of the input"
      },
      "name": {
       "type": "string",
       "minLength": 1,
       "description": "Product name"
      },
      "brand": {
       "type": "string",
       "minLength": 1,
       "description": "Brand name"
      },
      "barcode": {
       "type": "string",
       "description": "UPC or EAN, 8, 12, 13 or 14 digits with a valid check digit"
      },
      "variant": {
       "type": "string",
       "maxLength": 64,
       "description": "Flavour, size or edition"
      },
      "description": {
       "type": "string",
       "description": "Optional free-text description"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/bananabread-consumer-sentiment-api-99e8d92c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from product-api.bananabread.ai](https://www.zero.xyz/host/product-api.bananabread.ai/llms.txt)
