# Google ad detail API

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.

- Page: https://socialtoai.com/google-ad-detail-api/
- Last updated: 2026-10-17
- Last tested: 2026-10-17

| Request | Price key | Credits |
| --- | --- | --- |
| `POST /v1/call/google.ad_detail` | `google.ad_detail` | 2 |

Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.

## Request

```bash
curl https://api.socialtoai.com/v1/call/google.ad_detail \
  -H "Authorization: Bearer $SOCIALTOAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "AR16735076323512287233/CR13384474926044413953"
  }'
```

```python
import os
import requests

response = 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())
```

## Parameters

| 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 the values come from

- `id`: The ad's ID: the advertiser's ID and the creative's joined by a slash, as in AR…/CR… (e.g. `AR16735076323512287233/CR13384474926044413953`)
  Returned as `ref` by: [advertiser_ads](https://socialtoai.com/google-advertiser-ads-api.md)

## Response fields

| Field | Type | Meaning | Given |
| --- | --- | --- | --- |
| `items[].title` | string | The entry's title or name. | yes |
| `items[].url` | string | A link that opens it; null where the platform's list has none. | yes |
| `items[].rank` | integer | Position on a board, from 1. | yes |
| `items[].heat` | integer | The platform's heat score. | yes |
| `items[].fields.format` | string | The ad's format: text, image or video. other is a format of the platform's own. | yes |
| `items[].fields.text` | string | The ad's body text. | yes |
| `items[].fields.landing_url` | string | Where a click on the ad leads. | yes |
| `items[].fields.advertiser.id` | string | Advertiser ID. | yes |
| `items[].fields.advertiser.name` | string | Advertiser's name. | always null: Google Ads Transparency does not give it |
| `items[].fields.advertiser.url` | string | The advertiser's page on the platform. | always null: Google Ads Transparency does not give it |
| `items[].fields.images` | string[] | Addresses of the ad's images. | yes |
| `items[].fields.first_shown_at` | string | When the ad was first shown. | yes |
| `items[].fields.last_shown_at` | string | When the ad was last shown. For an ad still running, when the platform last saw it. | yes |

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. [Response format](https://socialtoai.com/docs/api/response.md)

## Sample response

Sample data: names, links and text are replaced by placeholders; the numbers are as recorded.

```json
{
  "request_id": "req_00000000-0000-4000-8000-000000000001",
  "schema_version": "v1",
  "fetched_at": "2026-10-12T21:59:26.000Z",
  "action": "call",
  "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"],
  "warnings": [],
  "applied_params": {
    "id": "AR16735076323512287233/CR13384474926044413953"
  },
  "cost_credits": 2,
  "billing": {
    "cost_credits": 2,
    "balance_credits": 98,
    "today_spend_credits": 2,
    "daily_limit_credits": null,
    "daily_remaining_credits": null,
    "display": "This call: 2 credits. Balance: 98 credits."
  },
  "replayed": false
}
```

## Paging and failures

- One call returns one object, with no pages, for 2 credits.
- 1 call per second per key, 5 after a purchase; going over is not charged. [Rate limits](https://socialtoai.com/docs/credits-and-billing.md#rate-limits)
- A failed call costs 0 credits and is never retried on its own. [Error codes](https://socialtoai.com/docs/api/errors.md)

## Ask your AI

- Get one ad of the Google Ads Transparency Center by its ID or link: AR16735076323512287233/CR13384474926044413953. → `call {"op":"google.ad_detail","id":"AR16735076323512287233/CR13384474926044413953"}`, 2 credits
- 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. → `call {"op":"google.advertiser_ads","id":"AR16735076323512287233"}`, `call {"op":"google.ad_detail","id":"<ref>"}` × 3, 8 credits

## The same call on other platforms

| Platform | Price key | Credits | Page |
| --- | --- | --- | --- |
| TikTok | `tiktok.ad_detail` | 2 | https://socialtoai.com/tiktok-ad-detail-api.md |
| LinkedIn | `linkedin.ad_detail` | 2 | https://socialtoai.com/linkedin-ad-detail-api.md |
| Meta Ad Library | `meta.ad_detail` | 2 | https://socialtoai.com/meta-ad-detail-api.md |

## More on Google Ads Transparency

| Interface | What it does | Price key | Credits | Page |
| --- | --- | --- | --- | --- |
| `advertiser_ads` | Get an advertiser's ads from the Google Ads Transparency Center, by the advertiser's ID. | `google.advertiser_ads` | 2 | https://socialtoai.com/google-advertiser-ads-api.md |
| `advertiser_search` | Find advertisers in the Google Ads Transparency Center by name. | `google.advertiser_search` | 2 | https://socialtoai.com/google-advertiser-search-api.md |

## FAQ

**Do I need a Google Ads Transparency account or Google Ads Transparency's own API access?**

No. You only need a SocialToAI key. The call returns content and account information publicly visible on Google Ads Transparency; you never sign in to Google Ads Transparency or apply for anything there.

**What does “Preview” mean here?**

Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.
