Welcome to the new Chefkoch API documentation. if you are from chefkoch.de and want me to take the package down, please contact me on github.
The Chefkoch API is a API Wrapper that allows you to access the data of the chefkoch.de website.
To install the API, you need to type the following command in your terminal:
npm install chefkoch-api
To use the API, you need to import the API in your code:
const chefkoch = require('chefkoch-api');
Since the API is based on webscraping, it is very slow. If you want to get all the recipes, it will take a very, very long time. It will go through n(default=5) pages of the website and scrape all the ingredients of every single recipe. Currently it just supports ingredients because of performance issues and the fact that I don't need the other data for my project.
The API is based on webscraping. Every function returns a class that contains the data of the website. There is a DataParser Class where you can store data in a JSON or CSV file and read it again later. Pay attention that you use the "chefkochAPI" instance instead of the "ChefkochAPI" class! Since version 1.2.0 the API has a builtin beautifier that removes, newlines, tabs, multiple spaces, trailing spaces and leading spaces.
WARNING: THIS IS VERY SLOW!
chefkoch.chefkochAPI.getAllRecipes().then(function(data){
console.log(data);
});
chefkoch.chefkochAPI.getCategories().then(function(data){
console.log(data);
});
chefkoch.chefkochAPI.getCategories().then(function(data){
let category = data[0];
chefkoch.chefkochAPI.getRecipes(category, 5/*these are the amount of pages to scrape, this is optional*/, 0/*this is the Start page*/).then(function(data){
console.log(data);
});
});
chefkoch.chefkochAPI.searchRecipes('pizza', 5/*these are the amount of pages to scrape, this is optional*/, 0/*this is the Start page*/).then(function(data){
console.log(data);
});
chefkoch.chefkochAPI.getRecipe('/rezepte/1127371219159420/Dinkel-Hirse-Vollkornbrot.html'/*this is the subURL of the recipe*/).then(function(data){
console.log(data);
});
const chefkoch = require("chefkoch-api");
async function init() {
await chefkoch.chefkochAPI.searchRecipes("raclette").then(function(data) {
new chefkoch.DataParser().writeRecipesToJson(data, "raclette.json")
})
}
init()