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).
https://api2.bigoven.comAuth: 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 | — | — |