Ad Budget Signals — Do These Domains Run Ads?
Pricing
from $3.20 / 1,000 domain checkeds
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
Maintained by CommunityActor 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
| Field | Example | Notes |
|---|---|---|
domain | hubspot.com | cleaned input |
advertises | true | any ads found on any network |
networks | google,linkedin | where |
budgetSignalScore | 85 | 0–100, formula below |
googleAdCount (+Capped) | 60 | creatives found (scan-capped) |
googleAdvertiserName / googleAdvertiserId | HubSpot, Inc. | resolved verified advertiser |
googleTextAds / googleImageAds / googleVideoAds | format mix | |
googleFirstSeen / googleLastSeen | ISO dates | ad activity window |
googleDaysSinceLastAd | 2 | freshness |
linkedinAdCount | 24 | ads from matching advertisers |
linkedinMatchedAdvertisers | HubSpot | who's actually advertising |
googleLibraryUrl / linkedinLibraryUrl | one-click verification links | |
signalChanged | true | monitor mode: activity changed since last run |
errors, checkedAt | transparency |
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.
How to schedule this Actor (recommended)
- Open the Actor → Try for free, paste your domain list.
- Save as a task → Schedules → weekly (
0 7 * * 1) with"onlyChanges": true. - 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.001per run. - Stable flat schema;
domainis the join key back to your CRM.
The full lead-qualification chain
- Qualify budget — this Actor: who's spending?
- Contact Details Scraper — pull emails, phones and socials from the qualified domains.
- 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.