Skip to content

Google Ads Scraper

Try for free

Export text, image, and video ads from the Google Ads Transparency Center, including regions, dates, impression ranges, and creative variations.

📢 Google Ads Scraper

Export public ads from the Google Ads Transparency Center: text, image, and video creatives with the advertiser, the countries where they ran, impression ranges, first and last shown dates, and the creative variations. Paste an advertiser or domain URL and get one clean row per ad. No login, no API key, and ads cost a fraction of a cent.

✨ Why use Google Ads Scraper?

  • 💸 Cheap — $0.0008 per ad ($0.80 per 1,000), plus a small amount of platform usage.
  • 🔓 No login — it reads the same public library the Transparency Center shows in a browser.
  • 🌍 Region and date filters — the filters in the URL are applied, and startDate and endDate can override the dates.
  • 🧬 Full creative detail — advertiser, format, regions, impression ranges per region and surface, targeting, and variations (headline, description, call to action, image, video, landing URL).
  • 🔎 Text ads read for you — many search text ads are kept by the library only as a picture; an AI model reads their headline and description so you get the copy as text.
  • ⚡ Skip mode — turn off creative variations when you only need regions and dates for a long list.
  • 🔗 Advertiser or domain URLs — copy the address bar from an advertiser page or a domain search.

🎯 Use cases

  • 🕵️ Competitor tracking — see which creatives a competitor runs and in which countries.
  • 📊 Reach comparison — compare impression ranges and how long an ad has been live.
  • ✍️ Messaging research — collect headlines, descriptions, and landing URLs.
  • 🗄️ Ad archives — snapshot an advertiser's library on a schedule.
  • 🧪 Creative audits — check format mix (text, image, video) for a brand or domain.

🚀 How to use

  1. Open an advertiser or domain at adstransparency.google.com, pick a region and date range, and copy the address bar.
  2. Paste it into Start URLs.
  3. Set resultsLimit (default 10 per URL).
  4. Optionally set startDate and endDate, or turn on skip mode.
  5. Click Start, then export to JSON, CSV, Excel, or HTML, or read the dataset through the API.

📥 Input

FieldTypeWhat it does
startUrlsarrayAdvertiser or domain URLs from adstransparency.google.com. Required.
resultsLimitintegerAds to return for each URL. Default 10.
startDatestringOnly ads shown on or after this date (YYYY-MM-DD, UTC). Overrides the URL.
endDatestringOnly ads shown on or before this date. Overrides the URL.
skipDetailsbooleanSkip creative variations. Faster for long lists.
shouldDownloadPreviewsbooleanStore creative HTML when an ad has no image and use it as previewUrl.
ocrbooleanRead the copy of text ads that the library keeps only as an image. On by default.
proxyConfigurationobjectDatacenter proxy by default.
{
  "startUrls": [
    {
      "url": "https://adstransparency.google.com/advertiser/AR08888592736429539329?region=CH&preset-date=Last+30+days"
    }
  ],
  "resultsLimit": 10
}

Domain links work too, for example https://adstransparency.google.com/?region=US&domain=nike.com. Region codes in the URL use the usual two-letter country code, and region=anywhere returns ads from every country. Presets in the URL include Last 7 days, Last 30 days, Yesterday, and Today.

📤 Output

One dataset row per ad.

