Basic API Requests
Web scraping Yandex Search results is now as easy as sending a GET request to our API. We handle the SERP results scraping, you handle the data we extract.
The SERP API is the engine on which our Yandex Scraping API is running. Being an extension of the SERP API, the Yandex API only accepts GET requests. There are mainly three required parameters you need to pass to the official SERP API endpoint in order to extract real time Yandex results:
  • api_key - Your personal API key, used to authenticate your requests
  • engine - always set to yandex for this API
  • text - The keyword you are targeting
The most basic URL example for an authorised request on our Yandex API is:
https://serpapi.webscrapingapi.com/v1?engine=yandex&api_key=<YOUR_API_KEY>&text=<KEYWORD>
The text parameter might need to be URL encoded, depending on the technologies used in your Yandex scraping project.

The Yandex API Integration Examples

cURL
NodeJS
Python
PHP
Go
Java
.NET
Ruby
curl --request GET --url "https://serpapi.webscrapingapi.com/v1?engine=yandex&api_key=YOUR_API_KEY&text=rocket"
const http = require("https");
const options = {
"method": "GET",
"hostname": "serpapi.webscrapingapi.com",
"port": null,
"path": "/v1?engine=yandex&api_key=YOUR_API_KEY&text=rocket",
"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
Last modified 9d ago
Copy link