JustSERPDocs
Bing

Bing Shopping

One page of Bing Shopping listings (36 products), answered as the document: `search_metadata`, `search_parameters`, `search_information` (`query_displayed`, `total_results`, `filters_applied`, `page`), `filters`, `shopping_ads` (the sponsored carousels), `shopping_results` (each with a `product_token` for `bing_product`), `suggestions` and `pagination`.

GET
/v1/bing/shopping

One page of Bing Shopping listings (36 products), answered as the document: search_metadata, search_parameters, search_information (query_displayed, total_results, filters_applied, page), filters, shopping_ads (the sponsored carousels), shopping_results (each with a product_token for bing_product), suggestions and pagination. Sort by price either way, filter by a value of the filters block, five pages for a query. A page past the last is shopping_results: []. zero_retention is not handled.

Authorization

headerX-API-Key<token>

Your API key.

Query Parameters

cancel_token?string

A name you make up for this request (a UUID is fine), so you can later GET /v1/cancel with it. Only you know it, so only you can cancel. Use a new one for every request, retries included: a cancelled token stays cancelled for a few minutes.

Length1 <= length <= 128
q*string

What to search for.

Lengthlength <= 1000
device?"desktop"

Anything but desktop is a 400.

Default"desktop"
Value in"desktop"
market_code?string

language-country from Bing's list (en-us...). Not with country_code.

country_code?string

Two letters from Bing's list; prices are in that country's money.

Default"US"
language?string

Bing's list.

Default"en"
sort_by?string
Default"featured"
Value in"featured""price_low_to_high""price_high_to_low"
filters?string

A value of the answer's filters[].options[].filters (Bing's base64 text).

page?integer

36 products a page; Bing lists about five pages.

Range1 <= value <= 100
Default1

Response Body

The listing, as the document. When the page could not be parsed, the usual envelope.

application/json
  1. response

The Bing Shopping document.

search_metadata*
search_parameters*

The request's own fields as sent, engine first, without cancel_token.

search_information*

The parser's own, e.g. yelp_search's; otherwise {}.

filters?array<>
shopping_ads?array<>

The sponsored carousels, no ad twice.

shopping_results?array<>
suggestions?array<>
pagination?
[key: string]?any
Example Request
curl -X GET 'https://api.justserp.com/v1/bing/shopping?q=red+sneakers&sort_by=price_low_to_high&page=2'
Example Response
{  "search_metadata": {    "id": "string",    "status": "Success",    "created_at": "string",    "request_url": "string",    "html_url": "string"  },  "search_parameters": {},  "search_information": {    "query_displayed": "string",    "total_results": 0,    "filters_applied": [      "string"    ],    "page": 0  },  "filters": [    {      "type": "string",      "options": [        {          "text": "string",          "is_selected": true,          "filters": "string",          "link": "string"        }      ]    }  ],  "shopping_ads": [    {      "position": 0,      "title": "string",      "link": "string",      "seller": "string",      "price": "string",      "extracted_price": 0,      "original_price": "string",      "extracted_original_price": 0,      "rating": 0,      "reviews": 0,      "offer_id": "string",      "block_position": "top",      "delivery": "string",      "image": "string",      "images": [        "string"      ]    }  ],  "shopping_results": [    {      "position": 0,      "title": "string",      "link": "string",      "seller": "string",      "price": "string",      "extracted_price": 0,      "original_price": "string",      "extracted_original_price": 0,      "rating": 0,      "reviews": 0,      "offer_id": "string",      "is_sponsored": true,      "product_token": "string",      "extensions": [        "string"      ],      "delivery": "string",      "thumbnail": "string",      "images": [        "string"      ]    }  ],  "suggestions": [    {      "query": "string",      "link": "string",      "thumbnail": "string"    }  ],  "pagination": {    "current": 0,    "next": "string",    "other_pages": {      "property1": "string",      "property2": "string"    }  }}