# Sainsbury's Product Scraper API (x402)

> Sainsbury's Product Scraper API (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Searches Sainsbury's online grocery catalogue by keyword and returns structured product data including pricing, brand, and EAN, billed per call via x402 micropayments.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/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-scraper-api-x402-f64213b3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qAnFEWB1irc-Wu3Xh6KKf

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-scraper-api-x402-f64213b3 -d '<json body>'
```

Example prompt: Search Sainsbury's for 'organic oat milk' and 'free range eggs', returning up to 10 results per query, so I can compare their prices and brands.

## When to prefer this

Choose this endpoint when you need structured, up-to-date product and pricing data specifically from Sainsbury's UK grocery store, especially for price monitoring, product discovery, or EAN/ID lookup tasks. It is pay-per-call with no charge for failed or empty runs, making it cost-efficient for agents that may issue speculative queries. Prefer it over generic web scrapers when you need clean, schema-consistent output ready for downstream processing.

## Known failure modes

- Empty results if the search query matches no products — call is not charged
- Network or scraping failure — call is not charged
- Invalid input schema (e.g. empty queries array or maxResultsPerQuery outside 1–100) returns a validation error
- Rate limiting or blocking by Sainsbury's website may cause transient failures
- Payment failure via x402 protocol prevents the call from being made

## 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 items array, where each item contains the product name, brand, price, original price (if on offer), EAN, product ID, store (sainsburys), and the originating query keyword.

## 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-scraper-api-x402-f64213b3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
