Skip to content

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

by bigoven.com

Open documentation ↗

Overview

#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).

1,000,000+ Recipe and Grocery List API (v2) is a food & drink API from bigoven.com. Requests are authenticated with an API key. It is served over plain HTTP. Its OpenAPI description documents 66 endpoints.

At a glance

Authentication
API key
HTTPS
No
CORS
Unknown
Category
Food & Drink
Base URL
https://api2.bigoven.com
Version
partner
Endpoints
66
Spec updated
2023-03-06

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api2.bigoven.com/collections" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_API_KEY"
JavaScript
const response = await fetch("https://api2.bigoven.com/collections", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api2.bigoven.com/collections",
    headers={
    "Accept": "application/json",
    "X-API-Key": "YOUR_API_KEY",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/collection/{id}Gets a recipe collection. A recipe collection is a curated set of recipes.
GET/collection/{id}/metaGets a recipe collection metadata. A recipe collection is a curated set of recipes.
GET/collectionsGet the list of current, seasonal recipe collections. From here, you can use the /collection/{id} endpoint to retrieve the recipes in those collections.
GET/grocerylistGet the user's grocery list. User is determined by Basic Authentication.
DELETE/grocerylistDelete all the items on a grocery list; faster operation than a sync with deleted items.
POST/grocerylist/clearcheckedlinesClears the checked lines.
POST/grocerylist/departmentDepartmentalize a list of strings -- used for ad-hoc grocery list item addition
POST/grocerylist/itemAdd a single line item to the grocery list
PUT/grocerylist/item/{guid}Update a grocery item by GUID
DELETE/grocerylist/item/{guid}/grocerylist/item/{guid} DELETE will delete this item assuming you own it.
POST/grocerylist/lineAdd a single line item to the grocery list
POST/grocerylist/recipeAdd a Recipe to the grocery list. In the request data, pass in recipeId, scale (scale=1.0 says to keep the recipe the same size as originally posted), markAsPe
POST/grocerylist/syncSynchronize the grocery list. Call this with a POST to /grocerylist/sync
POST/image/avatarPOST: /image/avatar Testing with Postman (validated 11/20/2015): 1) Remove the Content-Type header; add authentication
GET/meIndexes this instance.
PUT/mePuts me.
PUT/me/personalPuts me personal.
PUT/me/preferencesPuts me preferences.
GET/me/preferences/optionsGets the options.
PUT/me/profilePuts me.
GET/me/skinnySkinnies this instance.
POST/recipeAdd a new recipe
PUT/recipeUpdate a recipe
GET/recipe/autocompleteGiven a query, return recipe titles starting with query. Query must be at least 3 chars in length.
GET/recipe/autocomplete/allAutomatics the complete all recipes.
GET/recipe/autocomplete/mineAutomatics the complete my recipes.
GET/recipe/categoriesGet a list of recipe categories (the ID field can be used for include_cat in search parameters)
GET/recipe/get/active/recipeReturns last active recipe for the user
POST/recipe/get/saved/stepGets recipe single step as text
POST/recipe/get/step/numberReturns stored step number and number of steps in recipe
GET/recipe/photos/pendingGets the pending by user.
POST/recipe/post/stepStores recipe step number and returns saved step data
PUT/recipe/review/replies/{replyId}Update (PUT) a reply to a given review. Authenticated user must be the original one that posted the reply.
DELETE/recipe/review/replies/{replyId}DELETE a reply to a given review. Authenticated user must be the one who originally posted the reply.
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
PUT/recipe/review/{reviewId}Update a given top-level review.
GET/recipe/review/{reviewId}/repliesGet a paged list of replies for a given review.
POST/recipe/review/{reviewId}/repliesPOST a reply to a given review. The date will be set by server. Note that replies no longer have star ratings, only top-level reviews do.
POST/recipe/scanPOST an image as a new RecipeScan request 1) Fetch the filename -- DONE 2) Copy it to the pics/scan folder - ENSURE NO NAMIN
GET/recipe/steps/{id}Return full Recipe detail with steps. Returns 403 if the recipe is owned by someone else.
GET/recipe/{id}Return full Recipe detail. Returns 403 if the recipe is owned by someone else.
DELETE/recipe/{id}Delete a Recipe (you must be authenticated as an owner of the recipe)
GET/recipe/{id}/zapZaps the recipe.
POST/recipe/{recipeId}/feedbackFeedback on a Recipe -- for internal BigOven editors
POST/recipe/{recipeId}/imagePOST: /recipe/{recipeId}/image?lat=42&lng=21&caption=this%20is%20my%20caption Note that caption, lng and lat are all option
GET/recipe/{recipeId}/imagesGet all the images for a recipe. DEPRECATED. Please use /recipe/{recipeId}/photos.
POST/recipe/{recipeId}/noteHTTP POST a new note into the system.
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.
PUT/recipe/{recipeId}/note/{noteId}HTTP PUT (update) a Recipe note (RecipeNote).
DELETE/recipe/{recipeId}/note/{noteId}Delete a review do a DELETE Http request of /note/{ID}
GET/recipe/{recipeId}/notesrecipe/100/notes
GET/recipe/{recipeId}/photosGet all the photos for a recipe
GET/recipe/{recipeId}/relatedGet recipes related to the given recipeId
GET/recipe/{recipeId}/reviewGet *my* review for the recipe {recipeId}, where "me" is determined by standard authentication headers
POST/recipe/{recipeId}/reviewAdd a new review. Only one review can be provided per {userId, recipeId} pair. Otherwise your review will be updated.
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
PUT/recipe/{recipeId}/review/{reviewId}HTTP PUT (update) a recipe review. DEPRECATED. Please see recipe/review/{reviewId} PUT for the new endpoint. We are moving to a string-based primar
DELETE/recipe/{recipeId}/review/{reviewId}DEPRECATED! - Deletes a review by recipeId and reviewId. Please use recipe/review/{reviewId} instead.
GET/recipe/{recipeId}/reviewsGet paged list of reviews for a recipe. Each review will have at most one FeaturedReply, as well as a ReplyCount.
GET/recipe/{recipeId}/scansGets a list of RecipeScan images for the recipe. There will be at most 3 per recipe.
GET/recipesSearch 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
GET/recipes/randomGet a random, home-page-quality Recipe.
GET/recipes/ravesGet the recipe/comment tuples for those recipes with 4 or 5 star ratings
GET/recipes/recentviewsGet a list of recipes that the authenticated user has most recently viewed
GET/recipes/top25randomSearch 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
GET/recipes/{id}Same as GET recipe but also includes the recipe videos (if any)

Questions

Does the 1,000,000+ Recipe and Grocery List API (v2) API need an API key?

Yes. The 1,000,000+ Recipe and Grocery List API (v2) API uses API key authentication; the documentation explains how to get credentials.

Does the 1,000,000+ Recipe and Grocery List API (v2) API support HTTPS?

The 1,000,000+ Recipe and Grocery List API (v2) API is listed as HTTP only, so avoid sending secrets to it.

How many endpoints does the 1,000,000+ Recipe and Grocery List API (v2) API have?

Its OpenAPI description lists 66 endpoints in version partner. All of them are shown on this page.

What are alternatives to the 1,000,000+ Recipe and Grocery List API (v2) API?

Other Food & Drink APIs include Open Food Facts, Spoonacular, Chomp, Edamam nutrition, CalorieNinjas.

Compare alternatives →

Listed from APIs.guru (CC0).