~ / endpoints / Recipes API

Bing Recipes Scraper API

Our Bing recipes scraper reads the inline recipe carousel Bing shows for a food query, returning each recipe as JSON: title, source site, rating, total time, thumbnail, and the real recipe link, with a graceful fall back to organic recipe destinations when the carousel is not shown.

Get a free API keyFull endpoint list
1,000
free requests / mo
2.6s
median response
JSON
structured output
2
block types handled
the wall

Why Bing makes Bing Recipes data hard

Bing shows recipes as an inline magazine carousel, but it is query-dependent and only server-renders on the plain, un-market-pinned SERP when the query implies a recipe. We build the request so the carousel triggers, append the word recipe when it is missing, and parse each card into clean JSON; when Bing declines to show the carousel, we fall back to the organic recipe results so the call is still useful.

kickoff

The Bing Recipes Scraper API, one request away

cURL
curl "https://api.bingscraperapi.com/api/v1/bing/recipe?q=chocolate+chip+cookies&api_key=$API_KEY"
Python
import requests

BASE = "https://api.bingscraperapi.com"
API_KEY = "YOUR_API_KEY"

data = requests.get(
    f"{BASE}/api/v1/bing/recipe",
    params={"q": "chocolate chip cookies", "api_key": API_KEY},
    timeout=30,
).json()

# block is 'carousel' when Bing shows the recipe carousel,
# or 'organic_fallback' when it does not.
print(data["block"], "-", data["results_count"], "recipes")

for r in data["results"]:
    print(r["position"], r["title"], "-", r["source"])
    print("  rating:", r["rating"], "| time:", r["total_time"])
    print("  ", r["link"])
accepted params

Parameters

ParameterRequiredDefaultNotes
qrequired-The recipe or dish query, e.g. chocolate chip cookies. The word recipe is appended automatically if missing so the carousel triggers.
urloptional-A full bing.com/search URL to parse instead of building one from q. Pass q or url.
countoptional30Max results to return, 1 to 60. Defaults to 30.
api_keyrequired-Your API key, passed as a query parameter. Get one free at signup.
the payload

Fields returned by the Bing Recipes Scraper API

200 OK
{
  "query": "chocolate chip cookies",
  "results_count": 4,
  "block": "carousel",
  "results": [
    {
      "position": 1,
      "title": "Easy chocolate chip cookies recipe",
      "link": "https://www.goodto.com/recipes/jasmine-s-easy-choc-chip-biscuits",
      "source": "Goodto.com",
      "rating": 4,
      "total_time": "30 min",
      "thumbnail": "https://th.bing.com/th/id/OSK.9b107461f4991a7e9089106d151ee663?w=156&h=124&c=7&rs=1&qlt=80&o=6&cdv=1&pid=16.1",
      "id": "9f6be56eadd568535b72fe5ac914097b",
      "meta": "30 min · 224 cals · 20 servs"
    },
    {
      "position": 2,
      "title": "Best Chocolate Chip Cookies",
      "link": "https://cooking.nytimes.com/recipes/1015819-chocolate-chip-cookies",
      "source": "Nytimes.com",
      "rating": 5,
      "total_time": "1 hr 55 min",
      "thumbnail": "https://th.bing.com/th/id/OSK.d39cc893915fbefa8f8402e6b2f0cd7d?w=156&h=124&c=7&rs=1&qlt=80&o=6&cdv=1&pid=16.1",
      "id": "a8fba68e14f2063bf9c43d0b678839e3",
      "meta": "1 hr 55 min · 22 cals · 18 servs"
    }
  ]
}
FieldTypeDescription
querystringThe query that was searched, echoed back from your request.
results_countintegerNumber of recipe results returned.
blockstringWhich block was parsed: carousel when Bing shows the recipe carousel, or organic_fallback when it does not.
resultsarrayThe recipe results, each with position, title, link, source, rating, total_time, and thumbnail.
results[].linkstringThe real recipe URL, from the card's data-pageUrl or decoded from Bing's redirect.
results[].sourcestringThe publishing site, e.g. Goodto.com or Nytimes.com.
results[].ratingnumberThe recipe rating as a number, e.g. 4 or 4.7, or null when not shown.
results[].total_timestringThe total time parsed from the recipe meta line, e.g. 30 min, or null.
results[].metastringThe full meta line from the carousel card, e.g. 30 min · 224 cals · 20 servs. Carousel block only.
workflows

What this data is good for

>

Recipe aggregation

