yummly 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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
+ }