yummly 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51e5c829b8baeb193548ffdd82b01e55208568e4
4
- data.tar.gz: 4858f3818dd27b03cfe775f9513626e1bd278d0e
3
+ metadata.gz: 2ab5e084a8a21890f80631110a6dae76b3b181d4
4
+ data.tar.gz: 2c1aaa4ffac1ca5944c2d9d926c7eedcb1d6c3fb
5
5
  SHA512:
6
- metadata.gz: cf346da72722f04e5cd0533dc88653a685b79e79aaa58432d8794175974f8c4502bde3516534cfdae24773d6185d3d5491c2d9bb65c8ffc8059b3ad2ea9da32d
7
- data.tar.gz: a2e75fe989b3e0d3540db7346dd650152f598a5975b07d4bcaee751cb04a484f589585066ab1f78de9d5e11d373d491b22b4d3c9d0c869a4ca9992d3cdd4e456
6
+ metadata.gz: 70474e03659e2dca715213fa5781e5f8b1dc289d74e318a8e4c270dad85b7c15e676dda51e8cb154a1194d5ec6ea3b3d7b7c903ccee5c3f23fb6dc3793be646c
7
+ data.tar.gz: d00a4777f6350e080311928d0d11b3fcd10642a0277a390bc09c6d0b0ce1e06911a1c362ef1896d0d65622dda9bb923129eafdfcbca181e7daacad43e635172d
data/.gitignore CHANGED
@@ -16,3 +16,6 @@ spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
18
  tmp
19
+ .ruby-version
20
+ .ruby-gemset
21
+ .rvmrc
data/README.md CHANGED
@@ -38,15 +38,17 @@ Once configured, you have access to two API calls:
38
38
 
39
39
  #### Search
40
40
 
41
- The search command returns an array of Yummly::Recipe objects:
41
+ The search command returns a Yummly::SearchResult object, which is a customer Enumerable collection of Recipe objects:
42
42
 
43
- Yummly.search('Onion soup')
43
+ result = Yummly.search('Onion soup')
44
+ result.total # returns 10
44
45
 
45
46
  #### Find
46
47
 
47
48
  The find command returns a single Yummly::Recipe object:
48
49
 
49
- Yummly.find('French-Onion-Soup-The-Pioneer-Woman-Cooks-_-Ree-Drummond-41364')
50
+ recipe = Yummly.find('French-Onion-Soup-The-Pioneer-Woman-Cooks-_-Ree-Drummond-41364')
51
+ recipe.name # returns "French Onion Soup"
50
52
 
51
53
  ## The Recipe object
52
54
 
data/lib/yummly.rb CHANGED
@@ -2,15 +2,19 @@ require "faraday"
2
2
  require "rack"
3
3
  require "json"
4
4
  require "yummly/api"
5
+ require "yummly/attribution"
5
6
  require "yummly/configuration"
6
7
  require "yummly/connection"
8
+ require "yummly/faraday_adapter"
7
9
  require "yummly/flavor"
8
10
  require "yummly/image"
9
11
  require "yummly/nutrition_estimate"
10
12
  require "yummly/recipe"
13
+ require "yummly/search_result"
11
14
  require "yummly/source"
12
15
  require "yummly/unit"
13
16
  require "yummly/version"
17
+ require "yummly/url_builder"
14
18
 
15
19
  module Yummly
16
20
 
@@ -36,5 +40,7 @@ module Yummly
36
40
  end
37
41
 
38
42
  class Error < StandardError; end
43
+ class NotFoundError < Error; end
39
44
  class PermissionError < Error; end
45
+ class NotImplementedError < Error; end
40
46
  end
data/lib/yummly/api.rb CHANGED
@@ -25,13 +25,13 @@ module Yummly
25
25
  #
26
26
  # @param [String] terms A string of terms used to search API
27
27
  # @param [Hash] params Additional options to pass to the search API
28
- # @return [Array] a collection of recipe objects
28
+ # @return [Yummly::SearchResult] an enumerable search result object
29
29
  # @example
30
30
  # recipes = Yummly::Api.search('Onion soup')
31
31
  def self.search(terms, params = {})
32
32
  params[:q] = terms unless params.has_key?(:q)
33
- result = Yummly::Connection.get(:recipes, params)
34
- result["matches"].collect { |recipe_json| Yummly::Recipe.new(recipe_json) }
33
+ result = Yummly::Connection.get("recipes", params)
34
+ Yummly::SearchResult.new(result)
35
35
  end
36
36
 
37
37
  end
@@ -0,0 +1,18 @@
1
+ # Contains the attribution values.
2
+ module Yummly
3
+ class Attribution
4
+
5
+ attr_reader :html,
6
+ :url,
7
+ :text,
8
+ :logo
9
+
10
+ def initialize(values)
11
+ @html = values["html"]
12
+ @url = values["url"]
13
+ @text = values["text"]
14
+ @logo = values["logo"]
15
+ end
16
+
17
+ end
18
+ end
@@ -18,11 +18,13 @@ module Yummly
18
18
 
19
19
  attr_accessor :app_key,
20
20
  :app_id,
21
- :use_ssl
21
+ :use_ssl,
22
+ :test
22
23
 
23
24
  # Creates a configuration object, defaulting use_ssl to false.
24
25
  def initialize
25
26
  @use_ssl = false
27
+ @test = false
26
28
  end
27
29
 
28
30
  # Returns true if API calls to Yummly should use SSL.
@@ -2,53 +2,36 @@
2
2
  module Yummly
3
3
  class Connection
4
4
 
5
- attr_accessor :connection
5
+ class << self
6
6
 
7
- def self.get(command, params = {})
8
- response = self.api_connection(self.url).get(self.uri(command, params))
9
- self.parse_response(response)
10
- end
7
+ attr_writer :adapter
11
8
 
12
- def self.api_connection(url)
13
- Faraday.new(:url => url) do |faraday|
14
- faraday.request :url_encoded # form-encode POST params
15
- faraday.response :logger # log requests to STDOUT
16
- faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
9
+ def get(command, params = {})
10
+ response = self.api_connection.get(UrlBuilder.uri(command, params))
11
+ self.parse_response(response)
17
12
  end
18
- end
19
13
 
20
- def self.parse_response(response)
21
- case response.status
22
- when 409 then
23
- raise Yummly::PermissionError, response.body
24
- when 404 then
25
- nil
26
- when 200 then
27
- JSON.parse(response.body)
14
+ def api_connection
15
+ adapter.connection(UrlBuilder.domain)
28
16
  end
29
- end
30
17
 
31
- def self.url
32
- "#{self.protocol}://api.yummly.com"
33
- end
34
-
35
- def self.uri(command, params)
36
- query_string = self.build_params_query_string(params)
37
- "/#{self.api_version}/api/#{command}?#{query_string}"
38
- end
39
-
40
- def self.build_params_query_string(params)
41
- params['_app_id'] = Yummly.configuration.app_id
42
- params['_app_key'] = Yummly.configuration.app_key
43
- Rack::Utils.build_query(params)
44
- end
18
+ def adapter
19
+ @adapter || Yummly::FaradayAdapter
20
+ end
45
21
 
46
- def self.protocol
47
- Yummly.configuration.use_ssl? ? 'https' : 'http'
48
- end
22
+ def parse_response(response)
23
+ case response.status
24
+ when 409 then
25
+ raise Yummly::PermissionError, response.body
26
+ when 404 then
27
+ nil
28
+ when 200 then
29
+ JSON.parse(response.body)
30
+ when 501 then
31
+ raise Yummly::NotImplementedError, response.body
32
+ end
33
+ end
49
34
 
50
- def self.api_version
51
- Yummly::API_VERSION
52
35
  end
53
36
 
54
37
  end
@@ -0,0 +1,14 @@
1
+ # This class handles the HTTP interactions with the Yummly API calls.
2
+ module Yummly
3
+ class FaradayAdapter
4
+
5
+ def self.connection(url = nil)
6
+ Faraday.new(:url => url) do |faraday|
7
+ faraday.request :url_encoded # form-encode POST params
8
+ faraday.response :logger # log requests to STDOUT
9
+ faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
10
+ end
11
+ end
12
+
13
+ end
14
+ end
data/lib/yummly/recipe.rb CHANGED
@@ -23,7 +23,7 @@ module Yummly
23
23
  end
