curl --request POST \
--url https://sdk.nimbleway.com/v2/serp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"search_engine": "google_search",
"country": "US",
"device": "desktop",
"domain": "com",
"locale": "en",
"location": "New York, New York, United States",
"num_results": 10,
"page": 1,
"parse": true,
"query": "nimble web data",
"render": false,
"resolve_url": false,
"show_hidden_results": false
}
'import requests
url = "https://sdk.nimbleway.com/v2/serp"
payload = {
"search_engine": "google_search",
"country": "US",
"device": "desktop",
"domain": "com",
"locale": "en",
"location": "New York, New York, United States",
"num_results": 10,
"page": 1,
"parse": True,
"query": "nimble web data",
"render": False,
"resolve_url": False,
"show_hidden_results": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
search_engine: 'google_search',
country: 'US',
device: 'desktop',
domain: 'com',
locale: 'en',
location: 'New York, New York, United States',
num_results: 10,
page: 1,
parse: true,
query: 'nimble web data',
render: false,
resolve_url: false,
show_hidden_results: false
})
};
fetch('https://sdk.nimbleway.com/v2/serp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sdk.nimbleway.com/v2/serp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'search_engine' => 'google_search',
'country' => 'US',
'device' => 'desktop',
'domain' => 'com',
'locale' => 'en',
'location' => 'New York, New York, United States',
'num_results' => 10,
'page' => 1,
'parse' => true,
'query' => 'nimble web data',
'render' => false,
'resolve_url' => false,
'show_hidden_results' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sdk.nimbleway.com/v2/serp"
payload := strings.NewReader("{\n \"search_engine\": \"google_search\",\n \"country\": \"US\",\n \"device\": \"desktop\",\n \"domain\": \"com\",\n \"locale\": \"en\",\n \"location\": \"New York, New York, United States\",\n \"num_results\": 10,\n \"page\": 1,\n \"parse\": true,\n \"query\": \"nimble web data\",\n \"render\": false,\n \"resolve_url\": false,\n \"show_hidden_results\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sdk.nimbleway.com/v2/serp")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"search_engine\": \"google_search\",\n \"country\": \"US\",\n \"device\": \"desktop\",\n \"domain\": \"com\",\n \"locale\": \"en\",\n \"location\": \"New York, New York, United States\",\n \"num_results\": 10,\n \"page\": 1,\n \"parse\": true,\n \"query\": \"nimble web data\",\n \"render\": false,\n \"resolve_url\": false,\n \"show_hidden_results\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sdk.nimbleway.com/v2/serp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"search_engine\": \"google_search\",\n \"country\": \"US\",\n \"device\": \"desktop\",\n \"domain\": \"com\",\n \"locale\": \"en\",\n \"location\": \"New York, New York, United States\",\n \"num_results\": 10,\n \"page\": 1,\n \"parse\": true,\n \"query\": \"nimble web data\",\n \"render\": false,\n \"resolve_url\": false,\n \"show_hidden_results\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"browser_actions": {
"results": [
{
"duration": 1,
"name": "goto",
"status": "no-run",
"error": "<string>",
"result": "<unknown>"
}
],
"success": true,
"total_duration": 1
},
"cookies": [
"<unknown>"
],
"eval": [
"<unknown>"
],
"fetch": [
"<unknown>"
],
"headers": {},
"html": "<string>",
"links": [
"<string>"
],
"markdown": "<string>",
"network_capture": [
{
"filter": {
"validation": false,
"wait_for_requests_count": 0,
"method": "GET",
"resource_type": "document",
"status_code": 349.5,
"url": {
"type": "exact",
"value": "<string>"
},
"wait_for_requests_count_timeout": 123
},
"results": [
{
"request": {
"headers": {},
"method": "<string>",
"resource_type": "document",
"url": "<string>",
"body": "<string>"
},
"response": {
"body": "<string>",
"headers": {},
"serialization": "none",
"status": 123,
"status_text": "<string>"
}
}
],
"errorMessage": "<string>"
}
],
"pages_html": [
"<string>"
],
"parsing": {
"entities": {},
"status": "success"
},
"redirects": [
{
"status_code": 349.5,
"url": "<string>"
}
],
"screenshots": [
"<unknown>"
]
},
"metadata": {
"agent": "<string>",
"driver": "<string>",
"localization_id": "<string>",
"query_duration": 123,
"query_time": "<string>",
"response_parameters": "<unknown>",
"tag": "<string>"
},
"status": "success",
"task_id": "<string>",
"url": "<string>",
"debug": {
"performance_metrics": {},
"proxy_total_bytes_usage": 1,
"transformed_output": "<unknown>",
"userbrowser": "<unknown>"
},
"pagination": {
"next_page_params": {}
},
"status_code": 123,
"warnings": [
"<string>"
]
}SERP
curl --request POST \
--url https://sdk.nimbleway.com/v2/serp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"search_engine": "google_search",
"country": "US",
"device": "desktop",
"domain": "com",
"locale": "en",
"location": "New York, New York, United States",
"num_results": 10,
"page": 1,
"parse": true,
"query": "nimble web data",
"render": false,
"resolve_url": false,
"show_hidden_results": false
}
'import requests
url = "https://sdk.nimbleway.com/v2/serp"
payload = {
"search_engine": "google_search",
"country": "US",
"device": "desktop",
"domain": "com",
"locale": "en",
"location": "New York, New York, United States",
"num_results": 10,
"page": 1,
"parse": True,
"query": "nimble web data",
"render": False,
"resolve_url": False,
"show_hidden_results": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
search_engine: 'google_search',
country: 'US',
device: 'desktop',
domain: 'com',
locale: 'en',
location: 'New York, New York, United States',
num_results: 10,
page: 1,
parse: true,
query: 'nimble web data',
render: false,
resolve_url: false,
show_hidden_results: false
})
};
fetch('https://sdk.nimbleway.com/v2/serp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sdk.nimbleway.com/v2/serp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'search_engine' => 'google_search',
'country' => 'US',
'device' => 'desktop',
'domain' => 'com',
'locale' => 'en',
'location' => 'New York, New York, United States',
'num_results' => 10,
'page' => 1,
'parse' => true,
'query' => 'nimble web data',
'render' => false,
'resolve_url' => false,
'show_hidden_results' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sdk.nimbleway.com/v2/serp"
payload := strings.NewReader("{\n \"search_engine\": \"google_search\",\n \"country\": \"US\",\n \"device\": \"desktop\",\n \"domain\": \"com\",\n \"locale\": \"en\",\n \"location\": \"New York, New York, United States\",\n \"num_results\": 10,\n \"page\": 1,\n \"parse\": true,\n \"query\": \"nimble web data\",\n \"render\": false,\n \"resolve_url\": false,\n \"show_hidden_results\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sdk.nimbleway.com/v2/serp")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"search_engine\": \"google_search\",\n \"country\": \"US\",\n \"device\": \"desktop\",\n \"domain\": \"com\",\n \"locale\": \"en\",\n \"location\": \"New York, New York, United States\",\n \"num_results\": 10,\n \"page\": 1,\n \"parse\": true,\n \"query\": \"nimble web data\",\n \"render\": false,\n \"resolve_url\": false,\n \"show_hidden_results\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sdk.nimbleway.com/v2/serp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"search_engine\": \"google_search\",\n \"country\": \"US\",\n \"device\": \"desktop\",\n \"domain\": \"com\",\n \"locale\": \"en\",\n \"location\": \"New York, New York, United States\",\n \"num_results\": 10,\n \"page\": 1,\n \"parse\": true,\n \"query\": \"nimble web data\",\n \"render\": false,\n \"resolve_url\": false,\n \"show_hidden_results\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"browser_actions": {
"results": [
{
"duration": 1,
"name": "goto",
"status": "no-run",
"error": "<string>",
"result": "<unknown>"
}
],
"success": true,
"total_duration": 1
},
"cookies": [
"<unknown>"
],
"eval": [
"<unknown>"
],
"fetch": [
"<unknown>"
],
"headers": {},
"html": "<string>",
"links": [
"<string>"
],
"markdown": "<string>",
"network_capture": [
{
"filter": {
"validation": false,
"wait_for_requests_count": 0,
"method": "GET",
"resource_type": "document",
"status_code": 349.5,
"url": {
"type": "exact",
"value": "<string>"
},
"wait_for_requests_count_timeout": 123
},
"results": [
{
"request": {
"headers": {},
"method": "<string>",
"resource_type": "document",
"url": "<string>",
"body": "<string>"
},
"response": {
"body": "<string>",
"headers": {},
"serialization": "none",
"status": 123,
"status_text": "<string>"
}
}
],
"errorMessage": "<string>"
}
],
"pages_html": [
"<string>"
],
"parsing": {
"entities": {},
"status": "success"
},
"redirects": [
{
"status_code": 349.5,
"url": "<string>"
}
],
"screenshots": [
"<unknown>"
]
},
"metadata": {
"agent": "<string>",
"driver": "<string>",
"localization_id": "<string>",
"query_duration": 123,
"query_time": "<string>",
"response_parameters": "<unknown>",
"tag": "<string>"
},
"status": "success",
"task_id": "<string>",
"url": "<string>",
"debug": {
"performance_metrics": {},
"proxy_total_bytes_usage": 1,
"transformed_output": "<unknown>",
"userbrowser": "<unknown>"
},
"pagination": {
"next_page_params": {}
},
"status_code": 123,
"warnings": [
"<string>"
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request body model for the /serp endpoint
The search engine to query.
google_search, google_sge, google_aio, google_maps_search, google_maps_reviews, google_maps_place, google_news, google_images, bing_search, yandex_search "google_search"
ISO Alpha-2 country code used to access the target search engine (e.g. US, DE, GB).
"US"
Device type used for the search request.
desktop, mobile "desktop"
Top-level domain for the search engine (e.g. "com", "co.uk", "de").
"com"
Locale used for the search request.
"en"
Geo-location for the search (canonical Google location name).
"New York, New York, United States"
Number of results to return (1–100).
1 <= x <= 10010
The result page number for pagination.
1 <= x <= 90071992547409911
When true, the SERP response is parsed into structured JSON.
true
The search keyword or phrase to query.
"nimble web data"
Whether to render the page in a browser before extracting.
false
Resolves redirect or broken URLs to their real destination. Adds a small increase in latency. If an individual result can't be resolved, that result falls back to the raw URL instead of failing the whole request.
false
When true, disables Google result filtering (filter=0) so omitted/duplicate and highly similar pages are also returned. Applies to Google search engines.
false
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The status of the task.
success, skipped, fatal, error, postponed, ignored, rejected, blocked Unique identifier for the task.
The final URL.
Show child attributes
Show child attributes
Pagination information if applicable.
- object
- object[]
Show child attributes
Show child attributes
The HTTP status code of the task.
List of warnings generated during the task.
Was this page helpful?