Google Ads Transparency API avatar
Google Ads Transparency API

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Google Ads Transparency API

Google Ads Transparency API

Powerful Google Ads Transparency Center scraper or google ad library API. Search ads by domain or advertiser ID. Features automatic pagination, format filtering (Image, Video, Text), regional support, and detailed creative metadata extraction. perfect for competitive intelligence and ad research.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Mahmudul Hasan

Mahmudul Hasan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

🎯 Google Ads Transparency API Scraper

The most robust and reliable way to scrape Google Ads Transparency Center data. Effortlessly search for ads by domain, advertiser, or keyword and extract creative details including images, videos, and text.

Apify FastAPI Python


✨ Features

  • 🔍 Comprehensive Search: Search ads by Domain (e.g., google.com) or Advertiser ID.
  • 🌍 Global Coverage: Support for searching ads in specific countries (e.g., US, CA, UK).
  • 🎞️ Multiple Formats: Filter by Image, Video, or Text usage.
  • 📄 Pagination: Automatically handles pagination to retrieve up to thousands of ads.
  • ⚡ Super Fast: Built with FastAPI and optimized for speed and high concurrency.
  • 🛡️ Resilience: Intelligent retry logic and caching to handle rate limits and ensure success.

🚀 Usage

Input Parameters

ParameterTypeDefaultDescription
searchTypeString"domain"Required. One of: "domain", "advertiser_id", "creative_details".
domainString-Required if searchType is "domain". The domain to search ads for (e.g., nike.com).
advertiserIdString-Required if searchType is "advertiser_id" or "creative_details".
creativeIdString-Required if searchType is "creative_details".
countryCodeString"US"Two-letter country code (e.g., US, GB, CA, DE).
formatString"ALL"Filter ad format: "ALL", "IMAGE", "VIDEO", "TEXT".
limitInteger40Number of results per page (Max 40 per request, handled automatically by actor paginator).
maxPagesInteger1Maximum number of pages to scrape. Each page contains up to 40 ads.
startPeriodString-Start date (YYYY-MM-DD). Only for advertiser_id search.
endPeriodString-End date (YYYY-MM-DD). Only for advertiser_id search.

Example Input

1. Search by Domain (Most Common)

Scrape the first 120 image ads for nike.com in the US.

{
"searchType": "domain",
"domain": "nike.com",
"countryCode": "US",
"format": "IMAGE",
"limit": 40,
"maxPages": 3
}

2. Search by Advertiser ID

Filter ads by a specific time range.

{
"searchType": "advertiser_id",
"advertiserId": "AR1234567890",
"startPeriod": "2024-01-01",
"endPeriod": "2024-02-01",
"maxPages": 5
}

3. Get Creative Details

Fetch detailed metadata for a specific ad creative.

{
"searchType": "creative_details",
"advertiserId": "AR1234567890",
"creativeId": "CR0987654321"
}

📦 Output Structure

The actor stores results in the default Apify Dataset. Each item usually represents one ad creative.

{
"advertiser_id": "AR15743419998638669825",
"advertiser_name": "Google LLC",
"creative_id": "CR11090006764426559489",
"original_url": "https://adstransparency.google.com/advertiser/AR15743419998638669825/creative/CR11090006764426559489?region=US",
"variants": [
{
"content": "<div...>...</div>",
"image": "https://tpc.googlesyndication.com/simgad/...",
"format": "Image"
}
],
"start": "2024-03-15",
"last_seen": "2024-03-20",
"format_type": "Image"
}

🧑‍💻 programmatic Usage (Python Client)

You can easily run this actor using the Apify Python Client.

$pip install apify-client
from apify_client import ApifyClient
# Initialize the client with your API token
client = ApifyClient("YOUR_APIFY_TOKEN")
# Prepare the Actor input
run_input = {
"searchType": "domain",
"domain": "airbnb.com",
"countryCode": "US",
"maxPages": 2,
}
# Run the Actor and wait for it to finish
run = client.actor("your-username/google-ads-scraper").call(run_input=run_input)
# Fetch and print Actor results from the run's dataset (if the run was successful)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

🔗 Resources