curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>",
"location_name": "<string>",
"location_code": 123,
"location_coordinate": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"os": "<string>",
"se_domain": "<string>",
"depth": 123,
"max_crawl_pages": 123,
"search_param": "<string>",
"load_async_ai_overview": true,
"expand_ai_overview": true,
"tag": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html"
payload = {
"url": "<string>",
"location_name": "<string>",
"location_code": 123,
"location_coordinate": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"os": "<string>",
"se_domain": "<string>",
"depth": 123,
"max_crawl_pages": 123,
"search_param": "<string>",
"load_async_ai_overview": True,
"expand_ai_overview": True,
"tag": "<string>"
}
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({
url: '<string>',
location_name: '<string>',
location_code: 123,
location_coordinate: '<string>',
language_name: '<string>',
language_code: '<string>',
device: '<string>',
os: '<string>',
se_domain: '<string>',
depth: 123,
max_crawl_pages: 123,
search_param: '<string>',
load_async_ai_overview: true,
expand_ai_overview: true,
tag: '<string>'
})
};
fetch('https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html', 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://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html",
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([
'url' => '<string>',
'location_name' => '<string>',
'location_code' => 123,
'location_coordinate' => '<string>',
'language_name' => '<string>',
'language_code' => '<string>',
'device' => '<string>',
'os' => '<string>',
'se_domain' => '<string>',
'depth' => 123,
'max_crawl_pages' => 123,
'search_param' => '<string>',
'load_async_ai_overview' => true,
'expand_ai_overview' => true,
'tag' => '<string>'
]),
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://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"os\": \"<string>\",\n \"se_domain\": \"<string>\",\n \"depth\": 123,\n \"max_crawl_pages\": 123,\n \"search_param\": \"<string>\",\n \"load_async_ai_overview\": true,\n \"expand_ai_overview\": true,\n \"tag\": \"<string>\"\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://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"os\": \"<string>\",\n \"se_domain\": \"<string>\",\n \"depth\": 123,\n \"max_crawl_pages\": 123,\n \"search_param\": \"<string>\",\n \"load_async_ai_overview\": true,\n \"expand_ai_overview\": true,\n \"tag\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html")
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 \"url\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"os\": \"<string>\",\n \"se_domain\": \"<string>\",\n \"depth\": 123,\n \"max_crawl_pages\": 123,\n \"search_param\": \"<string>\",\n \"load_async_ai_overview\": true,\n \"expand_ai_overview\": true,\n \"tag\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"version": "<string>",
"status_code": 123,
"status_message": "<string>",
"time": "<string>",
"cost": 123,
"tasks_count": 123,
"tasks_error": 123,
"tasks": "<string>",
"tasks[].id": "<string>",
"tasks[].result": "<string>",
"tasks[].result[].items": "<string>",
"tasks[].result[].items[].html": "<string>"
}Live Google Organic SERP HTML
Returns the ranked results for a keyword on Google, synchronously.
curl --request POST \
--url https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>",
"location_name": "<string>",
"location_code": 123,
"location_coordinate": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"os": "<string>",
"se_domain": "<string>",
"depth": 123,
"max_crawl_pages": 123,
"search_param": "<string>",
"load_async_ai_overview": true,
"expand_ai_overview": true,
"tag": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html"
payload = {
"url": "<string>",
"location_name": "<string>",
"location_code": 123,
"location_coordinate": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"device": "<string>",
"os": "<string>",
"se_domain": "<string>",
"depth": 123,
"max_crawl_pages": 123,
"search_param": "<string>",
"load_async_ai_overview": True,
"expand_ai_overview": True,
"tag": "<string>"
}
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({
url: '<string>',
location_name: '<string>',
location_code: 123,
location_coordinate: '<string>',
language_name: '<string>',
language_code: '<string>',
device: '<string>',
os: '<string>',
se_domain: '<string>',
depth: 123,
max_crawl_pages: 123,
search_param: '<string>',
load_async_ai_overview: true,
expand_ai_overview: true,
tag: '<string>'
})
};
fetch('https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html', 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://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html",
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([
'url' => '<string>',
'location_name' => '<string>',
'location_code' => 123,
'location_coordinate' => '<string>',
'language_name' => '<string>',
'language_code' => '<string>',
'device' => '<string>',
'os' => '<string>',
'se_domain' => '<string>',
'depth' => 123,
'max_crawl_pages' => 123,
'search_param' => '<string>',
'load_async_ai_overview' => true,
'expand_ai_overview' => true,
'tag' => '<string>'
]),
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://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"os\": \"<string>\",\n \"se_domain\": \"<string>\",\n \"depth\": 123,\n \"max_crawl_pages\": 123,\n \"search_param\": \"<string>\",\n \"load_async_ai_overview\": true,\n \"expand_ai_overview\": true,\n \"tag\": \"<string>\"\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://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"os\": \"<string>\",\n \"se_domain\": \"<string>\",\n \"depth\": 123,\n \"max_crawl_pages\": 123,\n \"search_param\": \"<string>\",\n \"load_async_ai_overview\": true,\n \"expand_ai_overview\": true,\n \"tag\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html")
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 \"url\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"device\": \"<string>\",\n \"os\": \"<string>\",\n \"se_domain\": \"<string>\",\n \"depth\": 123,\n \"max_crawl_pages\": 123,\n \"search_param\": \"<string>\",\n \"load_async_ai_overview\": true,\n \"expand_ai_overview\": true,\n \"tag\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"version": "<string>",
"status_code": 123,
"status_message": "<string>",
"time": "<string>",
"cost": 123,
"tasks_count": 123,
"tasks_error": 123,
"tasks": "<string>",
"tasks[].id": "<string>",
"tasks[].result": "<string>",
"tasks[].result[].items": "<string>",
"tasks[].result[].items[].html": "<string>"
}tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200.
Example
curl -X POST "https://api.aisa.one/apis/v1/dataforseo/serp/google/organic/live/html" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '[{"url": "...", "location_name": "...", "location_code": "..."}]'
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Direct URL of the search query
Full name of search engine location
Search engine location code
GPS coordinates of a location
Full name of search engine language
Search engine language code
Device type: desktop or mobile
Device operating system
Custom search engine domain
Parsing depth, default 100, max 700
Page crawl limit, max 100
Additional parameters of the search query
Load asynchronous AI overview
Expand AI overview item
User-defined task identifier
Response
Successful response
API version
General status code
General informational message
Execution time
Request cost in USD
Number of tasks returned
Number of tasks returned with an error
Array of live task objects
Task identifier
Result array containing HTML pages
HTML page items
Raw HTML page content