Google Ads Transparency Scraper — Ads — $2/1K until 11-24
Pricing
from $2.00 / 1,000 delivered ads
Google Ads Transparency Scraper — Ads — $2/1K until 11-24
Google Ads Transparency: $2/1K ads and $1.50/1K advertisers until 2026-11-24, then $5/$2.50. Collect available creative text, formats, dates and regions; discover advertisers and track new ad IDs. Pay per result.
Pricing
from $2.00 / 1,000 delivered ads
Rating
0.0
(0)
Developer
architek.earth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare
Google Ads Transparency Scraper — Ads, Dates, Advertisers
Recorded run: 3 ads from 1 advertiser in 24.9 seconds (2026-10-25, build 0.1.2, run VSvWzGFXqwv7aki0R). A bounded canary sample, not a full-catalogue benchmark. Advertiser discovery launches at $1.50 / 1,000 advertisers, half the field leader's $3.00 rate.
architek.earth — an independent data studio. Pay-per-result scrapers with recorded runs, published canaries and stable schemas, built for people and AI agents.
What's new
- 2026-10-25 — Launch prices are $2.00 / 1,000 ads and $1.50 / 1,000 advertisers; scheduled return on 2026-11-24 to $5.00 and $2.50 respectively, following Apify notice.
- 2026-10-25 — Import the published n8n workflow or Make blueprint to collect ads using the three-ad example.
- 2026-10-25 — Collect Google ad dates, formats and available text, or discover advertisers by name.
Google Ads Transparency Center inputs produce ad rows or advertiser rows.
| Source | Market | From | Standout fields |
|---|---|---|---|
| Google Ads Transparency Center | Public advertiser data | $2.00 / 1,000 ads | creativeText, firstShown, lastShown |
✅ Why choose this scraper
- Available copy.
creativeTextholds native preview text when Google exposes it. - Dates and formats.
firstShown,lastShown,formatand regional date entries come from public source records. - Repeat collection.
incrementalModeskips already delivered IDs under the samestateKey.
Tested head-to-head (2026-10-25)
| This actor | Field (15 priced listings) | |
|---|---|---|
| Runs that did not succeed | 0% of 6 recorded canary runs on 2026-10-25 | median 0.20%, range 0–50% (public 30-day statistics) |
| Rows per run | 3 ads; 5 advertisers | not published |
| Ad price | $2.00 / 1,000 ads | median $2.00 / 1,000 primary results |
The six-run sample is too small to infer comparative reliability. Advertiser discovery costs $1.50 / 1,000 versus the leader's advertised $3.00. See PRICING.md for the dated event-level comparison.
⚠️ Worth knowing up front
- Image-only and video creatives can have
creativeText=null. There is no OCR or video transcription. Google's text format label is not a text-availability guarantee. - Copy can contain literal Google placeholders such as ratings, distance or dynamic keywords. These are preserved, not filled with invented values.
- Keyword input searches advertiser names, not the text inside ads. Domain lookup follows Google's domain filter. Name matches resolve at most
maxAdvertisersaccounts. - Advertiser discovery returns the first source page, at most 100 advertisers per keyword. Ad pagination is supported. User caps produce LIMITED; blocks, source errors and deadlines produce PARTIAL.
- Invalid input, empty results after retry, blocks, deadlines, budget limits and state problems emit free
recordType="status"rows when storage is available. No source request is charged. Inspect RUN_SUMMARY, not only platform SUCCEEDED. - The recorded access market is US. Other offered region filters use Google's region identifiers; availability varies. Ads and advertiser discovery are separate modes.
⚡ Try the example
This actor has no free preview; the three-ad example costs $0.006 at the launch price. Free-plan accounts can pay with their included credit.
{"targets":["AR16735076323512287233"],"region":"US","format":"text","maxItems":3,"maxResultsPerTarget":3}
Change targets to your advertiser ID, advertiser page URL, domain or name.
⚙️ Input
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | ads | ads or advertisers; name keywords only in advertisers mode. |
targets | array | nike.com / google | 1–20 IDs, advertiser URLs, domains or names; google is the advertisers-mode default. |
region | string | US | US, GB, DE, FR, NL, CA, AU or anywhere. |
format | string | all | all, text, image or video. |
maxItems | integer | 20 | Maximum delivered rows per run, 1–5,000. |
maxResultsPerTarget | integer | 100 | Maximum scanned rows per target, 1–5,000. |
maxAdvertisers | integer | 5 | Maximum matched advertisers per name, 1–20. |
incrementalMode | boolean | false | Only previously unseen ad/advertiser IDs; requires stateKey. |
continuePreviousRun | boolean | false | Resume an unfinished checkpoint; requires stateKey. |
stateKey | string | empty | 1–60 letters, digits, underscores or hyphens. |
feedback | string | empty | Logged note; never changes output. |
Input recipes
Two public examples are linked below; the other inputs are paste-ready recipes. They are paid runs, with no automatic switch from a free mode:
- Three Nike text ads:
{"targets":["AR16735076323512287233"],"region":"US","format":"text","maxItems":3,"maxResultsPerTarget":3} - Domain:
{"targets":["nike.com"],"maxItems":5,"maxResultsPerTarget":5} - Name discovery:
{"mode":"advertisers","targets":["google"],"maxItems":5,"maxResultsPerTarget":5} - New IDs:
{"targets":["nike.com"],"maxItems":5,"maxResultsPerTarget":5,"incrementalMode":true,"stateKey":"nike-daily"} - Continuation:
{"targets":["nike.com"],"stateKey":"nike-batch","continuePreviousRun":true,"maxItems":100}
🧱 Stable fields
Stable data-row fields are add-only. Status rows use recordType, status, inputRef and message and may omit every data field.
| Field | Type | Meaning |
|---|---|---|
recordType | string | ad, advertiser or free status. |
advertiserId | string | Public AR identifier. |
advertiserName, advertiserCountry | string, nullable | Source name and country; country may be absent on ads. |
creativeId, creativeText | string, nullable | CR identifier and native visible copy; null on advertiser rows. |
creativeTextStatus | string | extracted, image_only, video_or_image, not_available or not_applicable. |
format | string, nullable | Source classification: text, image, video or unknown. |
firstShown, lastShown | string, nullable | Source UTC dates, YYYY-MM-DD. |
regions | array | Source region IDs and available dates; not audience targeting claims. |
imageUrl | string, nullable | Public source image; may expire. |
sourceUrl, inputRef, scrapedAt | string | Public source page, original input and UTC collection timestamp. |
adCountLower, adCountUpper | integer, nullable | Advertiser discovery's source count interval. |
deliveryId | string | Unique delivery receipt for joining saved rows to a run. |
📦 Output example
Abridged real row from run vb3llKX2e0hB7CRYe on 2026-10-25; values are a historical snapshot.
{"recordType": "ad","advertiserId": "AR16735076323512287233","advertiserName": "Nike, Inc.","creativeId": "CR01211230049336819713","creativeText": "Sponsored Nike <dynamically generated based on landing page content> <dynamically generated based on landing page content> <Rating (Reviews)> · <Distance> · Philadelphia <Open Hours> 901 Market Street Space 1095 Discover Nike Clearance Featuring Footwear, Apparel And Accessories On Sale. website call directions Pottstown · 18 West Lightcap Road","creativeTextStatus": "extracted","format": "text","firstShown": "2022-11-30","lastShown": "2026-10-25","sourceUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233/creative/CR01211230049336819713"}
Recorded free status row from KMgdseHg1RAz563vI:
{"recordType": "status","inputRef": "input","status": "INVALID_INPUT","message": "Invalid advertiser ID, domain or advertiser name"}
🧠 Advanced usage
Daily monitoring. Reuse the same filters and stateKey with incrementalMode=true. The baseline keeps at most 25,000 delivered IDs. New means unseen IDs, not edits to an existing ad.
Continuation. An incomplete checkpoint resumes automatically in incremental mode, or explicitly with continuePreviousRun=true. Change maxItems to raise the per-run delivery cap. Different filters require a new stateKey. Prior delivered rows are never recharged; uncertain dataset acknowledgements stop for manual reconciliation.
Interrupted runs. After a forced abort, wait until the prior platform timeout plus 60 seconds before resuming. Concurrent stateKey owners are refused. timeoutSecs=0 still has a 30-minute actor bound; use at least a 180-second timeout to leave delivery completion time.
🔌 Integrations
Export the dataset as JSON, CSV or Excel; schedule daily runs or connect a completion webhook to Google Sheets, Make, Zapier or n8n.
n8n and Make
- n8n: import n8n-workflow.json, then select an Apify Header Auth credential.
- Make: import make-blueprint.json and set the APIFY_TOKEN custom variable.
Both call this actor with the three-ad example and return its dataset rows. Tokens are supplied by your integration, never stored in the template.
💸 Pricing
Pay per result; status rows and failed requests are free. Platform and proxy costs are included for buyers. Already delivered IDs in an incremental baseline or unfinished checkpoint are skipped without a second charge.
| Event | Price | What it covers |
|---|---|---|
ad | $2.00 / 1,000 ads | One delivered ad, including metadata even when copy is unavailable. |
advertiser | $1.50 / 1,000 advertisers | One delivered advertiser discovery row. |
Launch pricing ends on 2026-11-24: the planned return prices are $5.00 / 1,000 ads and $2.50 / 1,000 advertisers, subject to the required notice. Three ads cost $0.006 today. The Apify free plan's $5 monthly credit covers about 2,500 ads at $2.00 / 1,000. No startup fee.
❓ FAQ
Does every ad include text? No. Image/video-only previews produce null and an explicit creativeTextStatus.
Does keyword search search ad copy? No, it searches advertiser names.
Can I get spend, impressions or conversions? These are not part of this actor's contract.
Are output dates live? They are source-reported dates at collection time, not a real-time ad delivery guarantee.
Can I repeat a run without paying for old ads? Use incrementalMode and a stable stateKey with identical filters.
Why did a successful run say PARTIAL? Platform success includes clean source/budget/time stops; inspect RUN_SUMMARY for completion and free status rows for reasons.
🤖 For AI agents & LLM apps
Use architekture/google-ads-transparency-scraper with a small maxItems and a run spending cap. Read only recordType=ad or advertiser as data; status rows explain clean stops. README and input schema: GET https://api.apify.com/v2/acts/architekture~google-ads-transparency-scraper/builds/default. Feedback never changes output.
MCP config for Claude Desktop and Cursor
Claude Desktop: add custom connector https://mcp.apify.com?tools=architekture/google-ads-transparency-scraper and sign in with Apify OAuth. Cursor mcp.json:
{"mcpServers":{"google-ads-transparency":{"type":"http","url":"https://mcp.apify.com?tools=architekture/google-ads-transparency-scraper","headers":{"Authorization":"Bearer ${env:APIFY_TOKEN}"}}}}
Use get-dataset-items to page the results.
🧰 More from architek.earth
Search, travel and trends
- Google Ads Transparency Scraper — you are here.
- Google Trends Scraper — Trending Now topics.
Video, social and newsletters
- Ad Intelligence Watchlist — separate Meta-focused monitoring product.
Full catalogue: architek-earth.
architek.earth · code like concrete
🙋 Support & legal
Open an issue on the actor's Issues tab or email north@architek.earth for help.
This actor collects publicly available information from adstransparency.google.com and public ad previews without logging in. It does not bypass authentication. You are responsible for your use of the output, including applicable terms, copyright and privacy law.
📝 Changelog
- 2026-10-25 — Launch prices are $2.00 / 1,000 ads and $1.50 / 1,000 advertisers; scheduled return on 2026-11-24 to $5.00 and $2.50 respectively, following Apify notice.
- 2026-10-25 — Import the published n8n workflow or Make blueprint to collect ads using the three-ad example.
- 2026-10-25 — Collect Google ad dates, formats and available text, or discover advertisers by name.