1,000,000+ Recipe and Grocery List API (v2)

#Documentation This is the documentation for the partner endpoint of the BigOven Recipe and Grocery List API. The update brings with it Swagger-based documentation. [Swagger](http://swagger.io) is an emerging standard for describing REST-based APIs, and with this Swagger-compliant endpoint (above), you can make ready-to-go interface libraries for your code via [swagger-codegen](https://github.com/swagger-api/swagger-codegen). For instance, it's easy to generate libraries for Node.js, Java, Ruby, ASP.NET MVC, jQuery, php and more! You can also try out the endpoint calls with your own api_key right here on this page. Be sure to enter your api_key above to use the "Try it out!" buttons on this page. ##Start Here Developers new to the BigOven API should start with this version, not with the legacy API. We'll be making improvements to this API over time, and doing only bug fixes on the v1 API. To pretend you're a BigOven user (for instance, to get your recently viewed recipes or your grocery list), you need to pass in Basic Authentication information in the header, just as with the v1 API. We do now require that you make all calls via https. You need to pass your api_key in with every call, though this can now be done on the header (send a request header "X-BigOven-API-Key" set to your api_key value, e.g., Request["X-BigOven-API-Key"]="your-key-here".) ##Migration Notes For existing partners, we encourage you to [migrate](https://api2.bigoven.com), and while at this writing we have no hard-and-fast termination date for the v1 API, we strongly prefer that you migrate by January 1, 2017. While the changes aren't overly complex, there are several breaking changes, including refactoring of recipe search and results and removal of support for XML. This is not a simply plug-and-play replacement to the v1 API. With respect to an exclusive focus on JSON, the world has spoken, and it prefers JSON for REST-based API's. We've taken numerous steps to refactor the API to make it more REST-compliant. Note that this v2 API will be the preferred API from this point onward, so we encourage developers to migrate to this new format. We have put together some [migration notes](/web/documentation/migration-to-v2) that we encourage you to read carefully. ##Photos See our [photos documentation](https://api2.bigoven.com/web/documentation/recipe-images). For more information on usage of this API, including features, pricing, rate limits, terms and conditions, please visit the [BigOven API website](https://api2.bigoven.com).

Claim this API

Are you the operator of 1,000,000+ Recipe and Grocery List API (v2)? Submit a claim to establish contact with us.

Report an Issue

Found something wrong with 1,000,000+ Recipe and Grocery List API (v2)? Let us know about broken links, changed auth, deprecated endpoints, or other issues.

Base URL: https://api2.bigoven.com
Auth: api_key
Endpoints: 26
Reachable: unknown
CORS: unknown

Endpoints

