Playbooks · Recipe

Google Ads Transparency to an outbound list

Pull an advertiser's live Google creatives, collapse them to landing domains, match those domains back to companies, pull the people, then find and verify emails. Only the finder and verifier are waterfall calls. The scraper bills 3 credits for every result it returns, including the forty creatives that turn out to be one landing page.

Last updated September 22, 2026

Pattern: google_ad_transparency_scraper_sync → dedupe to landing domains → linkedin_company_search → linkedin_company_employees_search → email_finder → email_verifier

Credit math: Worked example at stated counts: one transparency URL with limit 50 = 50 results at 3 = 150 credits. Those 50 creatives collapse to 12 landing domains. linkedin_company_search, 12 queries returning 10 each = 120 results at 0.1 = 12 credits. linkedin_company_employees_search, 12 companies at 25 results = 300 results at 0.1 = 30 credits. email_finder on 60 selected people = up to 300 credits, less every miss, which bills zero. email_verifier on 40 hits at 2 = 80 credits. 3 credits per result on google_ad_transparency_scraper_sync, 0.1 credits per result on linkedin_company_search and linkedin_company_employees_search, 5 credits per email_finder call, 2 credits per email_verifier call

ROI math: The scraper is the most expensive step per result in the whole chain and the one most likely to return duplicates, so the deduplication step is where the money is. Fifty creatives at 3 credits buy you twelve companies. Convert credits at your tier rate on /pricing.

Owned internally by: Competitive or GTM marketing, handing a scored account list to sales

Best for: Anyone selling into companies that buy Google Search traffic — SEM tools, CRO and landing-page products, performance agencies, attribution vendors

example
curl -X POST https://api.richapi.ai/api/v1/google_ad_transparency_scraper_sync \
  -H "x-api-key: $RICHAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"google_ad_url": "https://adstransparency.google.com/advertiser/AR01234567890123456789", "limit": 50}'
the prompt
Pull the live Google ads for this advertiser, group the creatives by
landing domain, and show me which domains have the most creatives running.
For the top five, find the head of demand generation and get a verified
work email. Tell me the credit cost of the scrape separately from the
cost of the contact work.
  1. 01

    Sign up at app.richapi.ai and copy your key.

    25 free credits, no card.

  2. 02

    Build the Google Ads Transparency Center URL for the advertiser you care about and set limit deliberately. The default is 0 and the maximum is 100, and every returned result bills.

  3. 03

    Collapse the creatives by landingDomain before anything else.

    One advertiser running forty variants of the same campaign is one account.

  4. 04

    Match each surviving domain to a company with linkedin_company_search, then pull people with linkedin_company_employees_search.

  5. 05

    Run email_finder on the shortlist and email_verifier on every hit.

    Store the execution_log alongside the row.

What Google's transparency data actually gives you

