curl --request GET \
--url https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}', 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.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"generated_at": "2023-11-07T05:31:56Z",
"parent_company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"limit": 123,
"offset": 123,
"total_advertisers": 0,
"has_more": false,
"items": [
{
"advertiser": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"parent_company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"primary_domain": "<string>",
"website_url": "<string>",
"website_header_image_url": "<string>",
"industry": "<string>",
"brand_classification": {
"primary_industry": "<string>",
"industries": [
"<string>"
],
"business_models": [
"<string>"
],
"version": "<string>",
"source": "<string>",
"classified_at": "2023-11-07T05:31:56Z",
"needs_review": false
},
"filterable_industries": [
"<string>"
],
"partners": [
{
"name": "<string>",
"page_id": "<string>",
"page_url": "<string>",
"profile_image_url": "<string>"
}
]
},
"has_captured_ads": true,
"total_ads": 0,
"review_count": 0,
"new_ads_30d": 0,
"active_ads": 0,
"industry_match": false,
"recommendation_score": 0,
"last_active_at": "2023-11-07T05:31:56Z",
"platforms": [
"<string>"
],
"providers": [
"<string>"
],
"countries": [
"<string>"
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get Ad Library Parent Company
Advertiser identities owned by one legal parent, with ad counts.
Answers “which advertiser records share this legal entity”. It does NOT
answer “which consumer brands does this entity own” — caption-only brands
have no advertiser row and need the deferred ad_library_brands table.
Do not promise the latter in UI copy against this route.
curl --request GET \
--url https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}', 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.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/brand-intelligence/parent-companies/{parent_company_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"generated_at": "2023-11-07T05:31:56Z",
"parent_company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"limit": 123,
"offset": 123,
"total_advertisers": 0,
"has_more": false,
"items": [
{
"advertiser": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"parent_company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"primary_domain": "<string>",
"website_url": "<string>",
"website_header_image_url": "<string>",
"industry": "<string>",
"brand_classification": {
"primary_industry": "<string>",
"industries": [
"<string>"
],
"business_models": [
"<string>"
],
"version": "<string>",
"source": "<string>",
"classified_at": "2023-11-07T05:31:56Z",
"needs_review": false
},
"filterable_industries": [
"<string>"
],
"partners": [
{
"name": "<string>",
"page_id": "<string>",
"page_url": "<string>",
"profile_image_url": "<string>"
}
]
},
"has_captured_ads": true,
"total_ads": 0,
"review_count": 0,
"new_ads_30d": 0,
"active_ads": 0,
"industry_match": false,
"recommendation_score": 0,
"last_active_at": "2023-11-07T05:31:56Z",
"platforms": [
"<string>"
],
"providers": [
"<string>"
],
"countries": [
"<string>"
]
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
1 <= x <= 100x >= 0Response
Successful Response
Advertiser identities grouped under one legal parent.
total_advertisers counts advertisers with at least one ad the caller
may see, NOT every row carrying the FK: this reuses the Explore Brands
aggregate, which is ad-rooted, so an owned advertiser with no displayable
ad forms no group and does not appear. That is the same seam
GET /ad-library/brands exists to cover for the library at large.
It also does NOT answer "every consumer brand HEINEKEN owns". Caption-only
brands (Strongbow, Durex) have no advertiser row to hang the FK from and
need the deferred ad_library_brands table; see the plan's
"Scope honesty" section before writing UI copy against this.
A parent company or paying agency, by id + display name.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?