/v1/call/google.ad_detailPreviewGoogle ad detail API
Only on Google Ads Transparency.
The Google ad detail API returns one ad of the Google Ads Transparency Center by its ID or link: format, headline, description, landing page, images and videos, when it was first and last shown, the countries or regions it was shown in, and the range of total impressions where the center publishes it. One call costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Last tested 2026-10-17.
Last updated:
Request and response
curl https://api.socialtoai.com/v1/call/google.ad_detail \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "id": "AR16735076323512287233/CR13384474926044413953" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/google.ad_detail", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "id": "AR16735076323512287233/CR13384474926044413953", },)print(response.json())# Connected over MCP? Ask in plain words.Use the Google ad detail interface (google.ad_detail) with id: AR16735076323512287233/CR13384474926044413953.# Your AI calls the call tool with:{ "id": "AR16735076323512287233/CR13384474926044413953"}{ "op": "google.ad_detail", "platform": "google", "status": "ok", "items": [ { "platform": "google", "id": "…", "ref": "…", "approx": [], "type": "entry", "entry_type": "ad", "title": "…", "url": "https://example.com/…", "rank": null, "heat": null, "fields": { "format": "text", "text": "…", "landing_url": null, "advertiser": { "id": "…", "name": null, "url": null }, "images": ["https://example.com/…", "https://example.com/…"], "first_shown_at": "2024-05-06T00:00:00.000Z", "last_shown_at": "2026-10-12T21:34:42.000Z" } } ], "unavailable": ["fields.advertiser.name", "fields.advertiser.url"], "cost_credits": 2}- entry_type
- ad
- format
- text
- text
- …
- landing_url
null- first_shown_at
- 2024-05-06T00:00:00.000Z
- last_shown_at
- 2026-10-12T21:34:42.000Z
Names and text were removed from the sample; the numbers are as recorded.
2 parameters.
0 required.
Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | One of these | — | The ad's ID: the advertiser's ID and the creative's joined by a slash, as in AR…/CR… |
| url | string | One of these | — | The ad's link in the center: adstransparency.google.com/advertiser/AR…/creative/CR… |
Where to get what you send.
idThe ad's ID: the advertiser's ID and the creative's joined by a slash, as in AR…/CR… (e.g. AR16735076323512287233/CR13384474926044413953)
Every item these return carries its ref; send it as it is:
advertiser_adsAdvertiser's ads
The fields of each item.
What Google Ads Transparency cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].title | string | The entry's title or name. |
| items[].url | string | A link that opens it; null where the platform's list has none. |
| items[].rank | integer | Position on a board, from 1. |
| items[].heat | integer | The platform's heat score. |
| items[].fields.format | string | The ad's format: text, image or video. other is a format of the platform's own. |
| items[].fields.text | string | The ad's body text. |
| items[].fields.landing_url | string | Where a click on the ad leads. |
| items[].fields.advertiser.id | string | Advertiser ID. |
| items[].fields.advertiser.name | stringalways null | Advertiser's name. |
| items[].fields.advertiser.url | stringalways null | The advertiser's page on the platform. |
| items[].fields.images | string[] | Addresses of the ad's images. |
| items[].fields.first_shown_at | string | When the ad was first shown. |
| items[].fields.last_shown_at | string | When the ad was last shown. For an ad still running, when the platform last saw it. |
nullFields Google Ads Transparency cannot giveRead null as “Google Ads Transparency did not give this”, not as zero. These are always null on this call:
fields.advertiser.nameAdvertiser's name.fields.advertiser.urlThe advertiser's page on the platform.
Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format
What to expect.
1 call per second per key, 5 after a purchase; going over is not charged. Rate limits
A failed call costs 0 credits and is never retried on its own. Error codes
Once connected over MCP, these questions use it.
Get one ad of the Google Ads Transparency Center by its ID or link: AR16735076323512287233/CR13384474926044413953.
2 creditscall {"op":"google.ad_detail","id":"AR16735076323512287233/CR13384474926044413953"}Get an advertiser's ads from the Google Ads Transparency Center, by the advertiser's ID: AR16735076323512287233, then for the first 3: get one ad of the Google Ads Transparency Center by its ID or link.
8 creditscall {"op":"google.advertiser_ads","id":"AR16735076323512287233"}call {"op":"google.ad_detail","id":"<ref>"} × 3
The interface of the same name on other platforms.
All platforms and prices/v1/call/google.ad_detail{ "id": "AR16735076323512287233/CR13384474926044413953" }2 creditsper call