Overview
Introduction
Deliveroo is excited to introduce the Catalogue API— a powerful integration platform tailored for our Grocery and Retail partners. This API addresses the unique needs of businesses in the grocery and retail sectors by providing a seamless way to integrate extensive product catalogues into the Deliveroo platform.
What is the Catalogue API?
The Catalogue API enables Grocery, Specialist, and Retail businesses to integrate their large product catalogues directly with Deliveroo. Built specifically for the Grocery and Retail sectors, this API simplifies the process of uploading and managing numerous items, making it easier to reach more customers and expand your business.
Benefits for Partners
Access to the Latest Features
With the Catalogue API, we are committed to providing our partners with ongoing updates and enhancements. This ensures that partners have immediate access to the latest features as soon as they are released, keeping your integration current and competitive. Please note that the features and enhancements released as part of the Catalogue API will not be available on the Menu API.
Handles Large Product Catalogues
Designed to support large item catalogues, the Catalogue API accommodates the high SKU counts typical in the Grocery and Retail sectors. This scalability allows you to offer your full range of products to Deliveroo customers without limitations.
Tailored for Retail and Grocery Needs
Understanding the specific requirements of the Retail and Grocery, the Catalogue API includes features such as Multiple Barcodes, Variable weight items, Richer item attributes data, Merchandise Collections, Substitution Control Flags, Legal Classifications and much more.
Features Matrix of Catalogue APIs
Feature | Description | Available | Upcoming Releases |
---|---|---|---|
Create Catalogue | Ability to create catalogues & allow customization for each site with a tailored product assortment | ✓ | |
Detailed Items Information | Ability to store comprehensive item and category details, including modifiers and classification data | ✓ | |
Real-time Updates | Ability to get instant successful or unsuccessful updates to the catalogue with rate limiting for optimal system usage | ✓ | |
Item SKU Range Up to 15K | Ability to create a catalogue up to 15K SKUs | ✓ | |
Barcodes | Ability to assign multiple GTINs/Barcodes per item | ✓ | |
Next Generation Menu (NGM) Support | Ability to publish the catalogue in NGM format, along with the default non-NGM format | ✓ | |
Update Stock Catalogue | Ability to set Items stock to 'available' and 'unavailable' statuses | ✓ | |
Variable Weight | Ability to capture item and order data used for products sold by weight (or by other units of measurement) | ✓ | |
Item SKU Range Up to 30K | Ability to create a catalogue of up to 30K SKUs | ✓ | |
Catalogue API via Developer portal | Ability to test Catalogue API workflows in the Developer Portal | ✓ | |
Catalogue Rich Items Attributes | Ability to send more detailed item attributes which can be surfaced in Deliveroo for every Item | ✓ | |
Muti-level taxonomies | Ability to set two aisle categories for every item | ✓ |
Examples
{
"version": "catalogue-upload-v1",
"catalogue": {
"id": "1",
"items": [
{
"id": "789",
"plu": "789-plu",
"barcodes": [
"5000128861083",
"5000128861106",
"5000128861069"
],
"mpn": "12345-MPN",
"name": {
"en": "Coca Cola Diet Coke"
},
"description": {
"en": "Coca Cola Diet Coke"
},
"media": [
{
"media_type": "main_image",
"media_url": "https://xxx.com/image.jpeg"
}
],
"price_info": {
"price": 150,
"overrides": [
{
"type": "ITEM",
"id": "breakfast_bundle",
"price": 0
}
],
"fees": [ // Only Valid for Iceland Market
{
"type": "DEPOSIT_FEE",
"amount": 10
}
]
},
"tax_rate": "20.0",
"is_eligible_as_replacement": true,
"is_eligible_for_substitution": true,
"is_returnable": false,
"returns_information": {
"en": "This product is non-returnable item"
},
"age_restricted": false,
"alcohol_percentage_by_volume": 00.00,
"classifications": [],
"allergies": [
"no_allergens"
],
"diets": [],
"country_of_origin": [
"Great Bretain"
],
"manufacturer": "The Coca Cola Company, 123 Street, Tropic City",
"eu_responsible_person": "EU Distributor, 456 Europe Lane, Euro City",
"warranty_information": {
"en": "0 years limited warranty"
},
"directions": {
"en": "Store in a cool, dry place. Best served chilled."
},
"brand": "Coca Cola",
"colour": {
"en": "Black"
},
"gender": "Unisex",
"safety_information": {
"en": "Pressurissed Container, Handle with Care"
},
"google_product_category": "1234",
"temperature_zone": "chilled",
"display_price_per_unit": {
"value": 10,
"unit": "100g"
},
"nutritional_info": {
"ingredients": {
"en": "Carbonated Water, Colour, Sweetners, Acids, Flavouring, Preservatives"
},
"energy_kcal": {
"high": 1
},
"energy_kj": {
"high": 5
},
"macronutrients": {
"description": {
"en": "Carbonated Low Calorie Cola Flavoured Soft Drink with Sweetners"
},
"protein": {
"unit": "g",
"value": 0
},
"fat": {
"unit": "g",
"value": 0
},
"fat_of_which_saturates": {
"unit": "g",
"value": 0
},
"carbohydrates": {
"unit": "g",
"value": 0
},
"carbohydrates_of_which_sugars": {
"unit": "g",
"value": 0
},
"fibre": {
"unit": "g",
"value": 0
},
"salt": {
"unit": "g",
"value": 0
},
"measurement_unit": "ml"
},
"serving_size": {
"unit": "ml",
"value": 250
},
"nutri_score": "E",
"nutri_grade": "D"
},
"product_size": {
"en": "M"
},
"product_dimensions": {
"length": 100,
"width": 50,
"height": 10.6,
"unit": "cm"
},
"product_weight": {
"value": 200,
"unit": "g"
},
"product_volume": {
"value": 2000,
"unit": "ml"
},
"shipping_dimensions": {
"length": 130,
"width": 80,
"height": 16,
"unit": "cm"
},
"shipping_weight": {
"value": 230,
"unit": "g"
},
"pack_details": {
"per_item_size": {
"en": "This is the details"
},
"per_item_dimensions": {
"length": 10,
"width": 15,
"height": 10,
"unit": "mm"
},
"per_item_weight": {
"unit": "g",
"value": 250
},
"per_item_volume": {
"unit": "ml",
"value": 250
},
"counts_per_pack": 5
},
"max_quantity": 10,
"variable_measurement": {
"unit": "GRAMS",
"sold_by": "MEASUREMENT",
"increment": 30
}
}
],
"hero_image": {
"url": "https://xxx.com/image.jpeg"
},
"experience": "aisles",
"merchandise_collections": {
"item_categories": [
{
"id": "SummerDrinks",
"name": {
"en": "Summer Exotic Drinks"
},
"description": {
"en": "Summer Exotic Drinks"
},
"item_ids": [
"789"
]
}
]
},
"modifiers": []
}
}
{
"version": "catalogue-upload-v1",
"catalogue": {
"id": "1",
"items": [
{
"id": "789",
"plu": "789-plu",
"barcodes": [
"5000128861083",
"5000128861106",
"5000128861069"
],
"mpn": "12345-MPN",
"name": {
"en": "Coca Cola Diet Coke"
},
"description": {
"en": "Coca Cola Diet Coke"
},
"media": [
{
"media_type": "main_image",
"media_url": "https://xxx.com/image.jpeg"
}
],
"price_info": {
"price": 150,
"overrides": [
{
"type": "ITEM",
"id": "breakfast_bundle",
"price": 0
}
],
"fees": [ // Only Valid for Iceland Market
{
"type": "DEPOSIT_FEE",
"amount": 10
}
]
},
"tax_rate": "20.0",
"is_eligible_as_replacement": true,
"is_eligible_for_substitution": true,
"is_returnable": false,
"returns_information": {
"en": "This product is non-returnable item"
},
"age_restricted": false,
"alcohol_percentage_by_volume": 00.00,
"classifications": [],
"allergies": [
"no_allergens"
],
"diets": [],
"country_of_origin": [
"Great Bretain"
],
"manufacturer": "The Coca Cola Company, 123 Street, Tropic City",
"eu_responsible_person": "EU Distributor, 456 Europe Lane, Euro City",
"warranty_information": {
"en": "0 years limited warranty"
},
"directions": {
"en": "Store in a cool, dry place. Best served chilled."
},
"brand": "Coca Cola",
"colour": {
"en": "Black"
},
"gender": "Unisex",
"safety_information": {
"en": "Pressurissed Container, Handle with Care"
},
"google_product_category": "1234",
"temperature_zone": "chilled",
"display_price_per_unit": {
"value": 10,
"unit": "100g"
},
"nutritional_info": {
"ingredients": {
"en": "Carbonated Water, Colour, Sweetners, Acids, Flavouring, Preservatives"
},
"energy_kcal": {
"high": 1
},
"energy_kj": {
"high": 5
},
"macronutrients": {
"description": {
"en": "Carbonated Low Calorie Cola Flavoured Soft Drink with Sweetners"
},
"protein": {
"unit": "g",
"value": 0
},
"fat": {
"unit": "g",
"value": 0
},
"fat_of_which_saturates": {
"unit": "g",
"value": 0
},
"carbohydrates": {
"unit": "g",
"value": 0
},
"carbohydrates_of_which_sugars": {
"unit": "g",
"value": 0
},
"fibre": {
"unit": "g",
"value": 0
},
"salt": {
"unit": "g",
"value": 0
},
"measurement_unit": "ml"
},
"serving_size": {
"unit": "ml",
"value": 250
},
"nutri_score": "E",
"nutri_grade": "D"
},
"product_size": {
"en": "M"
},
"product_dimensions": {
"length": 100,
"width": 50,
"height": 10.6,
"unit": "cm"
},
"product_weight": {
"value": 200,
"unit": "g"
},
"product_volume": {
"value": 2000,
"unit": "ml"
},
"shipping_dimensions": {
"length": 130,
"width": 80,
"height": 16,
"unit": "cm"
},
"shipping_weight": {
"value": 230,
"unit": "g"
},
"pack_details": {
"per_item_size": {
"en": "This is the details"
},
"per_item_dimensions": {
"length": 10,
"width": 15,
"height": 10,
"unit": "mm"
},
"per_item_weight": {
"unit": "g",
"value": 250
},
"per_item_volume": {
"unit": "ml",
"value": 250
},
"counts_per_pack": 5
},
"max_quantity": 10,
"variable_measurement": {
"unit": "GRAMS",
"sold_by": "MEASUREMENT",
"increment": 30
}
}
],
"hero_image": {
"url": "https://xxx.com/image.jpeg"
},
"experience": "categories",
"categories": {
"item_categories": [
{
"id": "Drinks",
"name": {"en": "Drinks"},
"description": {"en": "Drinks"},
"item_ids": ["789"]
}]
},
"modifiers": []
}
}
{
"event": "catalogue_upload",
"created_at": "2024-10-10T09:51:35.538428888Z",
"brand_id": "partner-brand",
"status": "external_error",
"upload_id": "918a9ae1-1471-40aa-9443-0c76880bfc6f",
"updated_at": "2024-10-10T09:51:50.854540313Z",
"catalogue_id": "String",
"error_messages": [ // Blocked Critical issues found during processing
"string"
],
"warnings": [ // Non-Critical issues found during processing
{
"warning_type": "url",
"value": "https://example.com/image.jpg",
"message": "failed to download image",
},
{
"warning_type": "barcode",
"value": "123456789",
"message": "invalid barcode",
}
]
}
{
"brand_id": "partner-brand",
"catalogue_id": "String",
"created_at": "2024-10-14T13:13:44.948139736Z",
"event": "catalogue_upload",
"status": "success",
"updated_at": "2024-10-14T13:15:13.363519401Z",
"upload_id": "b4a73cb0-6a24-45bd-b6af-ce425cc75f1d",
}
Unchanged Catalogue
In the case of the catalogue details to be uploaded are the same as the existing details, then an error response is returned with the additional information of the result. The result will contain the error message File already uploaded.
{ "event": "catalogue_upload", "created_at": "2024-04-18T15:52:14.49683622Z", "brand_id": "partner-brand", "status": "external_error", "upload_id": "ae8dd9b6-4d2d-4c53-a9a2-afd433229500", "updated_at": "2024-04-18T15:52:23.001059154Z", "catalogue_id": "String", "error_messages": [ // Blocked Critical issues found during processing "file already uploaded" ] }
Updated 1 day ago