---
title: "Who Google's Ads Transparency Center says advertises to a domain"
method: GET
path: "/projects/{project_id}/advertisers/{domain}/identity"
tags: ["Advertiser identity"]
---

# Who Google's Ads Transparency Center says advertises to a domain

`GET /projects/{project_id}/advertisers/{domain}/identity`

## Request

- Base URL: `https://adslighthouse.com/api/v1`
- URL: `https://adslighthouse.com/api/v1/projects/{project_id}/advertisers/{domain}/identity`
- Auth: HTTP bearer

Returns the Google Ads Transparency Center identity on record for an advertiser domain of the project: each advertiser account Google lists for ads pointing to the domain, with the name (the verified name when verified is true), country, Transparency ID, how many of the sampled ads it ran and their first and last shown dates, plus a link to Google's page. Several advertisers can share a domain (the brand, agencies, resellers, affiliates). state tells found, not_found (Google listed none), failed (the record could not be read; not the same as not_found), pending or none (never looked up). Free to call: it reads what is on record and never starts a lookup; use request_advertiser_identity_lookup for that. Google's record links advertiser accounts to ads that pointed to the domain; it does not prove who placed a specific ad seen in a check.

## Path parameters

- `project_id` string, required: The project: its id, its brand domain (for example nike.example) or its exact project or brand name. Unknown or ambiguous references return not_found; call list_projects then.
- `domain` string, required: Advertiser domain as it appears in list_advertisers, such as summit-outdoors.com.

## Response `200`

Who Google's Ads Transparency Center says advertises to a domain

- object
  - `domain` string, required
  - `state` 'none' | 'pending' | 'found' | 'not_found' | 'failed', required: The headline state: pending while a lookup runs; otherwise the latest attempt: found, not_found (Google listed no advertiser), failed (the record could not be read; never the same as not_found) or none (never looked up).
  - `result` object, nullable, required: The latest lookup that read Google's record. Kept when a later refresh failed.
    - `lookup_id` string, required
    - `status` 'found' | 'not_found', required
    - `looked_up_at` string, required
    - `stale` boolean, required: Older than 30 days; a request without refresh buys a new lookup.
    - `advertisers` object[], required: Most ads first; the first is the primary advertiser. Empty when not_found.
      - `advertiser_id` string, required: Google Ads Transparency Center advertiser ID, such as AR01234567890123456789.
      - `name` string, required: The advertiser name Google lists; the name verified with Google when verified is true.
      - `verified` boolean, required: True when Google lists the advertiser as verified.
      - `country` string, nullable, required: ISO country code where Google says the advertiser is based; null when not reported.
      - `ads_seen` integer, required: This advertiser's ads among the 40 most recent ads Google lists for the domain (all Google platforms).
      - `approx_ads_count` integer, nullable, required: Google's approximate count of all the advertiser's ads; null when not reported.
      - `first_shown` string, nullable, required: Earliest first-shown time of the sampled ads.
      - `last_shown` string, nullable, required: Latest last-shown time of the sampled ads.
      - `transparency_url` string, required: The advertiser's page in Google Ads Transparency Center.
  - `latest_failure` object, nullable, required: The latest lookup when it failed after (or without) a result.
    - `lookup_id` string, required
    - `failure` 'unavailable' | 'provider_error' | 'timeout' | 'unconfirmed', required: unavailable: the lookup could not start, nothing was charged and the check was given back. provider_error, timeout, unconfirmed: the record could not be read and the check was used.
    - `attempted_at` string, required
    - `check_returned` boolean, required
  - `pending` object, nullable, required
    - `lookup_id` string, required
    - `requested_at` string, required
    - `trigger` 'manual' | 'automatic' | 'api', required
  - `transparency_search_url` string, required: Google Ads Transparency Center search for this domain, to check the record yourself.
  - `automatic_lookups` object, required
    - `enabled` boolean, required
    - `daily_cap` integer, required: Automatic lookups per project per UTC day, at most.
    - `used_today` integer, required: Automatic lookups queued today (UTC).
  - `request_id` string

## Other responses

- `400`: Invalid parameters, cursor or body.
- `401`: Missing, invalid, expired or revoked credential.
- `403`: The credential lacks the write scope, the plan does not include the API, or the allowance is used up.
- `404`: Unknown project, keyword or run in this account.
- `409`: The idempotency key was already used for a different request.
- `429`: Rate limit reached. Retry after the Retry-After seconds.
- `503`: The requested service or file is temporarily unavailable.

---

[API](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api.md) · [All operations](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/revisions/e1a4a40b11a9?raw)