Query a dish and collect the top recipes with their source, rating, and total time to build a curated recipe feed or index.
>

Recipe app content

Pull recipe titles, links, and thumbnails for a set of dishes to populate a cooking app or a meal-idea widget.
>

Rating and time comparison

Compare ratings and total times across sources for the same dish to surface the best-reviewed or quickest recipe.
>

Food SEO research

See which recipe sites Bing features in the carousel for your target dishes to shape your own recipe content and schema.
>

Meal planning tools

Gather recipes by dish and filter on total_time to assemble weekly meal plans that fit a time budget.
>

Source discovery

Use the real recipe links to find and evaluate the publishers that rank for a cuisine or ingredient on Bing.
under the hood

Why our Bing Recipes Scraper API is reliable

Send one food query and get the Bing recipe carousel back as validated JSON: title, source, rating, total time, thumbnail, and the real recipe link, parsed per card. When Bing declines to show the carousel for a query, we fall back to the organic recipe destinations and flag it in the block field, so the call always returns something useful, at a 2.6s median through rotating proxies with anti-bot handling and retries.

*

Carousel parsed to fields

Each recipe card returns title, source, rating, total time, thumbnail, and a real link, with the full meta line preserved.
*

Graceful organic fallback

When the carousel is not shown, the endpoint returns organic recipe results and marks the block field organic_fallback.
*

Carousel triggered for you

The request is built against the plain SERP and appends recipe to the query when missing, so the carousel is more likely to render.
*

Real recipe links

Links come from the card's data-pageUrl or are decoded from Bing's redirect, so they point straight at the publisher's recipe.
*

Ratings normalized

Ratings render with a comma decimal in the carousel and are normalized to a number, e.g. 4,0 becomes 4.
*

Anti-bot and proxy rotation

Requests escalate through datacenter and residential proxy tiers with anti-bot handling if a block is detected.
weigh it up

Choosing between the Bing Recipes Scraper API and the Bing API

Our APIDIY (requests / headless)Bing Web Search API (Azure)
Recipe carousel as JSONParsed per card, one callYou parse rcp-mag-item yourselfNo recipe block in the API
Fallback when absentOrganic recipe results returnedYou handle the empty caseNot applicable
AvailabilityLive and maintainedDepends on your setupClosed to new customers, sunsetting
Rating and total timeParsed and normalizedExtra parsing per cardNot applicable
SetupAPI key onlyProxies, headless browser, parsersAzure account and resource keys
Anti-bot and proxiesBuilt inYou build and maintain itNot applicable
price

Straightforward pricing

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

What is a Bing recipes scraper?

A Bing recipes scraper reads the recipes Bing shows for a food query and returns them in a structured format. Our Bing recipes scraper API takes a dish query and returns each recipe's title, source site, rating, total time, thumbnail, and real link as JSON from a single request, using Bing's inline recipe carousel when it is shown.

Does every query return the recipe carousel?

No. Bing's recipe carousel is query-dependent and only server-renders on the plain SERP when the query implies a recipe. We build the request to trigger it and append the word recipe when it is missing, but when Bing still does not show the carousel we fall back to the organic recipe results. The block field tells you which one you got: carousel or organic_fallback.

What is the difference between the carousel and the fallback?

The carousel block returns richer cards with rating, total_time, and the full meta line for each recipe. The organic_fallback block returns the organic recipe destinations, with title, link, and source, but without carousel-only fields like rating and total_time, which come back null. Both give you real recipe links; the carousel just carries more metadata when Bing renders it.

How do I get the total cooking time?

For carousel results, we parse the total_time from the recipe meta line, for example pulling 30 min out of a line like 30 min · 224 cals · 20 servs, and also return the full meta string so you can read calories and servings. Fallback results do not include a meta line, so total_time is null there.

Are the recipe links the publisher's real page?

Yes. Carousel cards carry a data-pageUrl that points at the publisher's recipe, and we return that as the link; where it is missing we decode Bing's redirect to the real destination. Fallback results use the decoded organic link. Either way the link points at the source site's recipe rather than a bing.com link.

Is scraping Bing recipe results legal?

Scraping publicly visible recipe search results is generally treated as lower risk than scraping data behind a login. This is not legal advice: recipes and their photos are often under copyright, so you are responsible for respecting Bing's terms, the publishers' terms, and copyright. Collecting links and metadata to point users at the source recipes differs from copying the recipe text and images wholesale.

Build with recipes api data
Begin free with 1,000 requests, no credit card.
Get a free API key Full endpoint list