Google Paid ADS Result API
Introducing the Google paid Ads Result API, a dynamic tool that opens doors to a wealth of insights within your Google Ads campaigns.
This API provides real-time access to essential performance data, enabling you to make informed decisions and optimize your advertising efforts.
Whether you’re focused on monitoring ad performance analyzing keywords, The Google Search Ads Result API is your key to unleashing the full potential of your advertising campaigns.
Join us in exploring the future of advertising with this powerful tool at your fingertips.
JSON structure overview
{
"ads": [
{
"position": 1,
"block_position": "top",
"title": "Flight paris - Your flights at the best price",
"link": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=DChcSEwi78OKbvvn-AhWRELMAHcfmB-IYABAAGgJ5bQ&ohost=www.google.com&cid=CAASJORoPZm_G06zDvaw23U2PMSZGzHmlufm_SaH8NgW2mopAKupZg&sig=AOD64_0WRCVU4t8koamL-tdwA4OPJmfAqg&adurl=&q=",
"displayed_link": "https://wwws.airfrance.fr › official_site › booking ",
"description": "Direct flights every day. Taking Elegance To New Heights with Air France! Fly away to Paris. Experience something unique with Air France. Best Entertainment EU. Best EU airline – Skytrax. Exclusive offers. Over 250 destinations. Seat Options. Secure Payment. ",
"sitelinks": [
{
"title": "View Offers",
"link": "https://www.airfrance.fr/FR/en/local/purchase-booking/best-offers/fare-promotion-flight.do"
},
{
"title": "Flights to Europe",
"link": "https://www.airfrance.fr/FR/en/local/achat-reservation/meilleures-offres/tarif-promotion-vol-europe.do?origine=PAR"
},
{
"title": "Flights to America",
"link": "https://www.airfrance.fr/FR/en/local/achat-reservation/meilleures-offres/tarif-promotion-vol-ameriques.do?origine=PAR"
}
]
}
]
}
Results for: Flight to paris
https://api.serphouse.com/serp/live?q=Flight+to+paris&domain=google.com&lang=en&device=desktop&serp_type=web&loc=Austin,Texas,United States&loc_id=1026201&verbatim=0&gfilter=0&page=1&num_result=100
Curl
Ruby
Python
Node.js
PHP
Java
GO
Curl
curl -X POST \
https://api.serphouse.com/serp/live \
-H 'accept: application/json' \
-H 'authorization: Bearer API_TOKEN' \
-H 'content-type: application/json' \
-d '{
"data": {
"domain":"google.com",
"lang":"en",
"q": "Flight to paris",
"loc":"Texas,United States",
"device": "desktop",
"serp_type": "web"
}
}'
Ruby
require 'uri'
require 'net/http'
url = URI("https://api.serphouse.com/serp/live")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer API_TOKEN'
request.body = '{"data": {
"domain": "google.com",
"lang": "en",
"q": "Flight to paris",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}'
response = http.request(request)
puts response.read_body
Python
import requests, json
url = "https://api.serphouse.com/serp/live"
payload = json.dumps({
"data": {
"domain": "google.com",
"lang": "en",
"q": "Flight to paris",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}
})
headers = {
'accept': "application/json",
'content-type': "application/json",
'authorization': "Bearer API_TOKEN"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
Node.js
var axios = require('axios');
var data = JSON.stringify({
data: {
domain: 'google.com',
lang: 'en',
q: 'Flight to paris',
loc: 'Texas,United States',
device: 'desktop',
serp_type: 'web'
}
});
var config = {
"method": "POST",
"url": "https://api.serphouse.com/serp/live",
"headers": {
"content-type": "application/json",
"authorization": "Bearer API_TOKEN"
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error){
console.log(error);
});
PHP
$client = new GuzzleHttp\Client();
$headers= [
'Authorization' => 'Bearer API_TOKEN',
'Content-Type' => 'Application/json',
];
$body = '{
"data" : {
"domain": "google.com",
"lang": "en",
"q": "Flight to paris",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}';
$request = new GuzzleHttp\Psr7\Request('POST','https://api.serphouse.com/serp/live', $headers, $body);
$res = $client->sendAsync($request)->wait();
Java
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
JSONObject jsonObject = new JSONObject();
JSONObject data = new JSONObject();
data.put("domain", "google.com");
data.put("lang", "en");
data.put("q", "Flight to paris");
data.put("loc", "Texas,United States");
data.put("device", "desktop");
data.put("serp_type", "web");
jsonObject.put("data", data);
String bodyJson = jsonObject.toString();
RequestBody body = RequestBody.create(mediaType, bodyJson);
Request request = new Request.Builder()
.url("https://api.serphouse.com/serp/live")
.method("POST", body)
.addHeader("content-type", "application/json")
.addHeader("authorization", "Bearer API_TOKEN")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
GO
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.serphouse.com/serp/live"
payload := strings.NewReader(`{"data": {
"domain":"google.com",
"lang": "en",
"q": "Flight to paris",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"}}
`)
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("accept", "application/json")
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Bearer API_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
{
...
"ads": [
{
"position": 1,
"block_position": "top",
"title": "Flight paris - Your flights at the best price",
"link": "https://www.googleadservices.com/pagead/aclk?sa=L&ai=DChcSEwi78OKbvvn-AhWRELMAHcfmB-IYABAAGgJ5bQ&ohost=www.google.com&cid=CAASJORoPZm_G06zDvaw23U2PMSZGzHmlufm_SaH8NgW2mopAKupZg&sig=AOD64_0WRCVU4t8koamL-tdwA4OPJmfAqg&adurl=&q=",
"displayed_link": "https://wwws.airfrance.fr › official_site › booking ",
"description": "Direct flights every day. Taking Elegance To New Heights with Air France! Fly away to Paris. Experience something unique with Air France. Best Entertainment EU. Best EU airline – Skytrax. Exclusive offers. Over 250 destinations. Seat Options. Secure Payment. ",
"sitelinks": [
{
"title": "View Offers",
"link": "https://www.airfrance.fr/FR/en/local/purchase-booking/best-offers/fare-promotion-flight.do"
},
{
"title": "Flights to Europe",
"link": "https://www.airfrance.fr/FR/en/local/achat-reservation/meilleures-offres/tarif-promotion-vol-europe.do?origine=PAR"
},
{
"title": "Flights to America",
"link": "https://www.airfrance.fr/FR/en/local/achat-reservation/meilleures-offres/tarif-promotion-vol-ameriques.do?origine=PAR"
},
{
"title": "Flights to Caribbean",
"link": "https://www.airfrance.fr/FR/en/local/achat-reservation/meilleures-offres/tarif-promotion-vol-caraibes.do?origine=PAR"
},
{
"title": "Contact Us",
"link": "https://www.airfrance.fr/FR/en/local/transverse/footer/nous-contacter.htm"
}
]
},
{
"position": 2,
"block_position": "top",
"title": "Flights 2023 - From Paris to France - Fly Direct With easyJet®",
"link": "https://www.easyjet.com/",
"displayed_link": "https://www.easyjet.com › paris › france ",
"description": "Low Cost Flights To Over 120 Destinations At easyJet.com. Book Flights & Holidays Today. Manage Your Booking and Track your flight with our Award-Winning App. Allocated Seating. "
}
]
...
}
Results for: hostinger on mobile
https://api.serphouse.com/serp/live?q=info+edge+news&domain=google.com&lang=en&device=mobile&serp_type=web&loc=Austin,Texas,United States&loc_id=1026201&verbatim=0&gfilter=0&page=1&num_result=100
Curl
Ruby
Python
Node.js
PHP
Java
GO
Curl
curl -X POST \
https://api.serphouse.com/serp/live \
-H 'accept: application/json' \
-H 'authorization: Bearer API_TOKEN' \
-H 'content-type: application/json' \
-d '{
"data": {
"domain":"google.com",
"lang":"en",
"q": "hostinger",
"loc":"Texas,United States",
"device": "desktop",
"serp_type": "web"
}
}'
Ruby
require 'uri'
require 'net/http'
url = URI("https://api.serphouse.com/serp/live")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer API_TOKEN'
request.body = '{"data": {
"domain": "google.com",
"lang": "en",
"q": "hostinger",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}'
response = http.request(request)
puts response.read_body
Python
import requests, json
url = "https://api.serphouse.com/serp/live"
payload = json.dumps({
"data": {
"domain": "google.com",
"lang": "en",
"q": "hostinger",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}
})
headers = {
'accept': "application/json",
'content-type': "application/json",
'authorization': "Bearer API_TOKEN"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
Node.js
var axios = require('axios');
var data = JSON.stringify({
data: {
domain: 'google.com',
lang: 'en',
q: 'hostinger',
loc: 'Texas,United States',
device: 'desktop',
serp_type: 'web'
}
});
var config = {
"method": "POST",
"url": "https://api.serphouse.com/serp/live",
"headers": {
"content-type": "application/json",
"authorization": "Bearer API_TOKEN"
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error){
console.log(error);
});
PHP
$client = new GuzzleHttp\Client();
$headers= [
'Authorization' => 'Bearer API_TOKEN',
'Content-Type' => 'Application/json',
];
$body = '{
"data" : {
"domain": "google.com",
"lang": "en",
"q": "hostinger",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"
}}';
$request = new GuzzleHttp\Psr7\Request('POST','https://api.serphouse.com/serp/live', $headers, $body);
$res = $client->sendAsync($request)->wait();
Java
z
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
JSONObject jsonObject = new JSONObject();
JSONObject data = new JSONObject();
data.put("domain", "google.com");
data.put("lang", "en");
data.put("q", "hostinger");
data.put("loc", "Texas,United States");
data.put("device", "mobile");
data.put("serp_type", "web");
jsonObject.put("data", data);
String bodyJson = jsonObject.toString();
RequestBody body = RequestBody.create(mediaType, bodyJson);
Request request = new Request.Builder()
.url("https://api.serphouse.com/serp/live")
.method("POST", body)
.addHeader("content-type", "application/json")
.addHeader("authorization", "Bearer API_TOKEN")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
GO
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.serphouse.com/serp/live"
payload := strings.NewReader(`{"data": {
"domain":"google.com",
"lang": "en",
"q": "hostinger",
"loc": "Texas,United States",
"device": "desktop",
"serp_type": "web"}}
`)
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("accept", "application/json")
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Bearer API_TOKEN")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
{
...
"ads": [
{
"position": 1,
"block_position": "top",
"title": "Hostinger - Web Hosting - Reliable & Fast Hosting ",
"link": "https://www.hostinger.com/",
"displayed_link": "https://www.hostinger.com ",
"description": "Find the perfect Hostinger domain name by using the domain checker. Go live in minutes. Get your website up and running in a few clicks. You have everything...",
"sitelinks": [
{
"title": "Get a Free DomainCertain plans include a free domain You also get custom email for free.",
"link": "https://www.hostinger.com/free-domain?sa=X&ved=2ahUKEwimjefHyvn-AhUoOkQIHRwEA-EQqyQoAHoECAMQCg"
},
{
"title": "Hostinger Product Pricing",
"link": "https://www.hostinger.com/pricing?sa=X&ved=2ahUKEwimjefHyvn-AhUoOkQIHRwEA-EQqyQoAXoECAMQDA"
},
{
"title": "Web Hosting Deal",
"link": "https://www.hostinger.com/?sa=X&ved=2ahUKEwimjefHyvn-AhUoOkQIHRwEA-EQqyQoAnoECAMQDQ"
},
{
"title": "Buy a Website Domain",
"link": "https://www.hostinger.com/buy-domain?sa=X&ved=2ahUKEwimjefHyvn-AhUoOkQIHRwEA-EQqyQoA3oECAMQDg"
}
]
}
]
...
}
Get in touch with us!
You may contact us from here for any concern.