Links

Basic API Requests

We want to keep it as simple as possible on your end. That is why the Bing API is only available via GET requests and by passing the available parameters.
Using the Bing Search API is a straightforward process. You send a GET request to our SERP API and return real time results in a JSON format. In order to scrape Bing via our SERP API, you only need to pass three required parameters to your request:
  • api_key - Your personal API key, used to authenticate your requests
  • engine - always set to bing for this API
  • q - The keyword you are targeting
The most basic URL example for an authorised request on our Bing API is:
https://serpapi.webscrapingapi.com/v1?engine=bing&api_key=<YOUR_API_KEY>&q=<KEYWORD>
Depending on your implementation, the q parameter's value should be URL encoded.

The Bing API Integration Examples

cURL
NodeJS
Python
PHP
Go
Java
.NET
Ruby
curl --request GET --url "https://serpapi.webscrapingapi.com/v1?engine=bing&api_key=<YOUR_API_KEY>&q=shoes"
const http = require("https");
const options = {
"method": "GET",
"hostname": "serpapi.webscrapingapi.com",
"port": null,
"path": "/v1?engine=bing&api_key=YOUR_API_KEY&q=shoes",
"headers": {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import requests
API_KEY = '<YOUR_API_KEY>'
SCRAPER_URL = 'https://serpapi.webscrapingapi.com/v1'
PARAMS = {
"api_key":API_KEY,
"engine":"bing",
"q":"shoes"
}
response = requests.get(SCRAPER_URL, params=PARAMS)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://serpapi.webscrapingapi.com/v1?engine=bing&api_key=YOUR_API_KEY&q=shoes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://serpapi.webscrapingapi.com/v1?engine=bing&api_key=YOUR_API_KEY&q=shoes"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.get("https://serpapi.webscrapingapi.com/v1?engine=bing&api_key=YOUR_API_KEY&q=shoes")
.asString();
var client = new RestClient("https://serpapi.webscrapingapi.com/v1?engine=bing&api_key=YOUR_API_KEY&q=shoes");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://serpapi.webscrapingapi.com/v1?engine=bing&api_key=YOUR_API_KEY&q=shoes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
Response Example