The Ads Transparency Center is a compliance disclosure. Google has to show who is running ads, so every verified advertiser has a public page of live creatives, and `google_ad_transparency_scraper_sync` reads it. The field that earns its keep is `landingDomain`. Everything else in the record — `creativeId`, `format`, `lastShown`, the ad copy itself — is context. The landing domain is the one that resolves an advertiser identity into a web property you can match to a company, and from there to a person with an email address. A record without a usable landing domain is a record you paid 3 credits for and cannot chain. This is an advertising fact, not intent. It tells you a company is spending money on Google Search today. It does not tell you they are unhappy with their current vendor, evaluating anything, or in a cycle. We sell no intent feed and [we are not going to imply one](/platform). What you get is public, dated and checkable, and you can paste the creative into the first line of your email. **[Get 25 free credits — no card](https://app.richapi.ai)**

The chain, and the one step that is yours

The scraper returns creatives. A serious advertiser runs dozens of variants against a handful of landing pages, so fifty results routinely collapse to ten or twelve domains. That collapse happens in your code, before you spend another credit, and it is the difference between building a list of twelve accounts and building a list of fifty duplicate rows. From a domain, `linkedin_company_search` gets you the company and its LinkedIn URL. `linkedin_company_employees_search` takes that URL and returns people. Both bill 0.1 per result returned, so a wide query is a cost decision rather than a free browse. `email_finder` and `email_verifier` finish it. Those two are waterfall endpoints: providers run cheapest-first, and a 2xx carrying `success: false` comes back with `billed: false` and costs zero. Everything upstream of them bills on any 2xx, including one that returns nothing at all.

What Google Ads Transparency costs, at stated counts

One advertiser, `limit` set to 50. | Step | Count | Rate | Bills regardless? | Credits | |---|---|---|---|---| | `google_ad_transparency_scraper_sync` | 50 results | 3 / result | **Yes, every 2xx** | 150 | | `linkedin_company_search` | 12 queries × 10 = 120 results | 0.1 / result | **Yes** | 12 | | `linkedin_company_employees_search` | 12 companies × 25 = 300 results | 0.1 / result | **Yes** | 30 | | `email_finder` | 60 calls, 40 hits | 5 / call | No, waterfall | 200 | | `email_verifier` | 40 calls | 2 / call | No, waterfall | 80 | Rates used above: 3 credits per result on `google_ad_transparency_scraper_sync`, 0.1 credits per result on `linkedin_company_search` and `linkedin_company_employees_search`, 5 credits per `email_finder` call, 2 credits per `email_verifier` call. At 3 credits per result the scraper costs more per row than anything else here, and it is the step that hands you the most redundancy. Setting `limit` to 100 out of habit doubles the bill and rarely doubles the domain count. Per-credit rates vary by tier, so convert on [the pricing page](/pricing).

Where Google Ads Transparency goes wrong

**One creative, many locales.** The same campaign runs in six countries with six creative IDs and one landing domain. Deduplicate on domain, not on creative. **Landing domains that are not the company.** Plenty of advertisers land on a tracking domain, an app store listing, a marketplace page or an agency-owned microsite. Those rows cost you 3 credits each and lead nowhere. Keep a reject list and grow it. **Agencies running ads for clients.** The advertiser identity on the disclosure may be the agency. You enrich the agency, you mail the agency, and you have learned something about the agency. **`limit` is required and it is a budget.** There is no way to preview the result count before you pay for it. Start at 10 on an advertiser you have never scraped and raise it once you know what the shape of their account looks like. **Verified-advertiser coverage.** The Transparency Center covers verified advertisers and what they are currently running. A competitor who stopped last month leaves you nothing to scrape, and absence proves nothing either way.

When to run Google Ads Transparency instead

Consumer and DTC advertisers mostly do not live here — they live on Meta, and that chain starts from a Page rather than a domain, which changes the whole middle of the recipe. See [Meta ads to an account list](/use-cases/meta-ads-to-account-list). If what you care about is the technology a company runs rather than the traffic it buys, [tech stack qualification](/use-cases/tech-stack-intent-outbound) is one flat call per domain and a cheaper first filter. To qualify the domains on traffic before you spend on contacts, use [Similarweb traffic qualification](/use-cases/similarweb-traffic-qualify). The broader pattern is written up at [signal-based prospecting](/use-cases/signal-based-prospecting), and the endpoint detail for the last two steps is on [the email finder page](/api/email-finder). The rest is on [the use-case index](/use-cases).

Google Ads Transparency FAQ

**Does running Google ads mean they will buy from me?** No. It means they spend money on paid search. Use it as a reason to write a relevant first line, and do not dress it up as intent data, because we do not sell any. **What do I do with creatives that have no landing domain?** Drop them. You have already paid for them. Log how often it happens per advertiser so you can decide whether that advertiser is worth scraping again. **Can I watch an advertiser over time?** You can run this on a schedule and diff the results yourself. We have no alerting product and no saved searches, so the cron job is yours to own, and every run bills for every result it returns. **What is free if the chain misses?** Only `email_finder` and `email_verifier`. Their soft misses return `billed: false` and cost zero. The scraper and both searches bill per result on any 2xx. **Do I need a credit card?** No. 25 free credits on signup.

Try Google Ads Transparency: 25 free credits, no card

Scrape one competitor at `limit` 8, count how many distinct landing domains come back, and you will know whether this chain is worth budgeting. **[Get 25 free credits](https://app.richapi.ai)**

Frequently asked.

Does running Google ads mean they will buy from me?
No. It means they spend money on paid search. Use it as a reason to write a relevant first line, and do not dress it up as intent data, because we do not sell any.
What do I do with creatives that have no landing domain?
Drop them. You have already paid for them. Log how often it happens per advertiser so you can decide whether that advertiser is worth scraping again.
Can I watch an advertiser over time?
You can run this on a schedule and diff the results yourself. We have no alerting product and no saved searches, so the cron job is yours to own, and every run bills for every result it returns.
What is free if the chain misses?
Only `email_finder` and `email_verifier`. Their soft misses return `billed: false` and cost zero. The scraper and both searches bill per result on any 2xx.
Do I need a credit card?
No. 25 free credits on signup.

More playbooks

Try it with 25 free credits.