Google Ads Transparency ad details API
  1. Docs
  2. Google
  3. Google Ads Transparency ad details API

Google Ads Transparency ad details API

Google Ads Transparency ad details: GET /v1/google/ad-library/ad. 1 credit per request.

GET /v1/google/ad-library/ad

GET /v1/google/ad-library/ad

Google Ads Transparency ad details.

  • Cost: 1 credit
  • Cache: Results are kept up to 30 days; send max_age_days to reuse them for free.
  • Timeout: A request still running after about 25 seconds answers 202 with a job to poll (Batch and jobs).

Parameters#

NameTypeRequiredDescription
urlURLyesCreative URL (adstransparency.google.com/advertiser/AR.../creative/CR...). Accepted hosts: adstransparency.google.com.

Every request also accepts:

  • trim: true for a smaller response without null fields and extra.
  • raw: true to also get the platform's original object as raw.
  • max_age_days: accept a cached result up to this many days old, for 0 credits (Caching).

Example request#

Set your key in the environment first (see Authentication).

1curl -G "https://api.socialscrape.dev/v1/google/ad-library/ad" \2  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \3  --data-urlencode "url=https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR17814369753519620097"

Example response#

This is a sample from a recorded response, lists and long text are shortened. Status 200.

200 OKSample response
1{2  "ok": true,3  "credits_charged": 1,4  "credits_remaining": 4999,5  "cached": false,6  "cached_at": null,7  "request_id": "req_e52368df68c5b101805bc02e",8  "data": {9    "object": "ad",10    "platform": "google",11    "id": "CR17814369753519620097",12    "url": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR17814369753519620097",13    "advertiser": {14      "object": "advertiser",15      "platform": "google",16      "id": "AR16735076323512287233",17      "name": "Nike, Inc.",18      "url": "https://adstransparency.google.com/advertiser/AR16735076323512287233",19      "page_id": null,20      "country": null,21      "verified": null,22      "ad_count": null,23      "extra": null24    },25    "status": "unknown",26    "started_at": null,27    "ended_at": null,28    "title": null,29    "body": null,30    "cta_text": null,31    "landing_url": null,32    "format": "image",33    "media": {34      "thumbnail_url": null,35      "video_url": null,36      "audio_url": null,37      "image_urls": [38        "https://tpc.googlesyndication.com/archive/simgad/13349513027616705912",39        "https://tpc.googlesyndication.com/archive/simgad/4311864814729701321"40      ],41      "width": 348,42      "height": 22943    },44    "regions": null,45    "publisher_platforms": null,46    "impressions": null,47    "spend": null,48    "extra": {49      "last_shown_at": "2026-10-30T01:15:03Z",50      "preview_urls": [51        "https://displayads-formats.googleusercontent.com/ads/preview/content.js?client=ads-integrity-transparency&obfuscatedCustomerId=9975158271&creativeId=681141669551&uiFeatures=12&adGroupId=146695372318&versionId=4&allowedVariations=36&overlay=...",52        "https://displayads-formats.googleusercontent.com/ads/preview/content.js?client=ads-integrity-transparency&obfuscatedCustomerId=9975158271&creativeId=681141669551&uiFeatures=12&adGroupId=146695372318&versionId=4&assets=%3DH4sIAAAAAAAAAONS5OL..."53      ],54      "region_stats": [55        {56          "criterion_id": 2840,57          "last_shown": "2026-10-29",58          "region": "US"59        }60      ],61      "variations": 462    }63  },64  "cursor": null,65  "has_more": null66}

Response#

A Ad object in data.

See Data models for every field. The envelope around data is described in Responses.

Errors#

Failures are free: credits_charged is 0. Branch on error.code, never on the message.

CodeHTTPRetryMeaning
invalid_params400noA parameter is missing, unknown or has the wrong type.
unsupported_url400noThe URL is not one this endpoint accepts (wrong platform or form).
not_found404noThe platform says this profile, post or item does not exist.

Every request can also fail with the account and platform errors listed on the Errors page.

Example error:

1{2  "ok": false,3  "error": {4    "code": "not_found",5    "message": "The platform says this profile, post or item does not exist.",6    "retryable": false7  },8  "credits_charged": 0,9  "request_id": "req_1968dc6df018926ea4127cf2"10}

Also served at#

These paths answer the same request, so code written for other APIs keeps working: /v1/google/ad. See Switching from ScrapeCreators.