How SponsorHawk decides a company has sponsorship budget

2026-09-02

Every campaign ranks companies, and the ranking needs evidence that a company will actually spend money on sponsorship. We read four signals. Three of them are live lookups made per company while the run is going, in agent_lite/signals.py. The fourth comes out of the placement data the app ships with, in agent_lite/matching.py.

Sponsorship history

The strongest of the four. The placement records say which company sponsored which newsletter or podcast, when, and in what format. A company that has already paid to reach an audience like yours is a fact rather than an inference, so history outranks the other three when the list is built.

Fresh funding

One batched lookup against a Crunchbase collection keyed on domain, reading the last funding date and the round type. We count a round only if it closed inside the last 180 days. Nothing is special about 180; it is the window where "raised recently" still describes money that has not been allocated yet, and we would rather state the number than bury it in a scoring weight.

Active ad spend

SpyFu's domain-stats endpoint, the monthly Google Ads budget, counted only above $1,000 a month. Two things we learned the hard way. The call needs isSubdomain=false or it answers 200 with an empty result for every domain. And roughly a third of identical requests come back empty anyway, so we try twice, cache a hit for thirty days and cache a miss for one. A month-long negative cache would freeze one flake into "this company does not advertise".

Recent hires

We ask Clay's people search, filtered to the sponsor's own domain, for somebody who started in a marketing or partnerships role in the last twelve months. Both ends of the tenure band are sent, because the band is what makes this "started recently" instead of "holds the title". We pull eight rows rather than one: Clay's ordering inside a match set is not stable, and two identical five-row pulls for the same company came back with different fives. The title exclude list was measured, not guessed. Asking about one company kept returning a Senior Account Executive and a Talent Acquisition Lead, people who sell or who hire rather than people who buy.

What is not shown

We only show a signal we measured. There are no bands and no estimated fill-ins. Enrichment runs under a wall-clock deadline in parallel with the rest of the run, and anything that has not landed by then is left off the card. If a card shows two signals, the third one either did not come back in time or does not exist for that company.