# Tesco Product Scraper (IE/UK)

> Tesco Product Scraper (IE/UK) 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).

Scrapes structured product data from Tesco's Ireland or UK storefronts by keyword search or URL, returning SKU, pricing, brand, and product details.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/tesco?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/tesco-product-scraper-ie-uk-f751d6f4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fkJZGvflqpslIqYyrv_e1

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 tesco-product-scraper-ie-uk-f751d6f4 -d '<json body>'
```

Example prompt: Search Tesco Ireland for 'oat milk' and 'almond milk', pull up to 3 pages each, and return structured product data including names, prices, and brand names — deduplicate by product ID.

## When to prefer this

Choose this endpoint when you need structured, machine-readable product data from Tesco's Ireland or UK storefronts without building your own scraper. It is best suited for price intelligence, catalog enrichment, competitive analysis, or grocery research tasks where you have either specific search keywords or known Tesco listing/product URLs. Prefer it over generic web scrapers when you need reliably parsed fields like price, GTIN, and brand — not raw HTML.

## Known failure modes

- Tesco blocks scraping — endpoint returns empty results (no charge)
- Invalid or inaccessible product URL — listing falls back to listing-level fields only
- Region mismatch — URL from IE domain used with UK region setting may yield no results
- maxItems or maxPages limits reached before full catalog is retrieved
- Product detail pages blocked — falls back to listing fields without nutrition/ingredients

## How this service works

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

## Output

A JSON object containing a count of matched products and an array of product items, each with fields for SKU, GTIN, product name, price, brand name, product ID, description, and base product ID. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "urls": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Public Tesco search, category, or product URLs. Listing pages are more reliable than product detail pages."
  },
  "region": {
   "enum": [
    "IE",
    "UK"
   ],
   "type": "string",
   "default": "IE",
   "description": "Choose the Ireland or United Kingdom storefront for keyword searches. URLs use their own domain."
  },
  "keywords": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Search each phrase separately in the selected region. Use a few specific phrases for focused results."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many dataset rows across all searches and URLs. Zero removes the cap."
  },
  "maxPages": {
   "type": "integer",
   "default": 2,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum listing pages to read for each keyword or listing URL."
  },
  "startPage": {
   "type": "integer",
   "default": 1,
   "minimum": 1,
   "description": "First listing page to read. Page numbering starts at 1."
  },
  "onlyUnique": {
   "type": "boolean",
   "default": true,
   "description": "Remove repeated product IDs within each region across searches and pages."
  },
  "includeProductDetails": {
   "type": "boolean",
   "default": false,
   "description": "Try public product pages for ingredients, nutrition, and other optional details. If blocked, return listing fields."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "sku": null,
    "gtin": null,
    "name": null,
    "price": null,
    "brandName": null,
    "productId": null,
    "description": null,
    "baseProductId": null
   }
  ],
  "product": "tesco"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tesco-product-scraper-ie-uk-f751d6f4/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)
