Google Ads Transparency Scraper: Competitor Ads by Domain
This Actor returns the ads a brand or website runs on Google Search, YouTube and Display, read from the Google Ads Transparency Center, with first and last shown dates, days running, format and preview links. It is for marketers and agencies who research competitor Google Ads by domain, advertiser name or ID.
Main price: $0.90 to $2.00 per 1,000 ads, depending on your Apify plan.
What you can do with it
- See what competitors advertise on Google, in which countries and for how long.
- Pull image and video ads at scale for swipe files.
- Find brands actively spending on Google Ads in a country.
- Spot other advertisers bidding on your domain.
- Find long-running winners with daysRunning.
What you get
Results come as rows in an Apify dataset, which you can export as JSON, CSV or Excel or read over the API. These are the main fields:
| Field | Example | Meaning |
|---|---|---|
advertiserName, advertiserId | Nike, Inc. | Advertiser account |
creativeId | CR14789358153040396289 | Ad ID |
format | IMAGE | Text, image or video |
firstShown, lastShown | 2026-04-28, 2026-10-17 | Date range the ad ran |
daysRunning | 172 | Days between first and last shown |
region | US | Country filter used |
adUrl, imageUrl | https://adstransparency.google.com/... | Transparency Center link and image |
Pricing
This Actor is pay per event. Apify plan tiers set the price: the column for your Apify plan is what you pay, and higher plans pay less per result. Prices are per 1,000 events.
| Event | What is charged | Free | Starter | Scale | Business |
|---|---|---|---|---|---|
| Ad | One ad saved to your results. | $2.00 | $1.20 | $1.00 | $0.90 |
Run start fee: $0.05 per 1,000 runs. Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). Prices come from the Apify Store and can change; the Actor's Apify page always shows the current ones. Platform usage is billed through your Apify account.
Run it from code
Create an API token in Apify Console (Settings, API and Integrations) and replace YOUR_APIFY_TOKEN. This call starts a run with a small input and returns the rows when it finishes. Synchronous calls suit small inputs; for big jobs, start a run and read the dataset later.
curl
curl -X POST "https://api.apify.com/v2/acts/apisamurai~google-ads-transparency-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchTerms": [
"nike.com"
],
"region": "US",
"maxAdsPerSearch": 50
}'Python (pip install apify-client)
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"searchTerms": ["nike.com"],
"region": "US",
"maxAdsPerSearch": 50,
}
# Start the Actor and wait for it to finish.
run = client.actor("apisamurai/google-ads-transparency-scraper").call(run_input=run_input)
# Read the results from the run's default dataset.
items = client.dataset(run.default_dataset_id).list_items().items
for item in items:
print(item)JavaScript (npm install apify-client)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const input = {
searchTerms: ['nike.com'],
region: 'US',
maxAdsPerSearch: 50,
};
// Start the Actor and wait for it to finish.
const run = await client.actor('apisamurai/google-ads-transparency-scraper').call(input);
// Read the results from the run's default dataset.
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Client calls follow the Python and JavaScript client docs. The full input reference is on the Actor's Apify page.
FAQ
- Do I need a Google account or Google Ads API key?
- No. The Actor reads the public Transparency Center without login.
- Domain or advertiser name: which is better?
- Search by domain for the fullest picture. It includes agencies and resellers running ads for that site.
- Why fewer ads than Google's estimate?
- Google shows a rounded range. Country, format, date filters and your max ads setting reduce what is saved, and a name search uses only the top matching advertiser accounts.
- What is not charged?
- Filtered-out ads, including ads not shown since your Only ads shown after date.
- Where do I report a problem?
- Email hello@apisamurai.com, or open an issue on the Actor's Apify page.