Ad Budget Signals — Do These Domains Run Ads? avatar

Ad Budget Signals — Do These Domains Run Ads?

Pricing

from $3.20 / 1,000 domain checkeds

Go to Apify Store
Ad Budget Signals — Do These Domains Run Ads?

Ad Budget Signals — Do These Domains Run Ads?

Enrich any domain list with advertising activity: runs ads yes/no, networks, creative count, first/last seen, formats, verified advertiser + a 0-100 budget signal score. One flat CRM-ready row per domain. Qualify leads by marketing budget. HTTP-only, no API keys. $3.20/1,000 domains.

Pricing

from $3.20 / 1,000 domain checkeds

Rating

0.0

(0)

Developer

Mr Zack

Mr Zack

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Ad Budget Signals — do these domains run ads? $3.20/1,000 domains

Paste a list of company domains (from your CRM, a lead list, or another scraper) and get back one flat row per domain answering the question every seller and marketer asks: does this company spend money on advertising?

Checked against two public sources over plain HTTP — the Google Ads Transparency Center and the LinkedIn Ad Library. No API keys, no login, no browser, no proxies. A company that runs ads has a marketing budget; a company with a marketing budget can buy what you sell.

$3.20 per 1,000 domains checked + $0.001 per start. "No ads found" is a real answer and is charged; a domain where both sources fail to respond is never charged.

Who uses this

  • Sales & SDR teams — prioritize leads that already spend on ads: they have budget and buy tools. Sort your CRM by budgetSignalScore.
  • Marketing agencies — prospects already buying ads are the easiest upsell ("we'll make your existing spend work harder"). Filter for advertises = true.
  • AI sales agents — one call, flat schema, predictable cost: qualify a lead list without any human clicking through two ad libraries per company.
  • Investors & analysts — quick read on which companies in a space are in growth mode.

What you get per domain

FieldExampleNotes
domainhubspot.comcleaned input
advertisestrueany ads found on any network
networksgoogle,linkedinwhere
budgetSignalScore850–100, formula below
googleAdCount (+Capped)60creatives found (scan-capped)
googleAdvertiserName / googleAdvertiserIdHubSpot, Inc.resolved verified advertiser
googleTextAds / googleImageAds / googleVideoAdsformat mix
googleFirstSeen / googleLastSeenISO datesad activity window
googleDaysSinceLastAd2freshness
linkedinAdCount24ads from matching advertisers
linkedinMatchedAdvertisersHubSpotwho's actually advertising
googleLibraryUrl / linkedinLibraryUrlone-click verification links
signalChangedtruemonitor mode: activity changed since last run
errors, checkedAttransparency

Every field is always present (nullable, never missing). Rows import straight into Sheets, HubSpot or Salesforce.

The score (transparent, no magic)

budgetSignalScore 0–100: +35 Google ads active in the last 30 days, +15 active in the last 7 days, +20 LinkedIn ads present, +10 both networks, +10 ≥10 Google creatives, +5 ≥50 creatives, +5 video ads present (video = bigger production budget).

Input

{
"domains": ["hubspot.com", "temu.com", "smallshop.example"],
"networks": ["google", "linkedin"],
"onlyChanges": false
}
  • domains — your list; URLs are cleaned automatically.
  • region — optionally restrict Google results to one country (US, DE, ID…).
  • maxAdsScanned — scan depth per network (affects count precision, not price).
  • linkedinNameMatch — only count LinkedIn ads whose advertiser matches the domain's brand (default on).
  • onlyChanges — monitor mode, see below.

Monitor mode — re-qualify your pipeline for cents

Set "onlyChanges": true and schedule the run. The Actor remembers each domain's signal fingerprint; on later runs, unchanged domains are skipped and never charged. You only pay when a lead starts advertising, stops, or scales — exactly the moments a seller wants to know about.

  1. Open the Actor → Try for free, paste your domain list.
  2. Save as a task → Schedules → weekly (0 7 * * 1) with "onlyChanges": true.
  3. Add an integration (Google Sheets, Slack, HubSpot webhook) — new-signal rows land where your pipeline lives.

Re-checking 1,000 CRM domains weekly costs at most $3.20, and usually far less in monitor mode.

For AI agents & MCP

Built to be called by AI agents via the Apify MCP server or API:

  • Minimal input that just works: {"domains": ["<domain>"]}.
  • Predictable cost: exactly $0.0032 × domains + $0.001 per run.
  • Stable flat schema; domain is the join key back to your CRM.

The full lead-qualification chain

  1. Qualify budget — this Actor: who's spending?
  2. Contact Details Scraper — pull emails, phones and socials from the qualified domains.
  3. Bulk Email Verifier — verify before outreach.

Want the actual creatives, not just the signal? Google Ads Transparency Scraper ($0.64/1k ads) and Brand Ads Spy — Google + LinkedIn ($1.20/1k ads) return every ad row.

Fair use & data source

Only public data from the Google Ads Transparency Center and the public LinkedIn Ad Library (both published for transparency purposes). Reasonable rate limits. No login, no personal data.