Bing SERP API
Query structured Bing search results with independent language, country, pagination, and device controls.
Endpoint
GET https://api.goanyapi.com/api/v1/bing-serpWith the current configuration, each successful request costs 2 credits.
Authentication
Authorization: Bearer YOUR_API_KEYRequest Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Yes | Search query, up to 200 characters |
setLang | string | No | Search language in language-country format, for example en-US; omitted when empty |
cc | string | No | Two-letter search country code, for example us; omitted when empty |
first | integer | No | Pagination position from the previous response's pagination.next_page_start; omitted for the first page |
device | string | No | desktop, mobile, ios, iphone, ipad, ios_tablet, android, or android_tablet; omitted when not set |
brd_browser | string | No | chrome, safari, or firefox; omitted to use a random browser |
Only q is required. Empty optional parameters are not added to the search request.
Examples
First page with no optional controls:
GET /api/v1/bing-serp?q=ai%20image
Authorization: Bearer YOUR_API_KEYNext page in English for the United States using an iPhone profile, when the previous response returned next_page_start: 4:
GET /api/v1/bing-serp?q=ai%20image&setLang=en-US&cc=us&first=4&device=iphone&brd_browser=safari
Authorization: Bearer YOUR_API_KEYResponse Example
This Demo is based on a live structured ai image response captured on August 25, 2026. Repeated ad records and time-sensitive tracking URLs are shortened for readability.
{
"code": "ok",
"message": "ok",
"data": {
"endpoint": "bing-serp",
"remainingCredits": 998,
"query": {
"q": "ai image"
},
"result": {
"general": {
"search_engine": "bing",
"query": "ai image",
"results_cnt": 86700,
"country_code": "NL",
"location": "The Hague, South Holland",
"language": "en-GB",
"mobile": false,
"search_type": "text",
"page_title": "ai image - Search",
"timestamp": "2026-08-25T14:03:12.766Z"
},
"top_ads": [
{
"title": "Free AI Image Generator - Best AI Image Generator",
"link": "http://www.chatday.ai",
"rank": 1,
"global_rank": 1
}
],
"organic": [
{
"link": "https://deepai.org/machine-learning-model/text2img",
"display_link": "https://deepai.org › machine-learning-model",
"title": "AI Image Generator - DeepAI",
"site_name": "DeepAI",
"description": "Whether you're a creator, developer, or entrepreneur, DeepAI's Free Online AI Image Generator gives you the power to visualize …",
"rank": 1,
"global_rank": 2
}
],
"related": [
{
"text": "ai image generator",
"rank": 1,
"global_rank": 15
}
],
"pagination": {
"current_page": 1,
"next_page": 2,
"next_page_start": 11,
"pages": [
{ "page": 2, "start": 11 },
{ "page": 3, "start": 21 }
]
}
}
}
}Response Fields
Result modules vary by query, country, page, device, and the current Bing results page. Treat all fields under data.result as optional unless your application has observed them for its own query set.
| Field | Type | Description |
|---|---|---|
data.endpoint | string | Fixed value: bing-serp |
data.costCredits | number | Credits consumed by this request |
data.remainingCredits | number | Remaining credits after deduction |
data.query | object | Validated parameters actually used by the API |
data.query.q | string | Search query |
data.query.setLang | string | Optional language value when provided |
data.query.cc | string | Optional country code when provided |
data.query.first | string | Optional result-page position when provided |
data.query.device | string | Optional device profile when provided |
data.query.brd_browser | string | Optional browser profile when provided |
data.result.general | object | Search metadata such as engine, locale, and device |
data.result.top_ads | array | Ads shown above organic results when available |
data.result.middle_ads | array | Ads shown between result modules when available |
data.result.bottom_ads | array | Ads shown below organic results when available |
data.result.organic | array | Organic search results in display order |
data.result.related | array | Related searches when available |
data.result.pagination | object | Current page and available navigation when returned |
data.result.pagination.next_page_start | number | Value to pass as first for the next request |
Organic Result Fields
| Field | Type | Description |
|---|---|---|
data.result.organic[].link | string | Direct target URL |
data.result.organic[].tracking_link | string | Optional Bing navigation URL |
data.result.organic[].display_link | string | Display URL shown in the result |
data.result.organic[].title | string | Result title |
data.result.organic[].site_name | string | Site name when available |
data.result.organic[].description | string | Result description |
data.result.organic[].rank | number | Rank within the organic result module |
data.result.organic[].global_rank | number | Rank across all returned result modules |
Device Values
setLang and cc are independent parameters. For example, setLang=en-US&cc=us is passed with both values unchanged. The API does not derive either value from the other.
- Leaving
deviceempty adds no device preference. desktopselects a desktop profile;mobileselects a general mobile profile.iosandiphoneselect an iPhone profile.ipadandios_tabletselect an iPad profile.androidselects an Android phone profile.android_tabletselects an Android tablet profile.- Leaving
brd_browserempty uses a random browser profile. brd_browseracceptschrome,safari, orfirefoxand can be combined withdevice.
Response Modules and Billing
All available Bing ad modules are returned, including top, middle, bottom, shopping, paid, and sponsored result groups. Source HTML, hotel modules, AI overview modules, and knowledge panels are removed. Other unknown structured modules are preserved so clients can adopt new Bing result types without waiting for an API schema update.
Credits are deducted only after a successful response containing valid structured JSON. Authentication failures, invalid parameters, failed searches, and invalid responses do not consume credits.