24
24
 
25
25
  def attribution
26
- response["attribution"]
26
+ @attribution ||= Yummly::Attribution.new(response["attribution"])
27
27
  end
28
28
 
29
29
  def description
@@ -0,0 +1,42 @@
1
+ # This enumerable class maps a Yummly search response to a set of recipe objects and includes meta data related to
2
+ # the overall search result, such as total match count.
3
+ #
4
+ # TODO: Make this class scrollable, allowing it to page through the results easily via next and previous, e.g.
5
+ module Yummly
6
+ class SearchResult
7
+
8
+ include Enumerable
9
+
10
+ attr_accessor :response, :params, :max_result, :start
11
+
12
+ def initialize(response)
13
+ @response = response
14
+ end
15
+
16
+ def each(&block)
17
+ recipes.each(&block)
18
+ end
19
+
20
+ def recipes
21
+ @recipes ||= matches.collect { |recipe_json| Yummly::Recipe.new(recipe_json) }
22
+ end
23
+
24
+ def matches
25
+ response["matches"] || []
26
+ end
27
+
28
+ def total_match_count
29
+ response["totalMatchCount"]
30
+ end
31
+ alias_method :total, :total_match_count
32
+
33
+ def attribution
34
+ Yummly::Attribution.new(response["attribution"])
35
+ end
36
+
37
+ def criteria
38
+ response["criteria"]
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,33 @@
1
+ # This class handles the HTTP interactions with the Yummly API calls.
2
+ module Yummly
3
+ class UrlBuilder
4
+
5
+ class << self
6
+
7
+ def domain
8
+ "#{self.protocol}://api.yummly.com"
9
+ end
10
+
11
+ def uri(command, params = {})
12
+ query_string = self.build_params_query_string(params)
13
+ "/#{self.api_version}/api/#{command}?#{query_string}"
14
+ end
15
+
16
+ def build_params_query_string(params = {})
17
+ params['_app_id'] = Yummly.configuration.app_id
18
+ params['_app_key'] = Yummly.configuration.app_key
19
+ Rack::Utils.build_query(params)
20
+ end
21
+
22
+ def protocol
23
+ Yummly.configuration.use_ssl? ? 'https' : 'http'
24
+ end
25
+
26
+ def api_version
27
+ Yummly::API_VERSION
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+ end
@@ -1,3 +1,3 @@
1
1
  module Yummly
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
@@ -0,0 +1,1609 @@
1
+ {
2
+ "attribution": {
3
+ "html": "&lt;a href='http://www.yummly.com/recipes/soup'&gt;soup recipes&lt;/a&gt; search powered by &lt;img src=''/&gt;",
4
+ "url": "http://www.yummly.com/recipes/soup",
5
+ "text": "soup recipes: search powered by Yummly",
6
+ "logo": ""
7
+ },
8
+ "totalMatchCount": 39,
9
+ "facetCounts": {},
10
+ "matches": [
11
+ {
12
+ "attributes": {
13
+ "course": [
14
+ "Soups"
15
+ ],
16
+ "cuisine": [
17
+ "Italian"
18
+ ]
19
+ },
20
+ "flavors": {
21
+ "salty": 0.6666666666666666,
22
+ "sour": 0.8333333333333334,
23
+ "sweet": 0.6666666666666666,
24
+ "bitter": 0.5,
25
+ "meaty": 0.16666666666666666,
26
+ "piquant": 0.5
27
+ },
28
+ "rating": 4.6,
29
+ "id": "Vegetarian-Cabbage-Soup-Recipezaar",
30
+ "smallImageUrls": [],
31
+ "sourceDisplayName": "Food.com",
32
+ "totalTimeInSeconds": 4500,
33
+ "ingredients": [
34
+ "garlic cloves",
35
+ "ground pepper",
36
+ "diced tomatoes",
37
+ "celery",
38
+ "tomato juice",
39
+ "salt",
40
+ "cabbage",
41
+ "bell peppers",
42
+ "oregano",
43
+ "carrots",
44
+ "basil",
45
+ "vegetable broth",
46
+ "chili pepper flakes",
47
+ "green beans",
48
+ "onions",
49
+ "onion soup mix"
50
+ ],
51
+ "recipeName": "Vegetarian Cabbage Soup"
52
+ },
53
+ {
54
+ "attributes": {
55
+ "course": [
56
+ "Soups"
57
+ ],
58
+ "cuisine": [
59
+ "Moroccan",
60
+ "Asian"
61
+ ]
62
+ },
63
+ "flavors": {
64
+ "salty": 0.6666666666666666,
65
+ "sour": 0.6666666666666666,
66
+ "sweet": 0.5,
67
+ "bitter": 0.5,
68
+ "meaty": 0.3333333333333333,
69
+ "piquant": 0.6666666666666666
70
+ },
71
+ "rating": 5,
72
+ "id": "Oriental-Inspired-Vegetable-Soup-Recipezaar",
73
+ "smallImageUrls": [],
74
+ "sourceDisplayName": "Food.com",
75
+ "totalTimeInSeconds": 24300,
76
+ "ingredients": [
77
+ "tamari",
78
+ "rice vinegar",
79
+ "bamboo shoots",
80
+ "lime juice",
81
+ "pepper",
82
+ "vegetable bouillon",
83
+ "sesame oil",
84
+ "salt",
85
+ "carrots",
86
+ "yellow onions",
87
+ "red pepper",
88
+ "garlic",
89
+ "fish",
90
+ "baby corn",
91
+ "crushed red pepper",
92
+ "spinach",
93
+ "cremini mushrooms",
94
+ "ginger",
95
+ "peanut oil",
96
+ "water",
97
+ "raw sugar",
98
+ "ketchup",
99
+ "chives",
100
+ "cabbage",
101
+ "water chestnuts",
102
+ "hot chili oil"
103
+ ],
104
+ "recipeName": "Oriental Inspired Vegetable Soup"
105
+ },
106
+ {
107
+ "attributes": {
108
+ "course": [
109
+ "Main Dishes",
110
+ "Soups"
111
+ ],
112
+ "cuisine": [
113
+ "Italian"
114
+ ]
115
+ },
116
+ "flavors": {
117
+ "salty": 0.6666666666666666,
118
+ "sour": 0.5,
119
+ "sweet": 0.5,
120
+ "bitter": 0.8333333333333334,
121
+ "meaty": 0.6666666666666666,
122
+ "piquant": 0.6666666666666666
123
+ },
124
+ "rating": 5,
125
+ "id": "Chunky-Rice-And-Bean-Soup-Recipezaar",
126
+ "smallImageUrls": [],
127
+ "sourceDisplayName": "Food.com",
128
+ "totalTimeInSeconds": 2700,
129
+ "ingredients": [
130
+ "dried oregano",
131
+ "chili powder",
132
+ "chopped celery",
133
+ "long grain rice",
134
+ "kidney beans",
135
+ "shredded cabbage",
136
+ "red pepper",
137
+ "carrot",
138
+ "onion",
139
+ "minced garlic",
140
+ "green beans",
141
+ "olive oil",
142
+ "pepper",
143
+ "vegetable stock"
144
+ ],
145
+ "recipeName": "Chunky Rice and Bean Soup"
146
+ },
147
+ {
148
+ "attributes": {
149
+ "course": [
150
+ "Soups",
151
+ "Appetizers"
152
+ ],
153
+ "cuisine": [
154
+ "German"
155
+ ]
156
+ },
157
+ "flavors": {
158
+ "salty": 0.16666666666666666,
159
+ "sour": 0.6666666666666666,
160
+ "sweet": 0.3333333333333333,
161
+ "bitter": 0.16666666666666666,
162
+ "meaty": 0.16666666666666666,
163
+ "piquant": 0.5
164
+ },
165
+ "rating": 5,
166
+ "id": "7-Samurai-Vegan-Soup-Recipezaar",
167
+ "smallImageUrls": [],
168
+ "sourceDisplayName": "Food.com",
169
+ "totalTimeInSeconds": 3000,
170
+ "ingredients": [
171
+ "carrots",
172
+ "cauliflower",
173
+ "water",
174
+ "onions",
175
+ "garlic cloves",
176
+ "pepper",
177
+ "potatoes",
178
+ "brussels sprouts",
179
+ "salt",
180
+ "olive oil",
181
+ "celery ribs",
182
+ "curry powder"
183
+ ],
184
+ "recipeName": "7 Samurai Vegan Soup"
185
+ },
186
+ {
187
+ "attributes": {
188
+ "course": [
189
+ "Main Dishes",
190
+ "Soups"
191
+ ]
192
+ },
193
+ "flavors": {
194
+ "salty": 0.6666666666666666,
195
+ "sour": 0.8333333333333334,
196
+ "sweet": 0.6666666666666666,
197
+ "bitter": 0.5,
198
+ "meaty": 0.3333333333333333,
199
+ "piquant": 0.5
200
+ },
201
+ "rating": 5,
202
+ "id": "Tomato-Lentil-Soup-Recipezaar_3",
203
+ "smallImageUrls": [],
204
+ "sourceDisplayName": "Food.com",
205
+ "totalTimeInSeconds": 4500,
206
+ "ingredients": [
207
+ "salt",
208
+ "onions",
209
+ "broccoli",
210
+ "celery",
211
+ "carrots",
212
+ "lentils",
213
+ "green pepper",
214
+ "tomato juice",
215
+ "tomato puree",
216
+ "apple cider vinegar",
217
+ "clove garlic",
218
+ "red cabbage",
219
+ "olive oil",
220
+ "zucchini",
221
+ "tamari",
222
+ "water",
223
+ "bay leaf"
224
+ ],
225
+ "recipeName": "Tomato Lentil Soup"
226
+ },
227
+ {
228
+ "attributes": {
229
+ "course": [
230
+ "Soups"
231
+ ]
232
+ },
233
+ "flavors": {
234
+ "salty": 0.5,
235
+ "sour": 0.3333333333333333,
236
+ "sweet": 0.5,
237
+ "bitter": 0.16666666666666666,
238
+ "meaty": 0.16666666666666666,
239
+ "piquant": 0.6666666666666666
240
+ },
241
+ "rating": 5,
242
+ "id": "Very-Veggie-Vegetable-Soup-Recipezaar",
243
+ "smallImageUrls": [],
244
+ "sourceDisplayName": "Food.com",
245
+ "totalTimeInSeconds": 5400,
246
+ "ingredients": [
247
+ "tomato paste",
248
+ "water",
249
+ "celery",
250
+ "corn",
251
+ "shredded cabbage",
252
+ "green beans",
253
+ "pepper",
254
+ "vegetable broth",
255
+ "shallots",
256
+ "diced tomatoes",
257
+ "salt",
258
+ "olive oil",
259
+ "chili paste",
260
+ "carrots"
261
+ ],
262
+ "recipeName": "Very Veggie Vegetable Soup"
263
+ },
264
+ {
265
+ "attributes": {
266
+ "course": [
267
+ "Soups"
268
+ ],
269
+ "cuisine": [
270
+ "Cuban",
271
+ "Italian"
272
+ ]
273
+ },
274
+ "flavors": {
275
+ "salty": 0.16666666666666666,
276
+ "sour": 0.6666666666666666,
277
+ "sweet": 0.3333333333333333,
278
+ "bitter": 0.16666666666666666,
279
+ "meaty": 0.16666666666666666,
280
+ "piquant": 0.5
281
+ },
282
+ "rating": 5,
283
+ "id": "Cabbage-And-Tofu-Soup-Recipezaar",
284
+ "smallImageUrls": [],
285
+ "sourceDisplayName": "Food.com",
286
+ "totalTimeInSeconds": 3000,
287
+ "ingredients": [
288
+ "bay leaves",
289
+ "white onion",
290
+ "tofu",
291
+ "peppercorns",
292
+ "diced tomatoes",
293
+ "cabbage",
294
+ "red wine",
295
+ "carrots",
296
+ "red pepper flakes",
297
+ "water",
298
+ "dried oregano",
299
+ "green beans"
300
+ ],
301
+ "recipeName": "Cabbage and Tofu Soup"
302
+ },
303
+ {
304
+ "attributes": {
305
+ "course": [
306
+ "Soups"
307
+ ],
308
+ "cuisine": [
309
+ "Italian"
310
+ ]
311
+ },
312
+ "flavors": {
313
+ "salty": 0.3333333333333333,
314
+ "sour": 0.5,
315
+ "sweet": 0.5,
316
+ "bitter": 0.3333333333333333,
317
+ "meaty": 0.16666666666666666,
318
+ "piquant": 0.5
319
+ },
320
+ "rating": 4,
321
+ "id": "Everything-Soup-Recipezaar_2",
322
+ "smallImageUrls": [],
323
+ "sourceDisplayName": "Food.com",
324
+ "totalTimeInSeconds": 8100,
325
+ "ingredients": [
326
+ "garlic cloves",
327
+ "basil",
328
+ "salt",
329
+ "spinach",
330
+ "bean",
331
+ "carrots",
332
+ "tomatoes",
333
+ "cabbage",
334
+ "celery",
335
+ "sweet onion",
336
+ "water",
337
+ "oregano",
338
+ "water",
339
+ "pepper",
340
+ "vegetable stock base",
341
+ "lentils",
342
+ "thyme",
343
+ "red beans"
344
+ ],
345
+ "recipeName": "Everything Soup"
346
+ },
347
+ {
348
+ "attributes": {
349
+ "course": [
350
+ "Soups"
351
+ ],
352
+ "cuisine": [
353
+ "Italian"
354
+ ]
355
+ },
356
+ "flavors": {
357
+ "salty": 0.6666666666666666,
358
+ "sour": 0.6666666666666666,
359
+ "sweet": 0.6666666666666666,
360
+ "bitter": 0.16666666666666666,
361
+ "meaty": 0.16666666666666666,
362
+ "piquant": 0.6666666666666666
363
+ },
364
+ "rating": 4.84,
365
+ "id": "Zero-Fat-Soup-Recipezaar",
366
+ "smallImageUrls": [],
367
+ "sourceDisplayName": "Food.com",
368
+ "totalTimeInSeconds": 2400,
369
+ "ingredients": [
370
+ "salt",
371
+ "green beans",
372
+ "dried basil",
373
+ "red bell pepper",
374
+ "carrot",
375
+ "green cabbage",
376
+ "diced tomatoes",
377
+ "dried oregano",
378
+ "onions",
379
+ "dried thyme",
380
+ "dill",
381
+ "garlic cloves",
382
+ "soy sauce",
383
+ "cider vinegar",
384
+ "black pepper",
385
+ "vegetable broth",
386
+ "celery"
387
+ ],
388
+ "recipeName": "Zero Fat Soup"
389
+ },
390
+ {
391
+ "attributes": {
392
+ "course": [
393
+ "Soups"
394
+ ],
395
+ "cuisine": [
396
+ "Italian"
397
+ ]
398
+ },
399
+ "flavors": {
400
+ "salty": 1,
401
+ "sour": 0.5,
402
+ "sweet": 0.3333333333333333,
403
+ "bitter": 0.8333333333333334,
404
+ "meaty": 1,
405
+ "piquant": 0.6666666666666666
406
+ },
407
+ "rating": 4.5,
408
+ "id": "Vegetable_cod-Soup-Recipezaar",
409
+ "smallImageUrls": [],
410
+ "sourceDisplayName": "Food.com",
411
+ "totalTimeInSeconds": 2100,
412
+ "ingredients": [
413
+ "margarine",
414
+ "dried basil",
415
+ "vegetable broth",
416
+ "onion",
417
+ "green beans",
418
+ "pepper",
419
+ "dried thyme",
420
+ "carrot",
421
+ "rosemary",
422
+ "fish fillet",
423
+ "red pepper",
424
+ "cabbage"
425
+ ],
426
+ "recipeName": "Vegetable-Cod Soup"
427
+ },
428
+ {
429
+ "attributes": {
430
+ "course": [
431
+ "Soups"
432
+ ]
433
+ },
434
+ "flavors": {
435
+ "salty": 0.3333333333333333,
436
+ "sour": 0.6666666666666666,
437
+ "sweet": 0.16666666666666666,
438
+ "bitter": 0.16666666666666666,
439
+ "meaty": 0.16666666666666666,
440
+ "piquant": 0.5
441
+ },
442
+ "rating": 5,
443
+ "id": "Creamy-Cabbage-Soup-_dairy_free_-Recipezaar",
444
+ "smallImageUrls": [],
445
+ "sourceDisplayName": "Food.com",
446
+ "totalTimeInSeconds": 1800,
447
+ "ingredients": [
448
+ "soymilk",
449
+ "vegetable broth",
450
+ "white pepper",
451
+ "cabbage"
452
+ ],
453
+ "recipeName": "Creamy Cabbage Soup (Dairy-Free)"
454
+ },
455
+ {
456
+ "attributes": {
457
+ "course": [
458
+ "Soups"
459
+ ],
460
+ "cuisine": [
461
+ "Moroccan",
462
+ "Asian"
463
+ ]
464
+ },
465
+ "flavors": {
466
+ "salty": 0.8333333333333334,
467
+ "sour": 0.6666666666666666,
468
+ "sweet": 0.5,
469
+ "bitter": 0.16666666666666666,
470
+ "meaty": 0.16666666666666666,
471
+ "piquant": 0.5
472
+ },
473
+ "rating": 5,
474
+ "id": "Ww-Zero-Point-Asian-Soup-Recipezaar",
475
+ "smallImageUrls": [],
476
+ "sourceDisplayName": "Food.com",
477
+ "totalTimeInSeconds": 2100,
478
+ "ingredients": [
479
+ "water chestnut",
480
+ "scallions",
481
+ "garlic cloves",
482
+ "bean sprouts",
483
+ "snow peas",
484
+ "vegetable broth",
485
+ "cilantro",
486
+ "gingerroot",
487
+ "chinese cabbage",
488
+ "oyster mushrooms",
489
+ "low sodium soy sauce",
490
+ "bok choy",
491
+ "red pepper",
492
+ "red pepper flakes"
493
+ ],
494
+ "recipeName": "Ww Zero Point Asian Soup"
495
+ },
496
+ {
497
+ "attributes": {
498
+ "course": [
499
+ "Soups"
500
+ ],
501
+ "cuisine": [
502
+ "Italian"
503
+ ]
504
+ },
505
+ "flavors": {
506
+ "salty": 0.16666666666666666,
507
+ "sour": 0.8333333333333334,
508
+ "sweet": 0.5,
509
+ "bitter": 0.16666666666666666,
510
+ "meaty": 0.16666666666666666,
511
+ "piquant": 0.6666666666666666
512
+ },
513
+ "rating": 5,
514
+ "id": "My-Weight-Watcher-Killer-Soup-Recipezaar",
515
+ "smallImageUrls": [],
516
+ "sourceDisplayName": "Food.com",
517
+ "totalTimeInSeconds": 8100,
518
+ "ingredients": [
519
+ "salt",
520
+ "green beans",
521
+ "green cabbage",
522
+ "old bay seasoning",
523
+ "hot sauce",
524
+ "italian seasoning",
525
+ "celery ribs",
526
+ "onion",
527
+ "tomato juice",
528
+ "carrots",
529
+ "garlic cloves",
530
+ "water",
531
+ "pepper",
532
+ "bay leaves"
533
+ ],
534
+ "recipeName": "My Weight Watcher Killer Soup"
535
+ },
536
+ {
537
+ "attributes": {
538
+ "course": [
539
+ "Main Dishes",
540
+ "Soups"
541
+ ],
542
+ "cuisine": [
543
+ "Cuban",
544
+ "Soul Food",
545
+ "Southwestern",
546
+ "Italian"
547
+ ]
548
+ },
549
+ "flavors": {
550
+ "salty": 0.3333333333333333,
551
+ "sour": 0.6666666666666666,
552
+ "sweet": 0.6666666666666666,
553
+ "bitter": 0.3333333333333333,
554
+ "meaty": 0.3333333333333333,
555
+ "piquant": 0.5
556
+ },
557
+ "rating": 4,
558
+ "id": "Dreamy-Cabbage-Soup-Recipezaar",
559
+ "smallImageUrls": [],
560
+ "sourceDisplayName": "Food.com",
561
+ "totalTimeInSeconds": 5400,
562
+ "ingredients": [
563
+ "tomato juice",
564
+ "garlic powder",
565
+ "pea",
566
+ "potatoes",
567
+ "corn",
568
+ "pepper",
569
+ "oregano",
570
+ "brown rice",
571
+ "salt",
572
+ "shredded cabbage",
573
+ "shredded carrots",
574
+ "couscous"
575
+ ],
576
+ "recipeName": "Dreamy Cabbage Soup"
577
+ },
578
+ {
579
+ "attributes": {
580
+ "course": [
581
+ "Soups",
582
+ "Lunch and Snacks"
583
+ ],
584
+ "cuisine": [
585
+ "Italian"
586
+ ],
587
+ "holiday": [
588
+ "Thanksgiving"
589
+ ]
590
+ },
591
+ "flavors": {
592
+ "salty": 0.3333333333333333,
593
+ "sour": 0.8333333333333334,
594
+ "sweet": 0.5,
595
+ "bitter": 0.16666666666666666,
596
+ "meaty": 0.16666666666666666,
597
+ "piquant": 0.6666666666666666
598
+ },
599
+ "rating": 4,
600
+ "id": "Satan_s-Own-Vegetable-Soup-Recipezaar",
601
+ "smallImageUrls": [],
602
+ "sourceDisplayName": "Food.com",
603
+ "totalTimeInSeconds": 3300,
604
+ "ingredients": [
605
+ "cabbage",
606
+ "cayenne pepper",
607
+ "basil",
608
+ "oregano",
609
+ "celery",
610
+ "tomato paste",
611
+ "onion",
612
+ "dill weed",
613
+ "carrots",
614
+ "parsley"
615
+ ],
616
+ "recipeName": "Satan's Own Vegetable Soup"
617
+ },
618
+ {
619
+ "attributes": {
620
+ "course": [
621
+ "Soups"
622
+ ],
623
+ "cuisine": [
624
+ "Tuscan",
625
+ "Indian",
626
+ "Italian",
627
+ "Sindhi"
628
+ ]
629
+ },
630
+ "flavors": {
631
+ "salty": 0.5,
632
+ "sour": 0.6666666666666666,
633
+ "sweet": 0.3333333333333333,
634
+ "bitter": 0.16666666666666666,
635
+ "meaty": 0.16666666666666666,
636
+ "piquant": 0.5
637
+ },
638
+ "rating": 3,
639
+ "id": "Vegetable-Soup-Recipezaar_5",
640
+ "smallImageUrls": [],
641
+ "sourceDisplayName": "Food.com",
642
+ "totalTimeInSeconds": 3000,
643
+ "ingredients": [
644
+ "carrots",
645
+ "oil",
646
+ "potatoes",
647
+ "cabbage",
648
+ "garlic cloves",
649
+ "water",
650
+ "black pepper",
651
+ "cajun seasoning",
652
+ "salt",
653
+ "okra",
654
+ "celery",
655
+ "rice"
656
+ ],
657
+ "recipeName": "Vegetable Soup"
658
+ },
659
+ {
660
+ "attributes": {
661
+ "course": [
662
+ "Soups"
663
+ ],
664
+ "cuisine": [
665
+ "Thai",
666
+ "Italian"
667
+ ]
668
+ },
669
+ "flavors": {
670
+ "salty": 0.6666666666666666,
671
+ "sour": 0.5,
672
+ "sweet": 0.16666666666666666,
673
+ "bitter": 0.3333333333333333,
674
+ "meaty": 0.16666666666666666,
675
+ "piquant": 0.8333333333333334
676
+ },
677
+ "rating": 5,
678
+ "id": "Fat-Free-Thai-Style-Vegetable-Soup-Recipezaar",
679
+ "smallImageUrls": [
680
+ "http://i.yummly.com/Fat-Free-Thai-Style-Vegetable-Soup-Recipezaar-12713.s.png"
681
+ ],
682
+ "sourceDisplayName": "Food.com",
683
+ "totalTimeInSeconds": 1500,
684
+ "ingredients": [
685
+ "fresh lime",
686
+ "carrot",
687
+ "coriander",
688
+ "zucchini",
689
+ "fresh ginger",
690
+ "chinese cabbage",
691
+ "tamarind paste",
692
+ "cumin seed",
693
+ "green chilies",
694
+ "salt",
695
+ "coriander seed",
696
+ "pepper",
697
+ "soy sauce",
698
+ "lemongrass",
699
+ "lemon juice",
700
+ "water",
701
+ "tomatoes"
702
+ ],
703
+ "recipeName": "Fat Free Thai Style Vegetable Soup"
704
+ },
705
+ {
706
+ "attributes": {
707
+ "course": [
708
+ "Soups"
709
+ ],
710
+ "cuisine": [
711
+ "Indian",
712
+ "Jamaican",
713
+ "Sindhi"
714
+ ]
715
+ },
716
+ "flavors": {
717
+ "salty": 0.5,
718
+ "sour": 0.3333333333333333,
719
+ "sweet": 0.5,
720
+ "bitter": 0.5,
721
+ "meaty": 0.5,
722
+ "piquant": 0.6666666666666666
723
+ },
724
+ "rating": 4.2,
725
+ "id": "Hearty-Vegan-Navy-Bean-Soup-Recipezaar",
726
+ "smallImageUrls": [],
727
+ "sourceDisplayName": "Food.com",
728
+ "totalTimeInSeconds": 10800,
729
+ "ingredients": [
730
+ "tomato sauce",
731
+ "parsley flakes",
732
+ "black pepper",
733
+ "cabbage",
734
+ "water",
735
+ "garlic cloves",
736
+ "balsamic vinegar",
737
+ "bay leaves",
738
+ "celery",
739
+ "onions",
740
+ "mustard powder",
741
+ "salt",
742
+ "chili powder",
743
+ "thyme",
744
+ "ground ginger",
745
+ "carrots",
746
+ "tabasco sauce",
747
+ "navy beans"
748
+ ],
749
+ "recipeName": "Hearty Vegan Navy Bean Soup"
750
+ },
751
+ {
752
+ "attributes": {
753
+ "course": [
754
+ "Soups"
755
+ ],
756
+ "cuisine": [
757
+ "Thai"
758
+ ]
759
+ },
760
+ "flavors": {
761
+ "salty": 0.6666666666666666,
762
+ "sour": 0.16666666666666666,
763
+ "sweet": 0.5,
764
+ "bitter": 0.16666666666666666,
765
+ "meaty": 0.6666666666666666,
766
+ "piquant": 0.6666666666666666
767
+ },
768
+ "rating": 4,
769
+ "id": "Thai-Green-Curry-Shrimp-Soup-Recipezaar",
770
+ "smallImageUrls": [],
771
+ "sourceDisplayName": "Food.com",
772
+ "totalTimeInSeconds": 4500,
773
+ "ingredients": [
774
+ "green curry paste",
775
+ "tamarind paste",
776
+ "brown sugar",
777
+ "straw mushrooms",
778
+ "chinese cabbage",
779
+ "green beans",
780
+ "carrot",
781
+ "fish sauce",
782
+ "shrimp"
783
+ ],
784
+ "recipeName": "Thai Green Curry Shrimp Soup"
785
+ },
786
+ {
787
+ "attributes": {
788
+ "course": [
789
+ "Soups"
790
+ ],
791
+ "cuisine": [
792
+ "Cuban",
793
+ "Moroccan",
794
+ "Russian"
795
+ ]
796
+ },
797
+ "flavors": {
798
+ "salty": 0.5,
799
+ "sour": 0.5,
800
+ "sweet": 0.3333333333333333,
801
+ "bitter": 0.5,
802
+ "meaty": 0.3333333333333333,
803
+ "piquant": 0.6666666666666666
804
+ },
805
+ "rating": 0,
806
+ "id": "Russian-Vegetable-Soup-_borstch_-Recipezaar",
807
+ "smallImageUrls": [],
808
+ "sourceDisplayName": "Food.com",
809
+ "totalTimeInSeconds": 7200,
810
+ "ingredients": [
811
+ "onions",
812
+ "water",
813
+ "potatoes",
814
+ "salt",
815
+ "peppercorn",
816
+ "oil",
817
+ "kidney beans",
818
+ "bay leaves",
819
+ "mrs dash",
820
+ "beets",
821
+ "hot sauce",
822
+ "carrot",
823
+ "ground cumin",
824
+ "sugar",
825
+ "lemon juice",
826
+ "cabbage"
827
+ ],
828
+ "recipeName": "Russian Vegetable Soup (Borstch)"
829
+ },
830
+ {
831
+ "attributes": {
832
+ "course": [
833
+ "Soups"
834
+ ],
835
+ "cuisine": [
836
+ "Asian",
837
+ "Italian",
838
+ "Chinese"
839
+ ]
840
+ },
841
+ "flavors": {
842
+ "salty": 0.8333333333333334,
843
+ "sour": 0.5,
844
+ "sweet": 0.3333333333333333,
845
+ "bitter": 0.16666666666666666,
846
+ "meaty": 0.16666666666666666,
847
+ "piquant": 0.6666666666666666
848
+ },
849
+ "rating": 0,
850
+ "id": "Vegetable-Hot-And-Sour-Soup-Recipezaar",
851
+ "smallImageUrls": [],
852
+ "sourceDisplayName": "Food.com",
853
+ "totalTimeInSeconds": 1500,
854
+ "ingredients": [
855
+ "green onion",
856
+ "white pepper",
857
+ "capsicum",
858
+ "carrot",
859
+ "button mushrooms",
860
+ "garlic cloves",
861
+ "dark soy sauce",
862
+ "fresh ginger",
863
+ "vegetable stock",
864
+ "bean sprouts",
865
+ "vinegar",
866
+ "salt",
867
+ "cornflour",
868
+ "chili oil",
869
+ "celery",
870
+ "oil",
871
+ "cabbage",
872
+ "sugar",
873
+ "beans",
874
+ "bamboo shoot",
875
+ "chili sauce",
876
+ "onion"
877
+ ],
878
+ "recipeName": "Vegetable Hot and Sour Soup"
879
+ },
880
+ {
881
+ "attributes": {
882
+ "course": [
883
+ "Soups"
884
+ ]
885
+ },
886
+ "flavors": {
887
+ "salty": 0.16666666666666666,
888
+ "sour": 1,
889
+ "sweet": 0.6666666666666666,
890
+ "bitter": 0.3333333333333333,
891
+ "meaty": 0.16666666666666666,
892
+ "piquant": 0.5
893
+ },
894
+ "rating": 0,
895
+ "id": "Canned-Vegetable-Soup-Recipezaar",
896
+ "smallImageUrls": [],
897
+ "sourceDisplayName": "Food.com",
898
+ "totalTimeInSeconds": 14400,
899
+ "ingredients": [
900
+ "pepper",
901
+ "onions",
902
+ "water",
903
+ "carrots",
904
+ "tomatoes",
905
+ "cabbage",
906
+ "corn"
907
+ ],
908
+ "recipeName": "Canned Vegetable Soup"
909
+ },
910
+ {
911
+ "attributes": {
912
+ "course": [
913
+ "Soups"
914
+ ],
915
+ "cuisine": [
916
+ "French"
917
+ ]
918
+ },
919
+ "flavors": {
920
+ "salty": 0.16666666666666666,
921
+ "sour": 0.3333333333333333,
922
+ "sweet": 0.16666666666666666,
923
+ "bitter": 0.16666666666666666,
924
+ "meaty": 0.16666666666666666,
925
+ "piquant": 0.6666666666666666
926
+ },
927
+ "rating": 0,
928
+ "id": "Healthy-Mixed-Vegetable-Soup-Recipezaar",
929
+ "smallImageUrls": [],
930
+ "sourceDisplayName": "Food.com",
931
+ "totalTimeInSeconds": 1500,
932
+ "ingredients": [
933
+ "broccoli",
934
+ "salt",
935
+ "capsicum",
936
+ "chili powder",
937
+ "ginger paste",
938
+ "canola oil",
939
+ "cabbage",
940
+ "garlic paste",
941
+ "soya sauce",
942
+ "carrot",
943
+ "cornflour",
944
+ "onion",
945
+ "water",
946
+ "sugar",
947
+ "cauliflower",
948
+ "green beans"
949
+ ],
950
+ "recipeName": "Healthy Mixed Vegetable Soup"
951
+ },
952
+ {
953
+ "attributes": {
954
+ "course": [
955
+ "Soups"
956
+ ]
957
+ },
958
+ "flavors": {
959
+ "salty": 0.3333333333333333,
960
+ "sour": 1,
961
+ "sweet": 0.6666666666666666,
962
+ "bitter": 0.16666666666666666,
963
+ "meaty": 0.16666666666666666,
964
+ "piquant": 0.5
965
+ },
966
+ "rating": 0,
967
+ "id": "Basic-Cabbage-Soup-Recipe-Recipezaar",
968
+ "smallImageUrls": [],
969
+ "sourceDisplayName": "Food.com",
970
+ "totalTimeInSeconds": 4500,
971
+ "ingredients": [
972
+ "cabbage",
973
+ "tomatoes",
974
+ "celery",
975
+ "brown rice",
976
+ "onions",
977
+ "red peppers",
978
+ "green onions",
979
+ "black pepper",
980
+ "carrots",
981
+ "salt"
982
+ ],
983
+ "recipeName": "Basic Cabbage Soup Recipe"
984
+ },
985
+ {
986
+ "attributes": {
987
+ "course": [
988
+ "Main Dishes",
989
+ "Soups"
990
+ ],
991
+ "cuisine": [
992
+ "Asian"
993
+ ]
994
+ },
995
+ "flavors": {
996
+ "salty": 0.6666666666666666,
997
+ "sour": 0.8333333333333334,
998
+ "sweet": 0.3333333333333333,
999
+ "bitter": 0.3333333333333333,
1000
+ "meaty": 0.16666666666666666,
1001
+ "piquant": 0.8333333333333334
1002
+ },
1003
+ "rating": 0,
1004
+ "id": "Asian-Vegetable-Noodle-Soup-Recipezaar",
1005
+ "smallImageUrls": [],
1006
+ "sourceDisplayName": "Food.com",
1007
+ "totalTimeInSeconds": 1260,
1008
+ "ingredients": [
1009
+ "fish sauce",
1010
+ "water",
1011
+ "kaffir lime",
1012
+ "ginger",
1013
+ "rice noodles",
1014
+ "baby corn",
1015
+ "lemongrass",
1016
+ "bean sprouts",
1017
+ "bok choy",
1018
+ "vegetable stock",
1019
+ "coriander",
1020
+ "peas",
1021
+ "lime juice",
1022
+ "cloves",
1023
+ "chilies"
1024
+ ],
1025
+ "recipeName": "Asian Vegetable Noodle Soup"
1026
+ },
1027
+ {
1028
+ "attributes": {
1029
+ "course": [
1030
+ "Soups"
1031
+ ],
1032
+ "cuisine": [
1033
+ "Soul Food",
1034
+ "Southwestern"
1035
+ ]
1036
+ },
1037
+ "flavors": {
1038
+ "salty": 0.5,
1039
+ "sour": 0.5,
1040
+ "sweet": 0.16666666666666666,
1041
+ "bitter": 0.16666666666666666,
1042
+ "meaty": 0.16666666666666666,
1043
+ "piquant": 0.5
1044
+ },
1045
+ "rating": 0,
1046
+ "id": "Cape-Verde-Vegetable-Soup-Recipezaar",
1047
+ "smallImageUrls": [],
1048
+ "sourceDisplayName": "Food.com",
1049
+ "totalTimeInSeconds": 1800,
1050
+ "ingredients": [
1051
+ "salt",
1052
+ "chili",
1053
+ "peanut oil",
1054
+ "okra",
1055
+ "onion",
1056
+ "fresh cilantro",
1057
+ "garlic cloves",
1058
+ "cabbage",
1059
+ "potatoes",
1060
+ "water",
1061
+ "fresh parsley",
1062
+ "lemon juice",
1063
+ "fresh cilantro",
1064
+ "fresh tomatoes",
1065
+ "summer savory"
1066
+ ],
1067
+ "recipeName": "Cape Verde Vegetable Soup"
1068
+ },
1069
+ {
1070
+ "attributes": {
1071
+ "course": [
1072
+ "Main Dishes",
1073
+ "Soups"
1074
+ ],
1075
+ "cuisine": [
1076
+ "Chinese"
1077
+ ]
1078
+ },
1079
+ "flavors": {
1080
+ "salty": 0.6666666666666666,
1081
+ "sour": 0.5,
1082
+ "sweet": 0.3333333333333333,
1083
+ "bitter": 0.16666666666666666,
1084
+ "meaty": 0.3333333333333333,
1085
+ "piquant": 0.5
1086
+ },
1087
+ "rating": 0,
1088
+ "id": "Chinese-Noodle-Soup-Recipezaar",
1089
+ "smallImageUrls": [],
1090
+ "sourceDisplayName": "Food.com",
1091
+ "totalTimeInSeconds": 1200,
1092
+ "ingredients": [
1093
+ "egg noodles",
1094
+ "water",
1095
+ "reduced sodium soy sauce",
1096
+ "bok choy",
1097
+ "fresh ginger",
1098
+ "vegetable broth",
1099
+ "chili powder",
1100
+ "corn kernels",
1101
+ "green onions",
1102
+ "broccoli"
1103
+ ],
1104
+ "recipeName": "Chinese Noodle Soup"
1105
+ },
1106
+ {
1107
+ "attributes": {
1108
+ "course": [
1109
+ "Soups"
1110
+ ],
1111
+ "cuisine": [
1112
+ "Moroccan",
1113
+ "Italian"
1114
+ ]
1115
+ },
1116
+ "flavors": {
1117
+ "salty": 0.6666666666666666,
1118
+ "sour": 0.6666666666666666,
1119
+ "sweet": 0.3333333333333333,
1120
+ "bitter": 0.16666666666666666,
1121
+ "meaty": 0.16666666666666666,
1122
+ "piquant": 0.8333333333333334
1123
+ },
1124
+ "rating": 0,
1125
+ "id": "Suk_s-Spicy-Soup-Recipezaar",
1126
+ "smallImageUrls": [
1127
+ "http://i.yummly.com/Suk_s-Spicy-Soup-Recipezaar-12558.s.png"
1128
+ ],
1129
+ "sourceDisplayName": "Food.com",
1130
+ "totalTimeInSeconds": 2700,
1131
+ "ingredients": [
1132
+ "shiitake mushroom",
1133
+ "jalapeno",
1134
+ "sesame seeds",
1135
+ "gingerroot",
1136
+ "minced garlic",
1137
+ "cabbage",
1138
+ "red bell pepper",
1139
+ "green onion",
1140
+ "vegetable stock",
1141
+ "crushed red pepper",
1142
+ "paprika"
1143
+ ],
1144
+ "recipeName": "Suk's Spicy Soup"
1145
+ },
1146
+ {
1147
+ "attributes": {
1148
+ "course": [
1149
+ "Soups",
1150
+ "Appetizers"
1151
+ ]
1152
+ },
1153
+ "flavors": {
1154
+ "salty": 0.6666666666666666,
1155
+ "sour": 0.5,
1156
+ "sweet": 0.3333333333333333,
1157
+ "bitter": 0.3333333333333333,
1158
+ "meaty": 0.16666666666666666,
1159
+ "piquant": 0.8333333333333334
1160
+ },
1161
+ "rating": 0,
1162
+ "id": "Hot-_-Sour-Tom-Yum-Soup-Recipezaar",
1163
+ "smallImageUrls": [],
1164
+ "sourceDisplayName": "Food.com",
1165
+ "totalTimeInSeconds": 6048000,
1166
+ "ingredients": [
1167
+ "chili peppers",
1168
+ "cabbage",
1169
+ "water",
1170
+ "tofu",
1171
+ "lemongrass",
1172
+ "tomatoes",
1173
+ "chili peppers",
1174
+ "sorrel",
1175
+ "mushrooms",
1176
+ "kaffir lime",
1177
+ "lime juice",
1178
+ "white radish",
1179
+ "coriander",
1180
+ "carrot",
1181
+ "soy sauce",
1182
+ "asafetida powder",
1183
+ "salt",
1184
+ "coriander root"
1185
+ ],
1186
+ "recipeName": "Hot &amp; Sour Tom Yum Soup"
1187
+ },
1188
+ {
1189
+ "attributes": {
1190
+ "course": [
1191
+ "Soups"
1192
+ ],
1193
+ "cuisine": [
1194
+ "Portuguese",
1195
+ "Tuscan",
1196
+ "Indian",
1197
+ "Italian",
1198
+ "Sindhi"
1199
+ ]
1200
+ },
1201
+ "flavors": {
1202
+ "salty": 0.5,
1203
+ "sour": 0.8333333333333334,
1204
+ "sweet": 0.3333333333333333,
1205
+ "bitter": 0.16666666666666666,
1206
+ "meaty": 0.16666666666666666,
1207
+ "piquant": 0.5
1208
+ },
1209
+ "rating": 0,
1210
+ "id": "Home-Sweet-Home-Vegetable-Soup-Recipezaar",
1211
+ "smallImageUrls": [],
1212
+ "sourceDisplayName": "Food.com",
1213
+ "totalTimeInSeconds": 5400,
1214
+ "ingredients": [
1215
+ "onions",
1216
+ "boiling water",
1217
+ "carrot",
1218
+ "dill",
1219
+ "celery",
1220
+ "quick oats",
1221
+ "tomato",
1222
+ "parsley",
1223
+ "salt",
1224
+ "cabbage",
1225
+ "black pepper",
1226
+ "red bell pepper",
1227
+ "canola oil",
1228
+ "garlic cloves",
1229
+ "potatoes",
1230
+ "celery root"
1231
+ ],
1232
+ "recipeName": "Home Sweet Home Vegetable Soup"
1233
+ },
1234
+ {
1235
+ "attributes": {
1236
+ "course": [
1237
+ "Soups"
1238
+ ]
1239
+ },
1240
+ "flavors": {
1241
+ "salty": 0.16666666666666666,
1242
+ "sour": 0.5,
1243
+ "sweet": 0.16666666666666666,
1244
+ "bitter": 0.16666666666666666,
1245
+ "meaty": 0.16666666666666666,
1246
+ "piquant": 0.5
1247
+ },
1248
+ "rating": 5,
1249
+ "id": "Vegetable-Broth-Recipezaar",
1250
+ "smallImageUrls": [],
1251
+ "sourceDisplayName": "Food.com",
1252
+ "totalTimeInSeconds": 2700,
1253
+ "ingredients": [
1254
+ "green cabbage",
1255
+ "water",
1256
+ "garlic cloves",
1257
+ "onion",
1258
+ "fresh parsley",
1259
+ "salt",
1260
+ "dry white wine",
1261
+ "dried porcini mushrooms",
1262
+ "black peppercorns",
1263
+ "carrots",
1264
+ "leeks",
1265
+ "fresh thyme"
1266
+ ],
1267
+ "recipeName": "Vegetable Broth"
1268
+ },
1269
+ {
1270
+ "attributes": {
1271
+ "course": [
1272
+ "Soups"
1273
+ ],
1274
+ "cuisine": [
1275
+ "German"
1276
+ ]
1277
+ },
1278
+ "flavors": {
1279
+ "salty": 0.6666666666666666,
1280
+ "sour": 0.5,
1281
+ "sweet": 0.5,
1282
+ "bitter": 0.16666666666666666,
1283
+ "meaty": 0.16666666666666666,
1284
+ "piquant": 0.5
1285
+ },
1286
+ "rating": 5,
1287
+ "id": "Uncle-Bill_s-Simple-Vegetable-Borscht-Recipezaar",
1288
+ "smallImageUrls": [],
1289
+ "sourceDisplayName": "Food.com",
1290
+ "totalTimeInSeconds": 4500,
1291
+ "ingredients": [
1292
+ "dill weed",
1293
+ "apple",
1294
+ "red cabbage",
1295
+ "carrot",
1296
+ "green cabbage",
1297
+ "vegetable broth",
1298
+ "garlic cloves",
1299
+ "tomato paste",
1300
+ "black peppercorns",
1301
+ "green pepper",
1302
+ "soy sauce",
1303
+ "cauliflower floret",
1304
+ "hungarian paprika",
1305
+ "lemon juice",
1306
+ "potato",
1307
+ "beet",
1308
+ "red pepper",
1309
+ "celery rib",
1310
+ "onion",
1311
+ "margarine",
1312
+ "bay leaf",
1313
+ "water"
1314
+ ],
1315
+ "recipeName": "Uncle Bill's Simple Vegetable Borscht"
1316
+ },
1317
+ {
1318
+ "attributes": {
1319
+ "course": [
1320
+ "Soups",
1321
+ "Lunch and Snacks"
1322
+ ]
1323
+ },
1324
+ "flavors": {
1325
+ "salty": 0.6666666666666666,
1326
+ "sour": 0.5,
1327
+ "sweet": 0.3333333333333333,
1328
+ "bitter": 0.16666666666666666,
1329
+ "meaty": 0.16666666666666666,
1330
+ "piquant": 0.5
1331
+ },
1332
+ "rating": 4.67,
1333
+ "id": "Very-Good-For-Your-Health-And-Mine-Vegetarian-Lemon-And-Pepper-S-Recipezaar",
1334
+ "smallImageUrls": [],
1335
+ "sourceDisplayName": "Food.com",
1336
+ "totalTimeInSeconds": 3300,
1337
+ "ingredients": [
1338
+ "mushrooms",
1339
+ "tomato",
1340
+ "bean sprouts",
1341
+ "vegetable stock",
1342
+ "lemon juice",
1343
+ "cabbage",
1344
+ "capsicum",
1345
+ "salt",
1346
+ "carrot",
1347
+ "oil",
1348
+ "black peppercorns"
1349
+ ],
1350
+ "recipeName": "Very Good For Your Health And Mine Vegetarian Lemon and Pepper S"
1351
+ },
1352
+ {
1353
+ "attributes": {
1354
+ "course": [
1355
+ "Soups"
1356
+ ]
1357
+ },
1358
+ "flavors": {
1359
+ "salty": 0.16666666666666666,
1360
+ "sour": 0.3333333333333333,
1361
+ "sweet": 0.16666666666666666,
1362
+ "bitter": 0.16666666666666666,
1363
+ "meaty": 0.16666666666666666,
1364
+ "piquant": 0.5
1365
+ },
1366
+ "rating": 4,
1367
+ "id": "Scott_s-Vegetable-Broth-With-Very-Low-Sodium-Recipezaar",
1368
+ "smallImageUrls": [],
1369
+ "sourceDisplayName": "Food.com",
1370
+ "totalTimeInSeconds": 43200,
1371
+ "ingredients": [
1372
+ "celery ribs",
1373
+ "thyme",
1374
+ "bay leaf",
1375
+ "sweet basil",
1376
+ "spanish onions",
1377
+ "cabbage",
1378
+ "green bell peppers",
1379
+ "water",
1380
+ "carrots",
1381
+ "black peppercorns"
1382
+ ],
1383
+ "recipeName": "Scott's Vegetable Broth With Very Low Sodium"
1384
+ },
1385
+ {
1386
+ "attributes": {
1387
+ "course": [
1388
+ "Soups"
1389
+ ],
1390
+ "cuisine": [
1391
+ "Vietnamese"
1392
+ ]
1393
+ },
1394
+ "flavors": {
1395
+ "salty": 0.6666666666666666,
1396
+ "sour": 0.16666666666666666,
1397
+ "sweet": 0.16666666666666666,
1398
+ "bitter": 0.16666666666666666,
1399
+ "meaty": 0.16666666666666666,
1400
+ "piquant": 0.5
1401
+ },
1402
+ "rating": 0,
1403
+ "id": "Vietnamese-Vegetable-Stock-Nuoc-Leo-Rau-Cai-Recipezaar",
1404
+ "smallImageUrls": [],
1405
+ "sourceDisplayName": "Food.com",
1406
+ "totalTimeInSeconds": 3600,
1407
+ "ingredients": [
1408
+ "salt",
1409
+ "celery",
1410
+ "pepper",
1411
+ "cabbage",
1412
+ "water",
1413
+ "radish",
1414
+ "carrot"
1415
+ ],
1416
+ "recipeName": "Vietnamese Vegetable Stock Nuoc Leo Rau Cai"
1417
+ },
1418
+ {
1419
+ "attributes": {
1420
+ "course": [
1421
+ "Soups"
1422
+ ],
1423
+ "cuisine": [
1424
+ "Asian"
1425
+ ]
1426
+ },
1427
+ "flavors": {
1428
+ "salty": 0.3333333333333333,
1429
+ "sour": 1,
1430
+ "sweet": 0.5,
1431
+ "bitter": 0.3333333333333333,
1432
+ "meaty": 0.16666666666666666,
1433
+ "piquant": 0.5
1434
+ },
1435
+ "rating": 0,
1436
+ "id": "Asian-Vegetable-Broth-Recipezaar",
1437
+ "smallImageUrls": [],
1438
+ "sourceDisplayName": "Food.com",
1439
+ "totalTimeInSeconds": 2400,
1440
+ "ingredients": [
1441
+ "carrots",
1442
+ "garlic cloves",
1443
+ "black pepper",
1444
+ "baby bok choy",
1445
+ "kosher salt",
1446
+ "chives",
1447
+ "celery ribs",
1448
+ "red pepper",
1449
+ "onion",
1450
+ "fresh ginger",
1451
+ "lemongrass"
1452
+ ],
1453
+ "recipeName": "Asian Vegetable Broth"
1454
+ },
1455
+ {
1456
+ "attributes": {
1457
+ "course": [
1458
+ "Soups"
1459
+ ]
1460
+ },
1461
+ "flavors": {
1462
+ "salty": 0.16666666666666666,
1463
+ "sour": 0.6666666666666666,
1464
+ "sweet": 0.16666666666666666,
1465
+ "bitter": 0.16666666666666666,
1466
+ "meaty": 0.16666666666666666,
1467
+ "piquant": 0.5
1468
+ },
1469
+ "rating": 0,
1470
+ "id": "Vegetable-Stock-Recipezaar_3",
1471
+ "smallImageUrls": [],
1472
+ "sourceDisplayName": "Food.com",
1473
+ "totalTimeInSeconds": 5400,
1474
+ "ingredients": [
1475
+ "carrots",
1476
+ "shallots",
1477
+ "black peppercorns",
1478
+ "fresh thyme",
1479
+ "water",
1480
+ "leeks",
1481
+ "parsnips",
1482
+ "cabbage",
1483
+ "celery ribs",
1484
+ "fresh parsley",
1485
+ "bay leaves"
1486
+ ],
1487
+ "recipeName": "Vegetable Stock"
1488
+ },
1489
+ {
1490
+ "attributes": {
1491
+ "course": [
1492
+ "Main Dishes",
1493
+ "Soups"
1494
+ ]
1495
+ },
1496
+ "flavors": {
1497
+ "salty": 0.6666666666666666,
1498
+ "sour": 0.6666666666666666,
1499
+ "sweet": 0.3333333333333333,
1500
+ "bitter": 0.16666666666666666,
1501
+ "meaty": 0.3333333333333333,
1502
+ "piquant": 0.6666666666666666
1503
+ },
1504
+ "rating": 0,
1505
+ "id": "Miso-Vegetable-Noodle-Bowl-Recipezaar",
1506
+ "smallImageUrls": [
1507
+ "http://i.yummly.com/Miso-Vegetable-Noodle-Bowl-Recipezaar-12762.s.png"
1508
+ ],
1509
+ "sourceDisplayName": "Food.com",
1510
+ "totalTimeInSeconds": 1200,
1511
+ "ingredients": [
1512
+ "vegetable broth",
1513
+ "lime",
1514
+ "edamame",
1515
+ "green onion",
1516
+ "snow peas",
1517
+ "fresh cilantro",
1518
+ "carrot",
1519
+ "shiitake mushroom caps",
1520
+ "peeled fresh ginger",
1521
+ "udon",
1522
+ "yellow miso",
1523
+ "napa cabbage",
1524
+ "chili paste",
1525
+ "fresh lime juice",
1526
+ "water",
1527
+ "red bell pepper"
1528
+ ],
1529
+ "recipeName": "Miso Vegetable Noodle Bowl"
1530
+ },
1531
+ {
1532
+ "attributes": {
1533
+ "course": [
1534
+ "Soups"
1535
+ ],
1536
+ "cuisine": [
1537
+ "Hungarian"
1538
+ ]
1539
+ },
1540
+ "flavors": {
1541
+ "salty": 0.6666666666666666,
1542
+ "sour": 0.8333333333333334,
1543
+ "sweet": 0.5,
1544
+ "bitter": 0.3333333333333333,
1545
+ "meaty": 0.16666666666666666,
1546
+ "piquant": 0.5
1547
+ },
1548
+ "rating": 0,
1549
+ "id": "Eroleves-_hungarian-Consomme_-RecipeZaar",
1550
+ "smallImageUrls": [],
1551
+ "sourceDisplayName": "Food.com",
1552
+ "totalTimeInSeconds": 13500,
1553
+ "ingredients": [
1554
+ "egg noodles",
1555
+ "onion",
1556
+ "parsley",
1557
+ "carrots",
1558
+ "cloves",
1559
+ "cabbage",
1560
+ "kohlrabi",
1561
+ "garlic cloves",
1562
+ "soup",
1563
+ "bay leaves",
1564
+ "peppercorns",
1565
+ "parsnips",
1566
+ "leeks",
1567
+ "celery",
1568
+ "salt",
1569
+ "soup",
1570
+ "cold water"
1571
+ ],
1572
+ "recipeName": "Erõleves (hungarian Consommé)"
1573
+ }
1574
+ ],
1575
+ "criteria": {
1576
+ "maxResults": 40,
1577
+ "excludedIngredients": [
1578
+ "meat"
1579
+ ],
1580
+ "excludedAttributes": [],
1581
+ "allowedIngredients": [
1582
+ "cabbage"
1583
+ ],
1584
+ "attributeRanges": {
1585
+ "flavor-piquant": {
1586
+ "min": 0.3333333333333333,
1587
+ "max": 1
1588
+ }
1589
+ },
1590
+ "nutritionRestrictions": {
1591
+ "FAT": {
1592
+ "min": 0,
1593
+ "max": 8
1594
+ }
1595
+ },
1596
+ "allowedDiets": [
1597
+ "396^Dairy-Free"
1598
+ ],
1599
+ "resultsToSkip": 0,
1600
+ "requirePictures": false,
1601
+ "facetFields": [],
1602
+ "terms": [
1603
+ "soup"
1604
+ ],
1605
+ "allowedAttributes": [
1606
+ "course^course-Soups"
1607
+ ]
1608
+ }
1609
+ }