Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Waitrose UK Groceries API page →
E-commerce & Marketplaces

Waitrose UK Groceries API & Scraper

Waitrose UK Groceries API returns live Waitrose UK Groceries data as clean JSON for waitrose uk groceries The primary endpoint, search, returns products, shelf price in GBP, unit price, promotions, separate public myWaitrose prices, availability and source total.

4 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

First window only…. Developers reach for it when they need to track product listings, prices, availability, variants and reviews without maintaining one-off scraping code or separate API contracts. If you were about to build or fix a Waitrose UK Groceries scraper, this API is the maintained alternative — it returns the same data as clean JSON, with the proxies, rotation and anti-bot handling already solved. This page covers the live example, request shape, response shape and available actions: search, category, offers, detail. Every request uses the same ReefAPI envelope, one API key and one shared credit pool, so it fits alongside the rest of your data stack.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/waitrose/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "milk",
    "limit": 12
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "waitrose",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1655.5,
    "record_count": 12,
    "bytes": 1822200,
    "cache_hit": false,
    "stop_reason": "cap_reached",
    "upstream_requests": 1,
    "warnings": [
      "Unknown parameter ignored: include_pii",
      "Only the first public result window is available; total is the source catalog count, not traversable coverage"
    ],
    "charged_credits": 3,
    "version": "0.1.0",
    "request_id": "86e4b73f1179452d"
  },
  "data": {
    "products": [
      {
        "id": "053457-26759-26760",
        "line_number": "053457",
        "name": "Essential British Free Range Semi-Skimmed Milk 4 Pints",
        "url": "https://www.waitrose.com/ecom/products/essential-british-free-range-semi-skimmed-milk-4-pints/053457-26759-26760",
        "size": "2.272litre",
        "brand": "Waitrose Ltd",
        "price": 1.75,
        "price_display": "£1.75",
        "currency": "GBP",
        "base_price": 1.75,
        "unit_price": {
          "amount": 0.77,
          "unit": "litre",
          "currency": "GBP",
          "display": "77.0p/litre"
        },
        "price_is_estimate": false,
        "sale_quantity": {
          "amount": 1,
          "uom": "C62"
        },
        "member_price": null,
        "member_program": null,
        "member_offers": [],
        "promotions": [],
        "availability": {
          "status": "available_to_order",
          "scope": "anonymous_online",
          "message": null
        },
        "categories": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          }
        ],
        "image": "https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_053457_BP_9.jpg",
        "rating": 4.6556,
        "review_count": 874,
        "product_tags": [
          {
            "name": "[trimmed-depth]"
          }
        ],
        "sponsored": false
      },
      {
        "id": "053448-26749-26750",
        "line_number": "053448",
        "name": "Essential British Free Range Semi-Skimmed Milk 2 Pints",
        "url": "https://www.waitrose.com/ecom/products/essential-british-free-range-semi-skimmed-milk-2-pints/053448-26749-26750",
        "size": "1.136litre",
        "brand": "Waitrose Ltd",
        "price": 1.25,
        "price_display": "£1.25",
        "currency": "GBP",
        "base_price": 1.3,
        "unit_price": {
          "amount": 1.11,
          "unit": "litre",
          "currency": "GBP",
          "display": "£1.11/litre"
        },
        "price_is_estimate": false,
        "sale_quantity": {
          "amount": 1,
          "uom": "C62"
        },
        "member_price": null,
        "member_program": null,
        "member_offers": [],
        "promotions": [
          {
            "id": "[trimmed-depth]",
            "description": "[trimmed-depth]",
            "type": "[trimmed-depth]",
            "expires": "[trimmed-depth]",
            "member_only": "[trimmed-depth]",
            "program": "[trimmed-depth]",
            "offer_price_display": "[trimmed-depth]",
            "offer_unit_price_display": "[trimmed-depth]",
            "groups": "[trimmed-depth]",
            "discount": "[trimmed-depth]",
            "promotion_unit_price": "[trimmed-depth]",
            "hidden": "[trimmed-depth]"
          }
        ],
        "availability": {
          "status": "available_to_order",
          "scope": "anonymous_online",
          "message": null
        },
        "categories": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          }
        ],
        "image": "https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_053448_BP_9.jpg",
        "rating": 4.4137,
        "review_count": 614,
        "product_tags": [
          {
            "name": "[trimmed-depth]"
          }
        ],
        "sponsored": false
      },
      {
        "id": "053404-26711-26712",
        "line_number": "053404",
        "name": "Essential British Free Range Whole Milk 4 Pints",
        "url": "https://www.waitrose.com/ecom/products/essential-british-free-range-whole-milk-4-pints/053404-26711-26712",
        "size": "2.272litre",
        "brand": "Waitrose Ltd",
        "price": 1.75,
        "price_display": "£1.75",
        "currency": "GBP",
        "base_price": 1.75,
        "unit_price": {
          "amount": 0.77,
          "unit": "litre",
          "currency": "GBP",
          "display": "77.0p/litre"
        },
        "price_is_estimate": false,
        "sale_quantity": {
          "amount": 1,
          "uom": "C62"
        },
        "member_price": null,
        "member_program": null,
        "member_offers": [],
        "promotions": [],
        "availability": {
          "status": "available_to_order",
          "scope": "anonymous_online",
          "message": null
        },
        "categories": [
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          },
          {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "urlName": "[trimmed-depth]"
          }
        ],
        "image": "https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_053404_BP_9.jpg",
        "rating": 4.6386,
        "review_count": 368,
        "product_tags": [
          {
            "name": "[trimmed-depth]"
          }
        ],
        "sponsored": false
      }
    ],
    "total": 512,
    "source_displayed_products": 48,
    "sponsored_dropped": 0,
    "page": 1,
    "last_page": 1,
    "has_more": false,
    "upstream_has_more": true,
    "catalog_truncated": true,
    "pagination_supported": false,
    "facets": [
      {
        "group": "OFFER_TYPE",
        "filters": [
          {
            "filterTag": "[trimmed-depth]",
            "applied": "[trimmed-depth]"
          }
        ]
      },
      {
        "group": "DIETARY_AND_LIFESTYLE",
        "filters": [
          {
            "filterTag": "[trimmed-depth]",
            "applied": "[trimmed-depth]"
          },
          {
            "filterTag": "[trimmed-depth]",
            "applied": "[trimmed-depth]"
          },
          {
            "filterTag": "[trimmed-depth]",
            "applied": "[trimmed-depth]"
          }
        ]
      },
      {
        "group": "BRAND",
        "filters": [
          {
            "filterTag": "[trimmed-depth]",
            "applied": "[trimmed-depth]"
          },
          {
            "filterTag": "[trimmed-depth]",
            "applied": "[trimmed-depth]"
          }
        ]
      }
    ],
    "subcategories": [],
    "source_window_count": 49,
    "limited_by_request": true,
    "returned_count": 12
  }
}
Actions