FieldDescription
adLibraryUrl, creativeIdLink to the ad in the Transparency Center and its id.
advertiserId, advertiserNameThe advertiser.
formatTEXT, IMAGE, or VIDEO.
firstShown, lastShown, numServedDaysWhen the ad ran and for how many days.
creativeRegionsCountries where it ran.
regionStatsPer country: first and last shown, impression ranges, and surface breakdown when published.
targetingWhich targeting categories were used.
headline, descriptionAd copy of the first variation that has it.
imageUrl, videoUrl, clickUrlCreative image, video, and landing or shown URL of the first variation that has it.
variationsEvery variation: headline, description, body (all visible text), cta, imageUrl, videoUrl, clickUrl.
previewUrlPreview image or saved HTML, when available.
startUrlThe input URL the row came from.
{
  "adLibraryUrl": "https://adstransparency.google.com/advertiser/AR04850986993271701505/creative/CR07029598382389723137",
  "advertiserId": "AR04850986993271701505",
  "advertiserName": "TeraShift GmbH",
  "clickUrl": "https://www.evomi.com/",
  "creativeId": "CR07029598382389723137",
  "creativeRegions": [
    "Argentina",
    "Austria",
    "Belgium"
  ],
  "description": "Advanced scraping browser + proxies from $0.49/GB. Swiss quality. Try free.",
  "firstShown": "2025-11-20T09:39:30.131Z",
  "format": "TEXT",
  "headline": "Anti-Detect from $0.49",
  "imageUrl": "https://tpc.googlesyndication.com/archive/simgad/13964734335788828375",
  "lastShown": "2026-10-21T10:39:58.716Z",
  "numServedDays": 317,
  "previewUrl": "https://tpc.googlesyndication.com/archive/simgad/13964734335788828375",
  "regionStats": [
    {
      "regionCode": "AT",
      "regionName": "Austria",
      "firstShown": "2025-11-20",
      "lastShown": "2026-06-25",
      "impressions": {
        "lowerBound": 0,
        "upperBound": 1000
      },
      "surfaceServingStats": [
        {
          "surfaceCode": "SEARCH",
          "surfaceName": "Google Search",
          "impressions": {
            "lowerBound": 0,
            "upperBound": 1000
          }
        }
      ]
    }
  ],
  "startUrl": "https://adstransparency.google.com/?domain=evomi.com&region=anywhere",
  "variations": [
    {
      "clickUrl": "https://www.evomi.com/",
      "description": "Advanced scraping browser + proxies from $0.49/GB. Swiss quality. Try free.",
      "headline": "Anti-Detect from $0.49",
      "imageUrl": "https://tpc.googlesyndication.com/archive/simgad/13964734335788828375"
    }
  ]
}

Impression numbers are the ranges the Transparency Center publishes, not exact counts. Signed media URLs expire. For text ads kept as an image, headline, description and clickUrl (the URL shown on the ad) are read from the picture by an AI model, so a character can occasionally be misread; imageUrl always links the original picture.

💰 Pricing

$0.0008 per ad returned, which is $0.80 per 1,000 ads, plus platform usage for compute and proxy traffic. Ads that are not returned are not charged. Reading text ads stored as images adds a small model usage charge per picture (well under $0.001); turn off ocr to skip it.

Worked example: 1,000 ads cost $0.80 in ad fees, plus the platform usage of the run.

❓ FAQ

Is it legal to scrape the Ads Transparency Center? It is a public library. The actor reads it without logging in. You are responsible for how you use the data and for following local law and Google's terms.

Do I need a login, API key, or my own proxy? No. A datacenter proxy is configured by default.

Can I scrape every ad for an advertiser? Raise resultsLimit. The run stops at that cap or when the library has no further page. A later page that fails does not delete ads already saved.

Why does a region have no impression numbers? The library sometimes publishes a country with only a last-shown date. The row is kept and the missing range is left out.

Can I schedule it or use the API? Yes, through schedules in the console or the API.

Moving from another Google Ads Transparency actor? Use the same advertiser URL and maximum. The ad fields line up, including regions, variations, and dates.

⚠️ Limits

  • URLs must be on adstransparency.google.com.
  • Only ads the library shows without a login. Age-restricted creatives hidden from signed-out visitors are not included.
  • Creative HTML is saved only when you enable the preview option and the ad has no image.
  • Text inside image and video creatives (banners, video frames) is not read; only text ads stored as a picture are. Image and video URLs are returned so you can look at the creative yourself.
  • When the model gateway is unavailable or the run's charge limit is reached, text ads keep their image link without the text, and the status message says so.
  • An unknown advertiser, a URL outside the library, or a date range with no ads returns no rows.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.