Bing News API documentation for developers who need Bing News articles as JSON. Scrappa's GET /api/bing/news endpoint returns the articles Bing shows for a query, with real article URLs, publisher, snippet and thumbnail.
How to call the endpoint
Send a GET request with a required query and your API key in the x-api-key header. Page with page (1-10, about 10 articles per page; pages can repeat an article, so de-duplicate by url when you merge pages). Narrow by age with freshness: hour, day, week or month. Use mkt, cc and setlang for another market.
Response fields
Each article has position, title, url, domain, snippet, source, source_icon, thumbnail, published (Bing's text, in the language of the market) and published_at. published_at is an approximate ISO time derived from Bing's relative age. With freshness, articles that are provably older are removed. A page can hold fewer than 10 articles.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
6 optional filters available.
string
Required
News search query.
Example: openai
coffee shops
string
Optional
Alias for query. Prefer query for new integrations.
coffee shops
string
Optional
Page number, 10 articles per page.
Range: 1-10
Default: 1
1
string
Optional
Only articles up to this age: hour, day, week or month.
example
string
Optional
Bing market, language and region together, for example de-DE or en-GB. Results, wording and dates follow the market.
Default: en-US
example
string
Optional
Two-letter country code, for example DE. Scrappa sends it together with mkt.
Default: the country of mkt
example
string
Optional
Interface language, for example de. Scrappa sends it together with mkt.
Default: the language of mkt
example
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
page
query
market
source
freshness
results_on_page
Common data fields
url
title
domain
source
{
"data": [
{
"url": "https://www.msn.com/en-us/money/general/openai-pares-fundraising-goal/ar-AA2gu8g0",
"title": "OpenAI pares fundraising goal, now seeking up to $20 billion in latest round",
"domain": "www.msn.com",
"source": "CNBC on MSN",
"snippet": "The funding round is still in progress and has not closed ...",
"position": 1,
"published": "2 hours ago",
"thumbnail": "https://www.bing.com/th?id=ONUT.0myzzfDT3qaRGw750WgAwQ&pid=News&w=234&h=132&c=14&rs=2&qlt=90",
"source_icon": "https://www.bing.com/th?id=OJ.XOOcwODZlttbfg&pid=news&w=50&h=16&rs=2",
"published_at": "2026-10-31T20:30:00Z"
}
],
"page": 1,
"query": "openai",
"market": {
"cc": "US",
"mkt": "en-US",
"setlang": "en"
},
"source": "bing",
"freshness": null,
"results_on_page": 1
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
The query is missing, or page, freshness, mkt, cc or setlang failed validation. Unknown freshness values are rejected.
{
"errors": {
"query": [
"The query field is required."
]
},
"message": "The request validation failed"
}Bing Temporarily Unavailable
Bing did not return usable data after the bounded retry on a second route. The request is not billed. Retry shortly.
{
"error": "Bing upstream is temporarily unavailable. Please retry shortly.",
"service": "BingVerticalsService",
"retryable": true,
"error_code": "bing_upstream_unavailable",
"failed_stage": "upstream_request"
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.