Quickstart: Use Python to call the Bing Web Search API
Use this quickstart to make your first call to the Bing Web Search API. This Python application sends a search request to the API, and shows the JSON response. Although this application is written in Python, the API is a RESTful Web service compatible with most programming languages.
This example is run as a Jupyter notebook on MyBinder. To run it, select the launch binder badge:
Prerequisites
Define variables
Replace the
subscription_key
value with a valid subscription key from your Azure account.subscription_key = "YOUR_ACCESS_KEY" assert subscription_key
Declare the Bing Web Search API endpoint.
search_url = "https://api.bing.microsoft.com/v7.0/search"
Optionally, customize the search query by replacing the value for
search_term
.search_term = "Microsoft Bing Search Services"
Make a request
This code uses the requests
library to call the Bing Web Search API and return the results as a JSON object. The API key is passed in the headers
dictionary, and the search term and query parameters are passed in the params
dictionary.
For a complete list of options and parameters, see Bing Web Search API v7.
import requests
headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()
Format and display the response
The search_results
object includes the search results, and such metadata as related queries and pages. This code uses the IPython.display
library to format and display the response in your browser.
from IPython.display import HTML
rows = "\n".join(["""<tr>
<td><a href=\"{0}\">{1}</a></td>
<td>{2}</td>
</tr>""".format(v["url"], v["name"], v["snippet"])
for v in search_results["webPages"]["value"]])
HTML("<table>{0}</table>".format(rows))
Sample code on GitHub
To run this code locally, see the complete sample available on GitHub.