Google Ads API

Google Ads Search API

Pull the ads an advertiser is currently running from the Google Ads Transparency Center (creative details, formats, and run dates) as clean JSON.

$1.37/1k results, pay per request, no subscription.

What the API returneditems[0]
{
"id": "CR07726154893012480099",
"url": "https://adstransparency.google.com/advertiser/AR07726154893012480003/creative/CR07726154893012480099",
"advertiser": "Patagonia, Inc.",
"advertiserId": "AR07726154893012480003",
"format": "IMAGE",
"previewUrl": "https://tpc.googlesyndication.com/simgad/4471902837465019283",
"numServedDays": 42,
"firstShownUtc": 1755043200,
... 2 more fields
}
Uptime
100.00%
30d · 302 calls
Requests
302
30d · weekly, last 12 wks
Response
7.5s
median · 30d

Pricing

Google Ads Search API pricing

You pay
$13.67
$1.37/1k results, only for what you use. No monthly plan.
One request costs at most $0.0287 (21 results).
The $0.10 starting balance covers at least 3 requests.

Try it

Get Google Ads search in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 16 of 17 fields. See every field

{
  "found": true,
  "data": {
    "items": [
      {
        "id": "CR07726154893012480099",
        "url": "https://adstransparency.google.com/advertiser/AR07726154893012480003/creative/CR07726154893012480099",
        "advertiser": "Patagonia, Inc.",
        "advertiserId": "AR07726154893012480003",
        "format": "IMAGE",
        "previewUrl": "https://tpc.googlesyndication.com/simgad/4471902837465019283",
        "numServedDays": 42,
        "firstShownUtc": 1755043200,
        "lastShownUtc": 1758758400,
        "variations": [
          {
            "imageUrl": "https://tpc.googlesyndication.com/simgad/4471902837465019283",
            "headline": "Built to Last - Shop Patagonia",
            "text": "Recycled Materials. Fair Trade Certified Sewing. Free Shipping On Orders Over $99."
          }
        ]
      },
      {
        "id": "CR07726154893012480102",
        "url": "https://adstransparency.google.com/advertiser/AR07726154893012480003/creative/CR07726154893012480102",
        "advertiser": "Patagonia, Inc.",
        "advertiserId": "AR07726154893012480003",
        "format": "VIDEO",
        "previewUrl": "https://tpc.googlesyndication.com/simgad/9930287465019283441",
        "numServedDays": 18,
        "firstShownUtc": 1757462400,
        "lastShownUtc": 1758931200,
        "variations": [
          {
            "imageUrl": "https://tpc.googlesyndication.com/simgad/9930287465019283441",
            "headline": "Worn Wear Trade-In Program",
            "text": "Trade In Your Old Patagonia Gear For Store Credit. Keep Gear In Use, Not In Landfills."
          }
        ]
      },
      {
        "id": "CR07726154893012480110",
        "url": "https://adstransparency.google.com/advertiser/AR07726154893012480003/creative/CR07726154893012480110",
        "advertiser": "Patagonia, Inc.",
        "advertiserId": "AR07726154893012480003",
        "format": "TEXT",
        "previewUrl": "https://tpc.googlesyndication.com/simgad/1123344556677889900",
        "numServedDays": 65,
        "firstShownUtc": 1751328000,
        "lastShownUtc": 1758844800,
        "variations": [
          {
            "headline": "Patagonia Fleece - Shop Now",
            "text": "Classic Synchilla Fleece In New Colors For Fall. Free Returns Within 60 Days."
          }
        ]
      }
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-10-31 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • urlstring

    https://adstransparency.google.com/advertiser/AR07726154893012480003?region=US

    A Google Ads Transparency Center URL for a selected advertiser or domain (e.g. https://adstransparency.google.com/advertiser/AR01614014350098432001?region=US).

  • limitinteger

    3

    Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each itemdata.items[]

Ad records from the Transparency Center: advertiser, ad format, creative details, preview URL, and first/last shown dates. Populated whenever the provider has data for the entity.

  • advertiserstring

    Patagonia, Inc.

    Advertiser display name. Populated whenever the provider has data for the entity.

  • advertiserIdstring

    AR07726154893012480003

    Google Ads advertiser identifier.

  • firstShownUtcnumber

    1755043200

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the ad was first shown.

  • formatstring

    IMAGE

    Ad format, e.g. TEXT, IMAGE, VIDEO.

  • idstring

    CR07726154893012480099

    Google Ads creative identifier. Populated whenever the provider has data for the entity.

  • lastShownUtcnumber

    1758758400

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the ad was last shown.

  • numServedDaysinteger

    42

    Number of days the ad has been served.

  • previewUrlstring

    https://tpc.googlesyndication.com/simgad/4471902837465019283

    URL to a rendered preview of the creative.

  • urlstring

    https://adstransparency.google.com/advertiser/AR07726154893012480003/creative/CR07726154893012480099

    Ads Transparency Center URL for the creative. Populated whenever the provider has data for the entity.

each variationdata.items[].variations[]

Creative variations for the ad, each with image, headline, and body text where present.

  • headlinestring

    Built to Last - Shop Patagonia

    Creative headline text.

  • imageUrlstring

    https://tpc.googlesyndication.com/simgad/4471902837465019283

    Creative image URL.

  • textstring

    Recycled Materials. Fair Trade Certified Sewing. Free Shipping On Orders Over $99.

    Creative body/description text.

top level
  • foundboolean

    true

    True when at least one ad record was returned.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the Google Ads Search API

The AnyAPI Google Ads Search API returns Google Ads search data as normalized JSON from one POST call to /v1/run/google_ads.search. Pull the ads an advertiser is currently running from the Google Ads Transparency Center (creative details, formats, and run dates) as clean JSON. AnyAPI returns one normalized schema whichever source serves it. It costs $1.37 per 1,000 results, and never more than $0.0287 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Google Ads search calls through AnyAPI succeeded, with a median response time of 7.5 seconds across 302 measured calls.

It costs $1.37 per 1,000 results, and never more than $0.0287 for a single request, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

Pull the ads an advertiser is currently running from the Google Ads Transparency Center (creative details, formats, and run dates) as clean JSON. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of Google Ads search calls through AnyAPI succeeded, with a median response time of 7.5 seconds across 302 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers at least 3 Google Ads Search calls at up to $0.0287 each.

Send a POST request to https://api.getanyapi.com/v1/run/google_ads.search with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.