Google hub

Google Ad Library Ad API

Resolve a public Ad Transparency creative URL into structured ad detail — advertiser id, creative id, copy, and region stats.

GET /v1/google/ad-library/ads

1 credit per successful request.

About this endpoint

Google Ad Transparency pages are built for humans clicking through a browser. Competitive research, compliance archives, and agent workflows need the same creative as JSON: who ran it, where it showed, and what the variations said.

`GET /v1/google/ad-library/ads` takes a required `url` query parameter: a public Google Ad Transparency creative URL (the `/advertiser/.../creative/...` form). The response uses the shared Social Fetch envelope. On a hit, `data.lookupStatus` is `found` and `data.ad` includes `advertiserId`, `creativeId`, `format`, `firstShown` / `lastShown`, `overallImpressions`, `creativeRegions`, `regionStats`, and `variations` (headline, description, destination, image URL when present). On a miss, `lookupStatus` is `not_found` and `ad` is null. Bill from `meta.creditsCharged`.

This route is single-creative lookup. To find advertiser entities by brand name first, use `GET /v1/google/ad-library/advertisers/search`. To list ads for a known domain or `advertiserId`, use `GET /v1/google/ad-library/companies/ads`. Same API key across the Google Ad Library tag.

Google Ad Library Ad API FAQ

What does the Google Ad Library ad endpoint return?

A Social Fetch envelope with data.lookupStatus (found or not_found) and data.ad when the creative exists. The ad object can include advertiserId, creativeId, format, firstShown, lastShown, overallImpressions, creativeRegions, regionStats, and variations with headline, description, destinationUrl, allText, and imageUrl when Google exposes them. meta.requestId and meta.creditsCharged are always on the response.

How do I fetch a Google Ad Transparency creative by URL?

Send GET /v1/google/ad-library/ads with x-api-key and a required url query parameter set to the public Ad Transparency creative page (advertiser/.../creative/... style URL). Full parameter rules and examples are in the API docs.

How much does Google Ad Library ad lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

How is this different from Google Ad Library advertiser search?

GET /v1/google/ad-library/ads returns one creative when you already have its Ad Transparency URL. GET /v1/google/ad-library/advertisers/search finds advertiser entities by name so you can discover ids and related domains first.

How is this different from listing company ads?

Company ads (GET /v1/google/ad-library/companies/ads) lists creatives for a known domain or advertiserId. This route is for one specific creative URL you already have, not a browse/list by advertiser.

What happens when the creative URL is invalid or gone?

A successful HTTP response can still report data.lookupStatus as not_found with data.ad null when the URL does not resolve to a creative. Bad requests (missing url, malformed input) return the usual error envelope with an error.code. Check lookupStatus before treating the payload as a found ad.

Do I need a Google Ads account to look up Ad Transparency creatives?

No. You authenticate to Social Fetch with an API key. The route reads public Ad Transparency-style creative detail; it does not act on behalf of an ads account you manage.