What the Waitrose UK Groceries API does

ActionDescriptionConcrete use caseKey params
searchSearch the first public UK grocery result window. GTINs and the label sheet require detail. Source sorting and later pages are unavailable.Pricing teams call search to search the first public UK grocery result window.query
categoryFirst public window of a groceries category path.Marketplace operators call category to get first public window of a groceries category path..category
offersPublic regular offers or the public My Waitrose Offers list. Personal vouchers are account-specific and excluded.Catalog enrichment teams call offers to get public regular offers or the public My Waitrose Offers list.none
detailFull public product detail. Supply id or url.Retail analysts call detail to get full public product detail.none
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/waitrose/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"milk","limit":12}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.waitrose.search with {"query":"milk","limit":12}.
Use cases

Who uses this API and why

  • Pricing teams use Waitrose UK Groceries to search the first public UK grocery result window.
  • Marketplace operators use Waitrose UK Groceries to get first public window of a groceries category path..
  • Catalog enrichment teams use Waitrose UK Groceries to get public regular offers or the public My Waitrose Offers list.
  • Retail analysts use Waitrose UK Groceries to get full public product detail.
FAQ

Questions developers ask before integrating

What is the Waitrose UK Groceries API?

Waitrose UK Groceries API is a ReefAPI endpoint group for waitrose uk groceries It returns live JSON through POST requests under /waitrose/v1.

Is the Waitrose UK Groceries API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Waitrose UK Groceries calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Waitrose UK Groceries login or account?

No login to Waitrose UK Groceries is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Waitrose UK Groceries data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Waitrose UK Groceries API use?

Waitrose UK Groceries actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Waitrose UK Groceries from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call waitrose actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Waitrose UK Groceries API a Waitrose UK Groceries scraper?

It is the managed alternative to a DIY Waitrose UK Groceries scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same waitrose uk groceries back as clean JSON.

Why does my Waitrose UK Groceries scraper keep getting blocked?

Most Waitrose UK Groceries scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.

docs / waitrose

Waitrose UK Groceries

Waitrose UK Groceries

base /waitrose/v14 endpoints
post/waitrose/v1/category1 credit

First public window of a groceries category path.

ParameterAllowed / rangeDescription
categoryrequired—Path after /ecom/shop/browse/, beginning groceries/.
limit = 48optional1–48Maximum returned products from the first public result window; no later-page traversal.
Try in playground →
post/waitrose/v1/offers1 credit

Public regular offers or the public My Waitrose Offers list. Personal vouchers are account-specific and excluded.

ParameterAllowed / rangeDescription
kind = alloptionalall · memberRegular offers or publicly listed myWaitrose offers.
limit = 48optional1–48Maximum returned products from the first public result window; no later-page traversal.
Try in playground →
post/waitrose/v1/detail3 credits

Full public product detail. Supply id or url.

ParameterAllowed / rangeDescription
idoptional—Composite product id from search; preserve leading zeros.
urloptional—HTTPS Waitrose product URL, alternatively to id.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.