Ad libraries

List ads an advertiser runs on Google · Google Ads API

GET/google-ads/advertisers/{id}/ads
$$$min $0.07

Returns ads from the Google Ads Transparency Center for one advertiser id, with region, platform, format, topic and date filters. Find advertiser ids with /google-ads/advertisers/search. Paginate with `cursor`.

Using ChatGPT, Claude Code or another client? See the setup steps

Request
curl https://api.unifapi.com/google-ads/advertisers/{id}/ads \
  -H "Authorization: Bearer $UNIFAPI_KEY"

Parameters

idpathrequired
Google Ads Transparency advertiser id (AR…).
topicquery
Optional topic filter. When `political`, `region` is required.
regionquery
Optional region filter as a two-letter country code.
start_datequery
Optional start date filter in YYYY-MM-DD format.
end_datequery
Optional end date filter in YYYY-MM-DD format.
platformquery
Optional Google surface filter.
formatquery
Optional creative format filter.
cursorquery
Opaque pagination cursor from a previous response's `pagination.next_cursor`. Omit for the first page.
The parameter for this Google Ads operation. Use the URL-visible slug or id described in the docs.
Overview

This operation is part of the Google Ads API in the ad libraries category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.

Use it when a workflow needs Google Ads public data alongside SEO rankings or social data, but should still keep one API key, one account balance, and one predictable JSON contract.

Common agent workflows

  • Look up public Google Ads data for agents that need reliable open-web context.
  • Give an AI agent a stable Google Ads data source without building a per-platform integration.
  • Normalize Google Ads responses into the same UnifAPI envelope used across the catalog.
Response shape

Unified envelope, platform-native fields

  • List-style responses return `data` as an array of top-level records plus optional `pagination` for continuation tokens or cursors.
  • The operation has a 75 credits ($0.07) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
  • If the workspace balance cannot cover every result, the response can be truncated and `billing.truncated_due_to_balance` tells the caller why.

Response status codes

200400401402404429500502503

Billing

This operation charges 1 credit per billable record, with a 75 credits ($0.07) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.

Errors and retries

Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.

Response fields

Fields on each record in data

A successful List ads an advertiser runs on Google call returns data as an array; each record carries these fields.

advertiser_idstring | null
Google Ad Transparency advertiser id.
creative_idstring | null
Google Ad Transparency creative id.
formatstring | null
Creative format when available (text, image, or video).
ad_urlstring | null
Public Google Ad Transparency URL for this creative when available.
advertiser_namestring | null
Advertiser display name when available.
domainstring | null
Advertiser domain when available.
image_urlstring | null
Preview image URL when available.
first_shown_atnumber | null
ISO-8601 timestamp for when the ad was first shown, when available. Unix seconds.
last_shown_atnumber | null
ISO-8601 timestamp for when the ad was last shown, when available. Unix seconds.
overall_impressionsobject | null
Overall impression range when available; null when neither bound is reported.
creative_regionsobject[]
Regions where the creative ran, one entry per region. `region_code` is an upper-case two-letter code, or null when no valid code is reported. Empty when not reported.
variationsobject[]
Creative variations for this ad: headline, description, landing page and media. Destination URLs reported without a scheme are returned with `https://`. Empty when not reported.