Digital Asset Links API
googleapis · Analytics
Discovers relationships between online assets such as websites or mobile apps.
Authentication
Sample Requests
Determines whether the specified (directional) relationship exists between the specified source and target assets. The relation describes the intent of the link between the two assets as claimed by the source asset. An example for such relationships is the delegation of privileges or permissions. Th
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/assetlinks:check?alt=json&key=YOUR_API_KEY&fields=example&$.xgafv=1&callback=example&relation=example"aUser=example&uploadType=example&oauth_token=example&prettyPrint=true&access_token=example&source.web.site=example&target.web.site=example&upload_protocol=example&source.androidApp.packageName=example&target.androidApp.packageName=example&source.androidApp.certificate.sha256Fingerprint=example&target.androidApp.certificate.sha256Fingerprint=example"
import requests
params = {
"alt": "json",
"key": "YOUR_API_KEY",
"fields": "example",
"$.xgafv": "1",
"callback": "example",
"relation": "example",
"quotaUser": "example",
"uploadType": "example",
"oauth_token": "example",
"prettyPrint": "true",
"access_token": "example",
"source.web.site": "example",
"target.web.site": "example",
"upload_protocol": "example",
"source.androidApp.packageName": "example",
"target.androidApp.packageName": "example",
"source.androidApp.certificate.sha256Fingerprint": "example",
"target.androidApp.certificate.sha256Fingerprint": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/assetlinks:check",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/assetlinks:check');
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('relation', '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('source.web.site', 'example');
url.searchParams.set('target.web.site', 'example');
url.searchParams.set('upload_protocol', 'example');
url.searchParams.set('source.androidApp.packageName', 'example');
url.searchParams.set('target.androidApp.packageName', 'example');
url.searchParams.set('source.androidApp.certificate.sha256Fingerprint', 'example');
url.searchParams.set('target.androidApp.certificate.sha256Fingerprint', '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/googleapis.com/digitalassetlinks/v1/v1/assetlinks:check")
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("relation", "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("source.web.site", "example")
q.Set("target.web.site", "example")
q.Set("upload_protocol", "example")
q.Set("source.androidApp.packageName", "example")
q.Set("target.androidApp.packageName", "example")
q.Set("source.androidApp.certificate.sha256Fingerprint", "example")
q.Set("target.androidApp.certificate.sha256Fingerprint", "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/googleapis.com/digitalassetlinks/v1/v1/assetlinks:check")
uri.query = URI.encode_www_form({
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"$.xgafv" => "1",
"callback" => "example",
"relation" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"source.web.site" => "example",
"target.web.site" => "example",
"upload_protocol" => "example",
"source.androidApp.packageName" => "example",
"target.androidApp.packageName" => "example",
"source.androidApp.certificate.sha256Fingerprint" => "example",
"target.androidApp.certificate.sha256Fingerprint" => "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/googleapis.com/digitalassetlinks/v1/v1/assetlinks:check?" . http_build_query([
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"$.xgafv" => "1",
"callback" => "example",
"relation" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"source.web.site" => "example",
"target.web.site" => "example",
"upload_protocol" => "example",
"source.androidApp.packageName" => "example",
"target.androidApp.packageName" => "example",
"source.androidApp.certificate.sha256Fingerprint" => "example",
"target.androidApp.certificate.sha256Fingerprint" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Retrieves a list of all statements from a given source that match the specified target and statement string. The API guarantees that all statements with secure source assets, such as HTTPS websites or Android apps, have been made in a secure way by the owner of those assets, as described in the [Dig
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/statements:list?alt=json&key=YOUR_API_KEY&fields=example&$.xgafv=1&callback=example&relation=example"aUser=example&uploadType=example&oauth_token=example&prettyPrint=true&access_token=example&source.web.site=example&upload_protocol=example&source.androidApp.packageName=example&source.androidApp.certificate.sha256Fingerprint=example"
import requests
params = {
"alt": "json",
"key": "YOUR_API_KEY",
"fields": "example",
"$.xgafv": "1",
"callback": "example",
"relation": "example",
"quotaUser": "example",
"uploadType": "example",
"oauth_token": "example",
"prettyPrint": "true",
"access_token": "example",
"source.web.site": "example",
"upload_protocol": "example",
"source.androidApp.packageName": "example",
"source.androidApp.certificate.sha256Fingerprint": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/statements:list",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/statements:list');
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('relation', '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('source.web.site', 'example');
url.searchParams.set('upload_protocol', 'example');
url.searchParams.set('source.androidApp.packageName', 'example');
url.searchParams.set('source.androidApp.certificate.sha256Fingerprint', '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/googleapis.com/digitalassetlinks/v1/v1/statements:list")
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("relation", "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("source.web.site", "example")
q.Set("upload_protocol", "example")
q.Set("source.androidApp.packageName", "example")
q.Set("source.androidApp.certificate.sha256Fingerprint", "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/googleapis.com/digitalassetlinks/v1/v1/statements:list")
uri.query = URI.encode_www_form({
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"$.xgafv" => "1",
"callback" => "example",
"relation" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"source.web.site" => "example",
"upload_protocol" => "example",
"source.androidApp.packageName" => "example",
"source.androidApp.certificate.sha256Fingerprint" => "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/googleapis.com/digitalassetlinks/v1/v1/statements:list?" . http_build_query([
"alt" => "json",
"key" => "YOUR_API_KEY",
"fields" => "example",
"$.xgafv" => "1",
"callback" => "example",
"relation" => "example",
"quotaUser" => "example",
"uploadType" => "example",
"oauth_token" => "example",
"prettyPrint" => "true",
"access_token" => "example",
"source.web.site" => "example",
"upload_protocol" => "example",
"source.androidApp.packageName" => "example",
"source.androidApp.certificate.sha256Fingerprint" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Send a bundle of statement checks in a single RPC to minimize latency and service load. Statements need not be all for the same source and/or target. We recommend using this method when you need to check more than one statement in a short period of time.
Hover any highlighted part to learn what it does
curl -X POST "https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/assetlinks:bulkCheck?alt=json&key=YOUR_API_KEY&fields=example&$.xgafv=1&callback=example"aUser=example&uploadType=example&oauth_token=example&prettyPrint=true&access_token=example&upload_protocol=example"
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",
"upload_protocol": "example"
}
response = requests.post(
"https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/assetlinks:bulkCheck",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/assetlinks:bulkCheck');
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('upload_protocol', 'example');
const response = await fetch(url, {
method: 'POST',
});
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/googleapis.com/digitalassetlinks/v1/v1/assetlinks:bulkCheck")
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("upload_protocol", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", 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/googleapis.com/digitalassetlinks/v1/v1/assetlinks:bulkCheck")
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",
"upload_protocol" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/googleapis.com/digitalassetlinks/v1/v1/assetlinks:bulkCheck?" . 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",
"upload_protocol" => "example"
]);
$opts = ["http" => [
"method" => "POST",
]];
$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 Digital Asset Links API?
Digital Asset Links API is a Analytics API. Developers commonly use analytics APIs for:
- tracking product usage and user behaviour
- building custom reporting and BI dashboards
- measuring marketing and campaign performance
- running funnel, retention, and cohort analysis
- aggregating metrics from multiple data sources
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Digital Asset Links API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide