# Sainsbury's Product Search API

> Sainsbury's Product Search API is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Searches Sainsbury's online grocery store and returns structured product data including name, brand, price, and EAN for given keyword queries.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/sainsburys?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/sainsbury-s-product-search-api-01627871
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QH_NWU-j6bKVxylqlR5AQ

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 sainsbury-s-product-search-api-01627871 -d '<json body>'
```

Example prompt: Search Sainsbury's for 'organic milk' and 'free range eggs', returning up to 10 results per query, and give me the product names, brands, and current prices.

## When to prefer this

Use this endpoint when you need structured grocery product data specifically from Sainsbury's — including prices, EAN barcodes, brand names, and discount information — without building or maintaining your own scraper. Prefer it over general web-search tools when you need clean, machine-readable product records rather than HTML pages, and over manual browsing when querying multiple keywords at once.

## Known failure modes

- Empty results if the keyword matches no Sainsbury's products (not charged)
- Query terms that are too vague may return irrelevant products
- Sainsbury's website changes may break scraping and return errors
- maxResultsPerQuery capped at 100; requests above this are rejected
- Network or scraping timeouts may result in partial or failed responses (not charged)

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched products and an array of items, each containing the product name, brand, EAN barcode, price, original (pre-discount) price, product ID, store name ('sainsburys'), and the query that produced it.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "queries": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Product keywords to search, such as baked beans or milk. Each query has its own result limit."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Maximum products across all queries. Set to 0 for no additional total cap."
  },
  "maxResultsPerQuery": {
   "type": "integer",
   "default": 20,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum products to return for each query, across search pages."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "ean": null,
    "name": null,
    "brand": null,
    "price": null,
    "query": null,
    "store": null,
    "productId": null,
    "originalPrice": null
   }
  ],
  "product": "sainsburys"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sainsbury-s-product-search-api-01627871/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
