In [ ]:
import requests

In [ ]:
api_key = '394c6244e849b9274ef6325cec54f959'
api_base = 'http://food2fork.com/api/'
seach_uri = '{}search?key={}&q={}'

In [ ]:
def get_recipe(recipe_id):
    get_url = '{}/get?key={}&rId={}'.format(api_base, api_key, recipe_id)
    r = requests.get(get_url)
    return r.json()['recipe']

In [ ]:
def search_recipe(desired_recipe, ranking_type='r'):
    if ranking_type not in ['r','t']:
        raise Exception("ranking_type must be 'r' or 't'. got {}".format(ranking_type))
    search_url = '{}/search?key={}&q={}&sort={}'.format(api_base, api_key, desired_recipe, ranking_type)
    r = requests.get(search_url)
    if not r.ok:
        raise Exception("error searching for {}: {}".format(desired_recipe, r.test))
    return r.json()

In [ ]:
def get_popular_recipes(desired_recipe, ranking_type='r', num_results=1):
    print("Finding the {} best recipes for '{}' based on {}".format(num_results, desired_recipe, ranking_type))
    search_results = search_recipe(desired_recipe, ranking_type)
    for i in xrange(num_results):
        recipe_id = search_results['recipes'][i]['recipe_id']
        recipe = get_recipe(recipe_id)
        print("Recipe #{}: {} ({})".format(i+1, recipe['title'], recipe['publisher']))
        print("  url: {}".format(recipe['source_url']))
        print("  ingredients:")
        for ingredient in recipe['ingredients']:
            print("    {}".format(ingredient))

In [ ]:
get_popular_recipes('snickerdoodle')

In [ ]:
recipe = get_recipe('23534')