Method Path Summary Auth Last Status Latency
GET /collection/{id} Gets a recipe collection. A recipe collection is a curated set of recipes. api_key
GET /collection/{id}/meta Gets a recipe collection metadata. A recipe collection is a curated set of recipes. api_key
GET /collections Get the list of current, seasonal recipe collections. From here, you can use the /collection/{id} endpoint to retrieve the recipes in those collections. api_key
GET /grocerylist Get the user's grocery list. User is determined by Basic Authentication. bearer_token
GET /recipe/autocomplete Given a query, return recipe titles starting with query. Query must be at least 3 chars in length. api_key
GET /recipe/autocomplete/all Automatics the complete all recipes. api_key
GET /recipe/autocomplete/mine Automatics the complete my recipes. bearer_token
GET /recipe/categories Get a list of recipe categories (the ID field can be used for include_cat in search parameters) api_key
GET /recipe/get/active/recipe Returns last active recipe for the user api_key
GET /recipe/photos/pending Gets the pending by user. api_key
GET /recipe/review/{reviewId} Get a given review by string-style ID. This will return a payload with FeaturedReply, ReplyCount. Recommended display is to list top-level reviews with one featured reply underneath. Currently, the FeaturedReply is the most recent one for that rating. bearer_token
GET /recipe/review/{reviewId}/replies Get a paged list of replies for a given review. bearer_token
GET /recipe/steps/{id} Return full Recipe detail with steps. Returns 403 if the recipe is owned by someone else. api_key
GET /recipe/{id} Return full Recipe detail. Returns 403 if the recipe is owned by someone else. api_key
GET /recipe/{id}/zap Zaps the recipe. api_key
GET /recipe/{recipeId}/images Get all the images for a recipe. DEPRECATED. Please use /recipe/{recipeId}/photos. api_key
GET /recipe/{recipeId}/note/{noteId} Get a given note. Make sure you're passing authentication information in the header for the user who owns the note. bearer_token
GET /recipe/{recipeId}/notes recipe/100/notes bearer_token
GET /recipe/{recipeId}/photos Get all the photos for a recipe api_key
GET /recipe/{recipeId}/related Get recipes related to the given recipeId api_key
GET /recipe/{recipeId}/review Get *my* review for the recipe {recipeId}, where "me" is determined by standard authentication headers api_key
GET /recipe/{recipeId}/review/{reviewId} Get a given review - DEPRECATED. See recipe/review/{reviewId} for the current usage. Beginning in January 2017, BigOven moded from an integer-based ID system to a GUID-style string-based ID system for reviews and replies. We are also supporting more of a "Google Play" style model for Reviews and Replies. That is, there are top-level Reviews and then an unlimited list of replies (which do not carry star ratings) underneath existing reviews. Also, a given user can only have one review per recipe. Existing legacy endpoints will continue to work, but we strongly recommend you migrate to using the newer endpoints listed which do NOT carry the "DEPRECATED" flag. bearer_token
GET /recipe/{recipeId}/reviews Get paged list of reviews for a recipe. Each review will have at most one FeaturedReply, as well as a ReplyCount. api_key
GET /recipe/{recipeId}/scans Gets a list of RecipeScan images for the recipe. There will be at most 3 per recipe. bearer_token
GET /recipes Search for recipes. There are many parameters that you can apply. Starting with the most common, use title_kw to search within a title. Use any_kw to search across the entire recipe. If you'd like to limit by course, set the parameter "include_primarycat" to one of (appetizers,bread,breakfast,dessert,drinks,maindish,salad,sidedish,soup,marinades,other). If you'd like to exclude a category, set exclude_cat to one or more (comma-separated) list of those categories to exclude. If you'd like to include a category, set include_cat to one or more (comma-separated) of those categories to include. To explicitly include an ingredient in your search, set the parameter "include_ing" to a CSV of up to three ingredients, e.g.:include_ing=mustard,chicken,beef%20tips To explicitly exclude an ingredient in your search, set the parameter "exclude_ing" to a CSV of up to three ingredients. All searches must contain the paging parameters pg and rpp, which are integers, and represent the page number (1-based) and results per page (rpp). So, to get the third page of a result set paged with 25 recipes per page, you'd pass pg=3&rpp=25 If you'd like to target searches to just a single target user's recipes, set userId=the target userId (number). Or, you can set username=theirusername vtn;vgn;chs;glf;ntf;dyf;sff;slf;tnf;wmf;rmf;cps cuisine photos filter=added,try,favorites,myrecipes\r\n\r\n folder=FolderNameCaseSensitive coll=ID of Collection api_key
GET /recipes/random Get a random, home-page-quality Recipe. api_key
GET /recipes/raves Get the recipe/comment tuples for those recipes with 4 or 5 star ratings api_key
GET /recipes/recentviews Get a list of recipes that the authenticated user has most recently viewed api_key
GET /recipes/top25random Search for recipes. There are many parameters that you can apply. Starting with the most common, use title_kw to search within a title. Use any_kw to search across the entire recipe. If you'd like to limit by course, set the parameter "include_primarycat" to one of (appetizers,bread,breakfast,dessert,drinks,maindish,salad,sidedish,soup,marinades,other). If you'd like to exclude a category, set exclude_cat to one or more (comma-separated) list of those categories to exclude. If you'd like to include a category, set include_cat to one or more (comma-separated) of those categories to include. To explicitly include an ingredient in your search, set the parameter "include_ing" to a CSV of up to three ingredients, e.g.:include_ing=mustard,chicken,beef%20tips To explicitly exclude an ingredient in your search, set the parameter "exclude_ing" to a CSV of up to three ingredients. All searches must contain the paging parameters pg and rpp, which are integers, and represent the page number (1-based) and results per page (rpp). So, to get the third page of a result set paged with 25 recipes per page, you'd pass pg=3&rpp=25 If you'd like to target searches to just a single target user's recipes, set userId=the target userId (number). Or, you can set username=theirusername vtn;vgn;chs;glf;ntf;dyf;sff;slf;tnf;wmf;rmf;cps cuisine photos filter=added,try,favorites,myrecipes\r\n\r\n folder=FolderNameCaseSensitive coll=ID of Collection api_key
GET /recipes/{id} Same as GET recipe but also includes the recipe videos (if any) api_key