Discover/ocado.com API
live

ocado.com APIwww.ocado.com

Search Ocado UK's grocery catalog, get full product details with nutrition and allergens, fetch cart contents, and retrieve related products via one API.

Endpoints
5
Updated
3mo ago
Try it
Search term (e.g. 'milk', 'bread', 'chicken breast')
Maximum number of results to return (1-300)
api.parse.bot/scraper/44d2a146-f43b-415b-8494-308caaef06cf/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/44d2a146-f43b-415b-8494-308caaef06cf/search_products?query=milk&max_results=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 5 totalclick to expand

Search for grocery products on Ocado by keyword. Returns product listings with prices, promotions, availability, and images.

Input
ParamTypeDescription
queryrequiredstringSearch term (e.g. 'milk', 'bread', 'chicken breast')
max_resultsintegerMaximum number of results to return (1-300)
Response
{
  "type": "object",
  "fields": {
    "query": "string - the search term used",
    "products": "array of product objects with product_id, retailer_product_id, name, brand, type, pack_size, price, unit_price, available, image_url, promotions, group_type, quantity_in_basket",
    "total_products": "integer - number of products returned"
  },
  "sample": {
    "data": {
      "query": "milk",
      "products": [
        {
          "name": "Cravendale Filtered Fresh Whole Milk Fresher for Longer",
          "type": "REGULAR",
          "brand": "Cravendale",
          "price": {
            "amount": "2.70",
            "currency": "GBP"
          },
          "available": true,
          "image_url": "https://www.ocado.com/images-v3/eafa5127-d256-497b-9609-4869092accd6/3ce12050-c083-4d31-b754-0f99c90e2d6b/300x300.jpg",
          "pack_size": "2L",
          "group_type": "featured",
          "product_id": "8161bfc9-792f-45a1-a50a-6dec88888d6f",
          "promotions": [
            {
              "id": "85b58a61-f63e-4ce3-bc77-d48ea3c74c42",
              "type": "OFFER",
              "description": "Buy any 2 for £4"
            }
          ],
          "unit_price": {
            "unit": "fop.price.per.litre",
            "amount": "1.35"
          },
          "quantity_in_basket": 0,
          "retailer_product_id": "24577011"
        }
      ],
      "total_products": 4
    },
    "status": "success"
  }
}

About the ocado.com API

The Ocado API gives developers access to 5 endpoints covering Ocado UK's grocery catalog, from keyword search to full product detail pages. search_products returns prices, promotions, availability, and images for up to 300 results per query. get_product_details adds nutrition tables, allergen strings, storage instructions, and star ratings. Together, these endpoints expose enough structured data to build price trackers, dietary filters, and product recommendation tools.

Product Search and Discovery

search_products accepts a query string and an optional max_results parameter (1–300) and returns an array of product objects. Each object includes product_id, retailer_product_id, name, brand, pack_size, price, unit_price, available, and an image_url. The unit_price field makes per-unit cost comparisons straightforward without additional calculation. The available boolean lets you filter out out-of-stock items before displaying results.

Product Detail and Nutrition

get_product_details takes a numeric product_id (from search results) and returns the full product record: a description, structured nutrition as an array of {name, value} pairs, an allergens string, storage instructions, an images array with alt text, and a rating object containing an overall score and review count. Fields like allergens and nutrition may return null when the source has no data for a given item, so null-checking is necessary.

Autocomplete and Related Products

get_search_suggestions returns autocomplete strings for a given prefix, or popular/trending terms when query is omitted. This is useful for building typeahead search UIs without managing a local term index. get_related_products returns separate arrays of related_product_ids and similar_product_ids (as UUID strings), plus counts (total_related, total_similar). These IDs can then be passed to get_product_details to retrieve full product records for each suggestion.

Cart State

get_cart requires no inputs and returns the current anonymous cart, including an items array, a totals object with items_retail_price, price_after_promos, and savings, plus a checkout_info block that exposes can_checkout, above_threshold, and minimum_threshold. This is useful for monitoring basket state or verifying minimum order thresholds during checkout flow testing.

Common use cases
  • Build a grocery price tracker that monitors price and unit_price changes for specific products over time.
  • Create a dietary filter tool that queries nutrition and allergens fields to flag products matching user restrictions.
  • Power a typeahead search bar using get_search_suggestions with a short query prefix.
  • Generate a product recommendation widget by fetching related_product_ids from get_related_products and resolving each with get_product_details.
  • Audit promotional savings by comparing items_retail_price and price_after_promos from get_cart totals.
  • Aggregate Ocado brand data using the brand field across search results to analyze product range by manufacturer.
  • Check delivery threshold eligibility by reading minimum_threshold and above_threshold from checkout_info in the cart response.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Ocado have an official public developer API?+
Ocado does operate a technology and logistics platform (Ocado Technology) aimed at retail partners, but there is no public developer API available to independent developers for catalog or cart data.
What does get_product_details return beyond basic price and name?+
It returns a nutrition array of name/value pairs, an allergens string, storage instructions, a description, an images array with descriptions, and a rating object with an overall score and review count. Any of these fields may be null if the source has no data for that product.
Does the API cover multiple Ocado regions or countries?+
The API covers Ocado UK only. Ocado operates exclusively in the UK market for its grocery offering, so the catalog, prices, and promotions returned reflect UK availability and GBP pricing.
Can I add items to the cart or place orders through this API?+
The API currently supports read-only cart access via get_cart, which returns current contents and totals for an anonymous cart. Write operations such as adding items, updating quantities, or initiating checkout are not covered. You can fork this API on Parse and revise it to add the missing endpoints.
Does search_products support filtering by category, brand, or dietary attribute?+
The search_products endpoint accepts a query string and an optional max_results count. There are no built-in filter parameters for category, brand, price range, or dietary flags. You can fork this API on Parse and revise it to add filter-based browsing endpoints.
Page content last updated . Spec covers 5 endpoints from www.ocado.com.
Related APIs in Food DiningSee all →
publix.com API
Access Publix grocery store data including product search, pricing, promotions, weekly ad deals, store locations, and category browsing.
pedidosya.com.ar API
Browse restaurants and menus available in Argentine cities through PedidosYa, search for specific restaurants by name or food category, and retrieve complete menu offerings including items, prices, and available options.
thefork.it API
Search and discover Italian restaurants by cuisine, location, or ratings, then access detailed information like menus, reviews, and availability across major cities in Italy. Find top-rated dining options and compare restaurant details to plan your perfect meal.
bigbasket.com API
Browse and search BigBasket's online grocery catalog. Retrieve product details, pricing, stock availability, category trees, search suggestions, homepage promotions, and delivery coverage — all in one API.
opentable.com API
Search for restaurants across the US with ratings, reviews, photos, and pricing information, plus get real-time availability and autocomplete suggestions as you type. Check reservation openings and explore detailed restaurant features to find and book your perfect dining experience.
opentable.ca API
Search and discover restaurants on OpenTable, view detailed information like menus and reviews, and check real-time dining availability across metro areas. Find top-rated restaurants in your location and instantly see which tables are open for your preferred date and time.
vivino.com API
Search and discover wines across thousands of options while accessing detailed information like user reviews, pricing, winery profiles, and food pairing recommendations. Explore grape varieties, compare wines side-by-side, and find the perfect bottle based on ratings and availability.
deliveroo.co.uk API
Search for restaurants and retrieve menus from Deliveroo UK. Look up restaurants by keyword and postcode, or fetch full menu details for any Deliveroo restaurant by URL.