Travel Partner API
google · Company
The Travel Partner API provides you with a RESTful interface to the Google Hotel Center platform. It enables an app to efficiently retrieve and change Hotel Center data, and is thus suitable for managing large or complex accounts.
Authentication
Sample Requests
Returns a reconciliation report.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/google.com/v3/v3/{name}?alt=json&key=YOUR_API_KEY&fields=example&$.xgafv=1&callback=example"aUser=example&uploadType=example&oauth_token=example&prettyPrint=true&access_token=example&includePixels=true&upload_protocol=example&includeNonScoring=true&includeMatchedPrices=true"import requests
params = {
"alt": "json",
"key": "YOUR_API_KEY",
"fields": "example",
"$.xgafv": "1",
"callback": "example",
"quotaUser": "example",
"uploadType": "example",
"oauth_token": "example",
"prettyPrint": "true",
"access_token": "example",
"includePixels": "true",
"upload_protocol": "example",
"includeNonScoring": "true",
"includeMatchedPrices": "true"
}
response = requests.get(
"https://api.apis.guru/v2/specs/google.com/v3/v3/{name}",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/google.com/v3/v3/{name}');
url.searchParams.set('alt', 'json');
url.searchParams.set('key', 'YOUR_API_KEY');
url.searchParams.set('fields', 'example');
url.searchParams.set('$.xgafv', '1');
url.searchParams.set('callback', 'example');
url.searchParams.set('quotaUser', 'example');
url.searchParams.set('uploadType', 'example');
url.searchParams.set('oauth_token', 'example');
url.searchParams.set('prettyPrint', 'true');
url.searchParams.set('access_token', 'example');
url.searchParams.set('includePixels', 'true');
url.searchParams.set('upload_protocol', 'example');
url.searchParams.set('includeNonScoring', 'true');
url.searchParams.set('includeMatchedPrices', 'true');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/google.com/v3/v3/{name}")
q := baseURL.Query()
q.Set("alt", "json")
q.Set("key", "YOUR_API_KEY")
q.Set("fields", "example")
q.Set("$.xgafv", "1")
q.Set("callback", "example")
q.Set("quotaUser", "example")
q.Set("uploadType", "example")
q.Set("oauth_token", "example")
q.Set("prettyPrint", "true")
q.Set("access_token", "example")
q.Set("includePixels", "true")
q.Set("upload_protocol", "example")
q.Set("includeNonScoring", "true")
q.Set("includeMatchedPrices", "true")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/google.com/v3/v3/{name}")
uri.query = URI.encode_www_form({
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"$.xgafv" => "1",
"callback" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"includePixels" => "true",
"upload_protocol" => "example",
"includeNonScoring" => "true",
"includeMatchedPrices" => "true"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/google.com/v3/v3/{name}?" . http_build_query([
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"$.xgafv" => "1",
"callback" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"includePixels" => "true",
"upload_protocol" => "example",
"includeNonScoring" => "true",
"includeMatchedPrices" => "true"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));**DEPRECATED:** Use PropertyPerformanceReportService.QueryPropertyPerformanceReport, which also has impression reporting, instead. Provides the ability to query (get, filter, and segment) a free booking links report for a specific account.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/freeBookingLinksReportViews:query?alt=json&key=YOUR_API_KEY&fields=example&filter=example&$.xgafv=1&callback=example&pageSize=1&pageToken=example"aUser=example&uploadType=example&aggregateBy=example&oauth_token=example&prettyPrint=true&access_token=example&upload_protocol=example"import requests
params = {
"alt": "json",
"key": "YOUR_API_KEY",
"fields": "example",
"filter": "example",
"$.xgafv": "1",
"callback": "example",
"pageSize": "1",
"pageToken": "example",
"quotaUser": "example",
"uploadType": "example",
"aggregateBy": "example",
"oauth_token": "example",
"prettyPrint": "true",
"access_token": "example",
"upload_protocol": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/freeBookingLinksReportViews:query",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/freeBookingLinksReportViews:query');
url.searchParams.set('alt', 'json');
url.searchParams.set('key', 'YOUR_API_KEY');
url.searchParams.set('fields', 'example');
url.searchParams.set('filter', 'example');
url.searchParams.set('$.xgafv', '1');
url.searchParams.set('callback', 'example');
url.searchParams.set('pageSize', '1');
url.searchParams.set('pageToken', 'example');
url.searchParams.set('quotaUser', 'example');
url.searchParams.set('uploadType', 'example');
url.searchParams.set('aggregateBy', 'example');
url.searchParams.set('oauth_token', 'example');
url.searchParams.set('prettyPrint', 'true');
url.searchParams.set('access_token', 'example');
url.searchParams.set('upload_protocol', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/freeBookingLinksReportViews:query")
q := baseURL.Query()
q.Set("alt", "json")
q.Set("key", "YOUR_API_KEY")
q.Set("fields", "example")
q.Set("filter", "example")
q.Set("$.xgafv", "1")
q.Set("callback", "example")
q.Set("pageSize", "1")
q.Set("pageToken", "example")
q.Set("quotaUser", "example")
q.Set("uploadType", "example")
q.Set("aggregateBy", "example")
q.Set("oauth_token", "example")
q.Set("prettyPrint", "true")
q.Set("access_token", "example")
q.Set("upload_protocol", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/freeBookingLinksReportViews:query")
uri.query = URI.encode_www_form({
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"filter" => "example",
"$.xgafv" => "1",
"callback" => "example",
"pageSize" => "1",
"pageToken" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"aggregateBy" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"upload_protocol" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/freeBookingLinksReportViews:query?" . http_build_query([
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"filter" => "example",
"$.xgafv" => "1",
"callback" => "example",
"pageSize" => "1",
"pageToken" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"aggregateBy" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"upload_protocol" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Provides the ability to query (get, filter, and segment) a participation report for a particular account.
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/participationReportViews:query?alt=json&key=YOUR_API_KEY&fields=example&filter=example&$.xgafv=1&callback=example&pageSize=1&pageToken=example"aUser=example&uploadType=example&aggregateBy=example&oauth_token=example&prettyPrint=true&access_token=example&upload_protocol=example"import requests
params = {
"alt": "json",
"key": "YOUR_API_KEY",
"fields": "example",
"filter": "example",
"$.xgafv": "1",
"callback": "example",
"pageSize": "1",
"pageToken": "example",
"quotaUser": "example",
"uploadType": "example",
"aggregateBy": "example",
"oauth_token": "example",
"prettyPrint": "true",
"access_token": "example",
"upload_protocol": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/participationReportViews:query",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/participationReportViews:query');
url.searchParams.set('alt', 'json');
url.searchParams.set('key', 'YOUR_API_KEY');
url.searchParams.set('fields', 'example');
url.searchParams.set('filter', 'example');
url.searchParams.set('$.xgafv', '1');
url.searchParams.set('callback', 'example');
url.searchParams.set('pageSize', '1');
url.searchParams.set('pageToken', 'example');
url.searchParams.set('quotaUser', 'example');
url.searchParams.set('uploadType', 'example');
url.searchParams.set('aggregateBy', 'example');
url.searchParams.set('oauth_token', 'example');
url.searchParams.set('prettyPrint', 'true');
url.searchParams.set('access_token', 'example');
url.searchParams.set('upload_protocol', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/participationReportViews:query")
q := baseURL.Query()
q.Set("alt", "json")
q.Set("key", "YOUR_API_KEY")
q.Set("fields", "example")
q.Set("filter", "example")
q.Set("$.xgafv", "1")
q.Set("callback", "example")
q.Set("pageSize", "1")
q.Set("pageToken", "example")
q.Set("quotaUser", "example")
q.Set("uploadType", "example")
q.Set("aggregateBy", "example")
q.Set("oauth_token", "example")
q.Set("prettyPrint", "true")
q.Set("access_token", "example")
q.Set("upload_protocol", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/participationReportViews:query")
uri.query = URI.encode_www_form({
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"filter" => "example",
"$.xgafv" => "1",
"callback" => "example",
"pageSize" => "1",
"pageToken" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"aggregateBy" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"upload_protocol" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/google.com/v3/v3/{name}/participationReportViews:query?" . http_build_query([
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"filter" => "example",
"$.xgafv" => "1",
"callback" => "example",
"pageSize" => "1",
"pageToken" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"aggregateBy" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"upload_protocol" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Travel Partner API?
Travel Partner API is a Company API. Developers commonly use company APIs for:
- enriching CRM records with company firmographics
- building lead-generation and prospecting tools
- verifying business identity and registration details
- monitoring competitors and market intelligence
- powering B2B data enrichment pipelines
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Travel Partner API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?