Search the web for news
Use Bing News Search API to search the Web for news that's relevant to the user's search query.
It's easy. If you have your subscription key, just send an HTTP GET request to the following endpoint:
https://api.bing.microsoft.com/v7.0/news/search
Here's a cURL example that shows you how to call the endpoint using your subscription key. Change the q query parameter to search for whatever news you'd like.
curl -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" https://api.bing.microsoft.com/v7.0/news/search?q=mt+rainier
Request and response headers
Although that's all you need to do to search the Web, Bing suggests you include a couple of other headers to provide a better search experience for your user. Those headers include:
- User-Agent — Lets Bing know whether the user needs a mobile or desktop experience.
- X-MSEdge-ClientID — Provides continuity of experience.
- X-MSEdge-ClientIP — Provides the user's location for location aware queries.
- X-Search-Location — Provides the user's location for location aware queries.
The more information you can provide Bing, the better the search experience will be for your users. To learn more about these headers, see Request headers.
Here's a cURL example that includes these headers.
curl -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" -H "X-MSEdge-ClientID: 00B4230B74496E7A13CC2C1475056FF4" -H "X-MSEdge-ClientIP: 11.22.33.44" -H "X-Search-Location: lat:55;long:-111;re:22" -A "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36" https://api.bing.microsoft.com/v7.0/news/search?q=mt+rainier
Bing returns a couple of headers you should capture.
- BingAPIs-TraceId — ID that identifies the request in the log file.
- X-MSEdge-ClientID — The ID that you need to pass in subsequent request to provide continuity of experience.
- BingAPIs-Market — The market used by Bing for the request.
To learn more about these headers, see Response headers.
Here's a cURL call that returns the response headers. If you want to remove the response data so you can see only the headers, include the -o nul
parameter.
curl -D - -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" https://api.bing.microsoft.com/v7.0/news/search?q=mt+rainier
Query parameters
The only query parameter that you must pass is the q parameter, which you set to the user's query string. You must URL encode the user's query string and all query parameter values that you pass.
The API supports a number of query parameters that you can pass in your request. Here's a list of the ones you're most likely to use:
- count and offset — Used to page image results. Read more.
- mkt — Used to specify the market where the results come from, which is typically the market where the user is making the request from.
- safeSearch — Used to specify the user's safe search preference.
- textDecorations and textFormat — Used to turn on hit highlighting. Read more.
To learn more about these parameters and other parameters that you may specify, see Query parameters.
Here's a cURL example that includes these query parameters.
curl -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" https://api.bing.microsoft.com/v7.0/news/search?q=mt+rainier&mkt=en-us&safeSearch=moderate&textdecorations=true&textformat=raw&count=10&offset=0
Control the freshness of the articles
If you want to limit the age of the articles are that Bing returns, check out the freshness query parameter. For example, you can request that Bing return only articles that it discovered within the last day, week, or month. The NewsArticle object's datePublished
field contains the date that Bing discovered the article.
Get news from a specific site
To get news from a specific domain, add the site query operator to the user's query string.
curl -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" https://api.bing.microsoft.com/v7.0/news/search?q=sailing+dinghies+site%3Acontososailing.com&mkt=en-us
Get today's top news
To get today's top news articles, simply leave the q
query parameter unset.
curl -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" https://api.bing.microsoft.com/v7.0/news/search?q=&mkt=en-us
The number of top news articles may vary depending on the news cycle.
Because there's a set number of top news results, the NewsAnswer object doesn't include the totalEstimatedMatches
field (you cannot page top news).
The NewsAnswer also doesn't include the sort
field.
Sorting the news articles
By default, the API orders the list of news articles by relevance with the most relevant articles listed first. If you want to order the articles by most recent, include the sortBy query parameter in your request and set it to date.
curl -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" https://api.bing.microsoft.com/v7.0/news/search?q=sailing&mkt=en-us&sortBy=date
The response’s sort
field lists the sort options and indicates which option the request used (see the isSelected
field). In the following example, the request used relevance to sort the articles.
"sort": [
{
"name": "Best match",
"id": "relevance",
"isSelected": true,
"url": "https://<host>/api/v7/news/search?q=sailing"
},
{
"name": "Most recent",
"id": "date",
"isSelected": false,
"url": "https://<host>/api/v7/news/search?q=sailing&sortby=date"
}
],
Including the original image
If the article includes an image, the image is a thumbnail of the article’s original image.
"image": {
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.3EF9ED2DA5E74D39395D0E21...",
"width": 700,
"height": 525
}
},
To include the original image in the response, in addition to the thumbnail, include the originalImg query parameter and set it to true (the default is false).
curl -H "Ocp-Apim-Subscription-Key: <yourkeygoeshere>" https://api.bing.microsoft.com/v7.0/news/search?q=sailing&mkt=en-us&originalImg=true
Now the response includes both the contentUrl
(link to the original image) and thumbnail
fields.
"image": {
"contentUrl": "https://www.windowscentral.com/sites/wpcentral.com/files...",
"thumbnail": {
"contentUrl": "https://www.bing.com/th?id=ON.3EF9ED2DA5E74D39395D0E21...",
"width": 700,
"height": 525
}
},
Next steps
- Learn about the response that Bing returns.
- Learn how to get the next page of search results.
- Learn how to get trending news.
- Learn how to get news by category such as sports or world.
- Learn what happens if you don't stay within your queries per second (QPS) limit. Hint: your requests get throttled.
- Learn about the quickstarts and samples that are available to help you get up and running fast.