Yummly
A simple Yummly API wrapper for Nodejs.
Install / Use
/learn @wstam88/YummlyREADME
Synopsis
A simple to use Yummly API wrapper for Nodejs.
Installation
$ npm install ws-yummly
Usage
var Yummly = require("ws-yummly");
Yummly.config({
app_id : 'YOUR_APP_ID',
app_key : 'YOUR_APP_KEY',
});
API
getMeta(type, [display])
type: holiday, allergy, course, cuisine, diet, ingredient
display: clean, raw (default)
Yummly.getMeta('diet', 'raw').then(function (meta) {
console.log(meta);
}).catch(function (error) {
console.log(error);
});
# output
[ { id: '388',
shortDescription: 'Lacto vegetarian',
longDescription: 'Lacto vegetarian',
searchValue: '388^Lacto vegetarian',
type: 'diet',
localesAvailableIn: [ 'en-US' ]
....
....
}]
maxTotalTimeInSeconds(number)
Maximum time in seconds it may take to prepare the meal
maxResults(number)
Maximum results from the API
start(number)
Start getting recipes from start number
minRating(number)
Minumum rating a recipe can have (1-5)
maxRating(number)
Maximum rating a recipe can have (1-5)
maxRating value will be ignored when lower then minRating
allowedIngredients(string or array)
for a list of allowed ingredients use:
Yummly.getMeta('ingredients')
excludedIngredients(string or array)
for a list of allowed ingredients use:
Yummly.getMeta('ingredients')
allowedAllergies(string or array)
for a list of possible values use:
Yummly.getMeta('allergy')
excludedAllergies(string or array)
for a list of possible values use:
Yummly.getMeta('allergy')
allowedDiets(string or array)
for a list of possible values use:
Yummly.getMeta('diet')
excludedDiets(string or array)
for a list of possible values use:
Yummly.getMeta('diet')
allowedCuisines(string or array)
for a list of possible values use:
Yummly.getMeta('cuisine')
excludedCuisines(string or array)
for a list of possible values use:
Yummly.getMeta('cuisine')
allowedCourses(string or array)
for a list of possible values use:
Yummly.getMeta('course')
excludedCourses(string or array)
for a list of possible values use:
Yummly.getMeta('course')
allowedHolidays(string or array)
for a list of possible values use:
Yummly.getMeta('holiday')
excludedHolidays(string or array)
for a list of possible values use:
Yummly.getMeta('holiday')
requirePictures(boolean)
Wheter or not the recipes must have a image attached
paginate(number)
Paginates the result array into chunks
Yummly.query('pineapple').maxResults(40).paginate(10).get().then(function(resp){
console.log(resp.matches); // 4 arrays within each 10 recipes
});
getURL()
Returns the current generated url
var url = Yummly.query('pineapple').maxResults(40).paginate(10).excludedHolidays('halloween').getURL();
// url: https://api.yummly.com/v1/api/recipes?_app_id=YOUR_APP_ID&_app_key=YOUR_APP_KEY&q=pineapple&maxResult=40&excludedHoliday[]=holiday^holiday-halloween
getWithURL()
Returns the current generated url
var url = https://api.yummly.com/v1/api/recipes?_app_id=YOUR_APP_ID&_app_key=YOUR_APP_KEY&q=pineapple&maxResult=10;
Yummly.getWithURL(url).then(function(resp){
console.log(resp);
}));
// url: https://api.yummly.com/v1/api/recipes?_app_id=YOUR_APP_ID&_app_key=YOUR_APP_KEY&q=pineapple&maxResult=40&excludedHoliday[]=holiday^holiday-halloween
getSettings()
Returns the current generated setting object
var settings = Yummly.query('pineapple').maxResults(40).paginate(10).excludedHolidays('halloween').getURL();
// settings: { maxResults: 40, paginate: 10, excludedHolidays: [ 'halloween' ] }
getDetails()
Returns details for recipes
var recipes = [
'Apple-Walnut-Cranberry-Salad-898353',
'Heavenly-Strawberry_s-650499',
'Chopped-Taco-Mason-Jar-Salad-1266468'
];
Yummly.getDetails(recipes).then(function (resp) {
resp.forEach(function (recipe) {
console.log(recipe.name);
});
}).catch(function (error) {
console.log(error);
});
get()
Returns a promise with possible results
Yummly.query('coconut').get().then(function (resp) {
resp.forEach(function (recipe) {
console.log(recipe.name);
});
}).catch(function (error) {
console.log(error);
});
Example
Yummly.query('pineapple')
.maxTotalTimeInSeconds(1400)
.maxResults(20)
.allowedDiets(['Pescetarian', 'Vegan'])
.allowedCuisines(['asian'])
.minRating(3)
.get()
.then(function(resp){
resp.matches.forEach(function(recipe){
console.log(recipe.recipeName);
});
});
# Thai Shrimp and Pineapple Curry
# Thai Pineapple Fried Rice
# Asian Pineapple Sauce
# Thai Pineapple Fried Rice
# Asian Caramelized Pineapple
# Thai Pineapple Fried Rice
# ...
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
