Download OpenAPI specification:Download
Welcome to the Developer Portal for the SmartWithFood Recipe API. The highlight of this API is the productize endpoint. This powerful feature enables you to convert individual recipes into comprehensive shopping lists with a single API call. Seamlessly integrate this functionality into your application, making it easier than ever for users to gather ingredients for their next culinary adventure.
On this developer portal you find the API specifications including a short description of every field, a request example and a response example for every endpoint, and security information, as well as information about the non-functional requirements you can expect from our API is provided. Furthermore, you can find information on how to get started using our API and on who to contact when you are in need of further assistance.
Follow the following steps to easily get started with our Recipe API.
Should you have any questions or need further assistance, please do not hesitate to contact our support team at support@smartwithfood.com or at https://smartwithfood.atlassian.net/servicedesk/customer/portal/6.
We are committed to providing you with a seamless and reliable experience when integrating our API into your applications. Below you can find the non-functional requirements you can expect from our API.
Productize
Our API aims for an availability of 99.9%. This translates to approximately 8.5 hours of planned downtime per year.
Normal Circumstances
Peak Circumstances
With this Recipe API you can:
Convert a recipe ID, a recipe identifier or a list of recipe ingredients to articles.
Succesful operation.
The request could not be understood by the server due to malformed syntax.
The caller is not authorized to execute the endpoint.
Resource not found.
Not Acceptable.
The caller is doing too many requests in a small timeframe.
The server could not process the request.
{- "articleLimit": 1,
- "lines": [
- "110g kaas",
- "2 aardappelen",
- "1kg prei"
], - "recipe": "666f17f0-382e-431b-9275-2e3bbb482771",
- "select": [
- "recipe.id",
- "recipe.title",
- "article.id",
- "article.name"
], - "warehouses": [
- "38ba2e76-abad-42ff-a648-d5ef8db434b1"
], - "brands": [
- "Boni Selection",
- "Danone"
], - "allergens": {
- "must": [
- "gluten",
- "38ba2e76-abad-42ff-a648-d5ef8db434b1"
], - "mustNot": [
- "nuts",
- "8eb692d6-5e13-42bc-9cfa-61d6cd8a66d0"
]
}, - "lifestyles": {
- "must": [
- "veganism",
- "38ba2e76-abad-42ff-a648-d5ef8db434b1"
], - "mustNot": [
- "halal",
- "8eb692d6-5e13-42bc-9cfa-61d6cd8a66d0"
]
}, - "preferences": {
- "must": [
- "bio",
- "38ba2e76-abad-42ff-a648-d5ef8db434b1"
], - "mustNot": [
- "addedSugar",
- "8eb692d6-5e13-42bc-9cfa-61d6cd8a66d0"
]
}, - "mediaSizes": [
- "fullFront:100x100",
- "small",
- "200x200"
], - "customerId": "1234585",
- "sort": [
- "price:B:asc",
- "ecoscore:desc"
], - "customFields": [
- "38ba2e76-abad-42ff-a648-d5ef8db434b1"
], - "baseYield": 4,
- "targetYield": 6,
- "relevance": {
- "must": [
- "override"
], - "mustNot": [
- "override"
]
}
}
{- "totalLines": 12,
- "recipe": {
- "id": "9BF104F0-957C-11EC-A6C0-B92742570A34",
- "identifiers": [
- {
- "id": "e62aaf74-86b7-4231-8c30-0dca7d5c4e7d",
- "type": "sourceId",
- "identifier": "30542"
}
], - "title": {
- "language": "nl",
- "text": "Hartige herfsttaart"
}, - "description": {
- "language": "nl",
- "text": "Dit is een recept voor een heerlijke hartige taart met herfstgroenten."
}, - "allergens": [
- {
- "id": "61c5bf4b-fbcf-48d0-ae21-34c9bb3151a6",
- "name": "gluten",
- "value": "present"
}
], - "lifestyles": [
- {
- "id": "61c5bf4b-fbcf-48d0-ae21-34c9bb3151a6",
- "name": "halal",
- "value": "true"
}
], - "preferences": [
- {
- "id": "61c5bf4b-fbcf-48d0-ae21-34c9bb3151a6",
- "name": "chocolate",
- "value": "present"
}
], - "cookTime": {
- "duration": 15,
- "unit": "s"
}, - "prepTime": {
- "duration": 15,
- "unit": "s"
}, - "totalTime": {
- "duration": 15,
- "unit": "s"
}, - "yield": 4,
- "portionWeight": 500,
- "nutriScore": "A",
- "budget": {
- "score": 3,
- "indicator": "none"
}, - "difficulty": {
- "score": 3,
- "indicator": "none"
}, - "lines": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "name": {
- "language": "nl",
- "text": "kg broccoli"
}, - "amount": 2,
- "ingredient": {
- "name": [
- {
- "language": "nl",
- "text": "broccoli",
- "plural": true
}
], - "unit": [
- {
- "language": "nl",
- "text": "kg",
- "plural": true
}
], - "ironStock": true
}, - "order": 5,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "instructions": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "title": {
- "language": "nl",
- "text": "Deeg"
}, - "description": {
- "language": "nl",
- "text": "Zeef de bloem met het bakpoeder en zout. Doe in de kom van de keukenrobot en meng met de koude boter met de K-klopper. Voeg de eidooier en zure room lepel per lepel toe. Laat het deeg kort en snel kneden. Rol het deeg tot een bol en leg minstens 1 u in de koelkast."
}, - "tips": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": {
- "language": "nl",
- "text": "Kooktip"
}, - "name": {
- "language": "nl",
- "text": "Bakken"
}, - "description": {
- "language": "nl",
- "text": "Bak de aardappelschijfjes op hoge temperatuur voor een krokant korstje."
}, - "order": 3,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "media": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "small",
- "language": "all",
- "title": {
- "language": "nl",
- "text": "Halloween buffet"
}, - "description": {
- "language": "nl",
- "text": "In deze video wordt het organiseren van een halloween buffet gedemonstreerd."
}, - "order": 2,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "order": 2,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "media": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "small",
- "language": "all",
- "title": {
- "language": "nl",
- "text": "Halloween buffet"
}, - "description": {
- "language": "nl",
- "text": "In deze video wordt het organiseren van een halloween buffet gedemonstreerd."
}, - "order": 2,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "warehouses": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "name": {
- "language": "nl",
- "text": "Name warehouse"
}
}
], - "tips": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": {
- "language": "nl",
- "text": "Bijhorende dranken"
}, - "name": {
- "language": "nl",
- "text": "Tip over bijhorende dranken"
}, - "description": {
- "language": "nl",
- "text": "Een Cabernet Sauvignon past goed bij dit gerecht."
}, - "order": 4,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "tags": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": {
- "language": "nl",
- "text": "Moment"
}, - "name": {
- "language": "nl",
- "text": "BBQ"
}, - "media": {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "small",
- "language": "all",
- "title": {
- "language": "nl",
- "text": "Halloween buffet"
}, - "description": {
- "language": "nl",
- "text": "In deze video wordt het organiseren van een halloween buffet gedemonstreerd."
}, - "order": 2,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "utensils": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "name": {
- "language": "nl",
- "text": "Cakevorm"
}, - "media": {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "small",
- "language": "all",
- "title": {
- "language": "nl",
- "text": "Halloween buffet"
}, - "description": {
- "language": "nl",
- "text": "In deze video wordt het organiseren van een halloween buffet gedemonstreerd."
}, - "order": 2,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}, - "amount": 2,
- "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
], - "nutritionalsPer100gram": [
- [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "name": {
- "language": "nl",
- "text": "Suiker"
}, - "amount": {
- "value": 543254.4567,
- "unit": "SUGAR",
- "factor": 0.239
}, - "conversion": {
- "value": 1.38501,
- "unit": "g",
- "factor": 0.000001
}, - "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
]
], - "nutritionalsPerPortion": [
- [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "name": {
- "language": "nl",
- "text": "Suiker"
}, - "amount": {
- "value": 543254.4567,
- "unit": "SUGAR",
- "factor": 0.239
}, - "conversion": {
- "value": 1.38501,
- "unit": "g",
- "factor": 0.000001
}, - "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}
]
], - "status": {
- "state": "approved",
- "modifiedAt": "2019-08-24T14:15:22Z"
}, - "customFields": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "select",
- "name": "visibleOn",
- "description": "Specifies if content is visible on web and/or mobile",
- "createdAt": "2022-07-13T15:34:16+0200",
- "modifiedAt": "2022-07-13T15:34:16+0200",
- "multipleOptions": false,
- "value": "web"
}, - {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "select",
- "name": "visibleOn",
- "description": "Specifies if content is visible on web and/or mobile",
- "createdAt": "2022-07-13T15:34:16+0200",
- "modifiedAt": "2022-07-13T15:34:16+0200",
- "multipleOptions": true,
- "values": [
- "web",
- "mobile"
]
}
], - "createdAt": "2019-08-24T14:15:22Z",
- "modifiedAt": "2019-08-24T14:15:22Z"
}, - "lines": [
- {
- "line": "2 eieren",
- "order": 3,
- "results": [
- {
- "calculation": {
- "amount": null,
- "unit": null,
- "loss": null
}, - "article": {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "relevance": {
- "name": "override",
- "position": 7
}, - "name": {
- "language": "nl",
- "text": "Vanille ijs 1kg"
}, - "names": [
- {
- "language": null,
- "text": null,
- "type": null
}
], - "description": {
- "language": "nl",
- "text": "Heerlijk Belgisch vanille ijs."
}, - "identifiers": [
- {
- "id": null,
- "type": null,
- "identifier": null
}
], - "barcodes": [
- "04008789053381",
- "04008789753380"
], - "brand": {
- "language": "nl",
- "text": "Danone"
}, - "brands": [
- {
- "brand": { },
- "order": null
}
], - "warehouses": [
- {
- "id": null,
- "name": { },
- "identifiers": [ ],
- "prices": [ ]
}
], - "media": [
- {
- "id": null,
- "type": null,
- "size": null,
- "language": null,
- "url": null,
- "title": null,
- "description": null
}
], - "ecoScore": "A",
- "nutriScore": "A",
- "allergens": [
- {
- "id": null,
- "name": null,
- "value": null
}
], - "lifestyles": [
- {
- "id": null,
- "name": null,
- "value": null
}
], - "preferences": [
- {
- "id": null,
- "name": null,
- "value": null
}
], - "servings": 5,
- "amount": 1,
- "amountUnit": "piece",
- "promotions": [
- {
- "id": null,
- "type": null,
- "maxTimes": null,
- "warehouses": [ ],
- "benefits": [ ],
- "conditions": [ ]
}
], - "customFields": [
- {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "select",
- "name": "visibleOn",
- "description": "Specifies if content is visible on web and/or mobile",
- "createdAt": "2022-07-13T15:34:16+0200",
- "modifiedAt": "2022-07-13T15:34:16+0200",
- "multipleOptions": false,
- "value": "web"
}, - {
- "id": "38ba2e76-abad-42ff-a648-d5ef8db434b1",
- "type": "select",
- "name": "visibleOn",
- "description": "Specifies if content is visible on web and/or mobile",
- "createdAt": "2022-07-13T15:34:16+0200",
- "modifiedAt": "2022-07-13T15:34:16+0200",
- "multipleOptions": true,
- "values": [
- "web",
- "mobile"
]
}
], - "isWeightArticle": true,
- "isPrivateLabel": true,
- "labels": [
- {
- "identifier": null,
- "name": { },
- "group": { }
}
]
}
}
], - "ironStock": true
}
], - "yield": 6
}