How to build a lead list from buying signals
Build it from a dated event that proves the problem is live, not from a firmographic filter. Pick two signals that map to what you sell, pull them from job boards, career pages or a signals API, qualify the company before you pay for a contact, then find one decision maker, verify the address and write to what the signal implies.
A job advert went up on Tuesday for a senior paid media manager at a 40-person software company. Somebody wrote the brief, somebody signed off a salary band, and a hiring manager now owns a problem the company has already agreed to spend money on. That is a better reason to write to them than any filter you can set in a database, and reading it costs nothing. The difference between a list built from filters and a list built from events is not the tooling. One of them can tell you something that became true this week. The rest of this page is the build: which signals hold up, where the data actually comes from, what every step costs at list prices, and the arithmetic that tells you whether the signal paid for itself.
What counts as a buying signal, and which ones are worth a list?
A buying signal is a dated, public event at a company that shows the problem you sell against is live right now. Industry, headcount, revenue band and tech stack are not signals. They are states, they were true last year, and they are equally true on the list your competitor bought from the same database.
Hiring is the strongest signal available to a B2B service business, for a boring reason: a posting sits downstream of a budget decision. Before the advert appeared, somebody argued for the headcount, somebody approved it, and somebody now has to show a result. The volume is not small either. The Bureau of Labor Statistics put US job openings at 7.1 million on the last business day of August 2026, a rate of 4.3 percent, in a release dated 29 September 2026.
Those events are also published in machine-readable form, which is what makes them cheap to collect. Google's JobPosting structured data documentation requires datePosted, description, hiringOrganization, jobLocation and title on every individual job page, and tells publishers to put the markup on the most detailed page for a single role rather than on a list. Every company that wants its roles in Google has therefore tagged a dated event with an employer attached, on the open web.
Three tests separate a usable signal from a curiosity. It has to be observable without an account, it has to carry a date, and it has to imply either money or an owner. A funding round implies money. A new VP implies an owner. A conference attendee list implies neither, which is why those lists perform like the database pull they are.
Why does a signal list beat a filtered database pull?
Because a filter tells you a company could buy and an event tells you somebody there has already decided to spend. That difference shows up in the only metric you control early, which is the share of people who answer at all.
The benchmark worth anchoring on is unglamorous. Instantly's 2026 benchmark report, drawn from aggregated platform activity between 1 January and 18 December 2025, puts the average cold reply rate at 3.43 percent, the top quartile at 5.5 percent and its best performers above 10 percent. The same report finds 58 percent of all replies come from step one. So the first message carries most of the outcome, and the first message is exactly where a signal gives you something true to say.
There is a second advantage that has nothing to do with copy. A database row has been sold to everyone who bought the same filter. A posting from last week belongs to whoever bothered to look, and the looking is a scrape rather than a subscription.
The third advantage is financial. An event is a free pre-filter, so you spend enrichment credits on a smaller, better set of companies. That is the whole economic argument for signals, and it is the part most guides skip because they are selling the data rather than the method.
None of this rescues a weak offer. A signal buys you attention from somebody with a live problem; if the thing you sell cannot be priced or pictured by a stranger, the signal just gets your rejection faster. The offer has to be cold-ready first.
Which two signals should you pick?
Pick the two that a company only produces when what you sell is already on its agenda, and ignore every other signal until those two work. Two is the number because each signal is a separate pipeline somebody has to keep alive.
| Signal | What it shows | Where the data comes from | Useful window | Pick it when |
|---|---|---|---|---|
| An open role in the function you serve | budget approved for the work you do | job boards, career pages, a signals API | while the role is live | you sell the work that role would do |
| Several roles in one function in a month | a programme, not a backfill | the same pull, deduped by company | about a quarter | you sell to teams scaling a function |
| A new leader in that function | a person with 90 days to show a change | Clay new-hire signals, Sales Navigator alerts | first 90 days | your buyer is the function head |
| Engagement on your topic | attention, and nothing more | reactions and comments on public posts | days | you publish something worth engaging back on |
| Funding, a new office, a vendor change | money or a transition | news and technology APIs | about 60 days | your offer rides a transition |
The cleanest match for an agency is the role that does the work you sell. A company advertising for an outbound hire has told you it wants the outcome you deliver and is about to try to build it with one person. A company advertising for a bookkeeper has told you nothing.
Rank the two by job rather than by quality. The primary signal builds the list and sets the volume. The second one breaks ties when you have more qualified companies than you can write to in a week, and a company carrying both signals goes first.
Watch for the signal that looks perfect and selects the wrong buyer. A staffing firm posting 200 roles at once is not scaling a function, it is selling roles. Engagement data is the other trap: it is cheap to collect at $5 per 1,000 results and it proves nothing beyond a thumb moving.
How do you get job posting data without breaking LinkedIn's rules?
There are three routes, and the one to avoid is the browser extension that automates your logged-in account. LinkedIn is explicit in its own help documentation:
we don't permit the use of any third party software, including "crawlers", bots, browser plug-ins, or browser extensions that scrape, modify the appearance of, or automate activity on LinkedIn's website.
The same page adds that any member using such tools is in violation of the user agreement and risks having their account restricted or shut down, and that the tools themselves may stop working without notice. Read it before you install anything.
Route one is a signals API, which is the no-maintenance option. PredictLeads covers job openings, news events and technologies, bills one credit per API call returning up to 1,000 records, and starts at a $40 minimum monthly charge plus $0.04 a credit in the 101 to 5,000 band, falling to $0.002 a credit above half a million. Monitoring a company costs one credit a month. Pick it when you want one feed and no scrapers to repair.
Route two is the career page crawl, and it is the route almost nobody uses. If your market is a known list of 800 companies rather than a search query, crawl their career pages directly and read the JobPosting markup. Firecrawl gives 1,000 credits free, $19 a month for 5,000 pages on Hobby and $99 a month for 100,000 pages on Standard, which covers monthly re-crawls of a few hundred career sites with room to spare. You get the role before it reaches a board.
Route three is a server-side board actor. Apify's LinkedIn Jobs Scraper reads public job pages without a login, returns 42 fields per posting including salary, applicant count and posting date, and charges from $1.00 per 1,000 job results. That sits on top of an Apify plan: free with $5 of monthly usage, $19 on Starter, $199 on Scale, $999 on Business. For most agency-sized pulls, Starter plus a few dollars of results is the whole bill.
If you would rather buy the assembly, Clay's Find Jobs waterfall pulls from PredictLeads, Google Jobs and Clay's own jobs database in one table. Its signals documentation lists new hires, promotions, job change, topic intent, news and fundraising, and web intent, with refresh intervals from quarterly down to daily and monthly as the starting default. Signals are on every paid plan except Flex; Launch is $167 a month and Growth $446. Change that default refresh on day one. Monthly means you can be four weeks late to a role that closes in three.
How do you qualify the company before paying for a contact?
Run the fit test on the posting itself, before a single enrichment credit is spent, because the posting is free to read and the contact is not. This one sequencing decision is the difference between a list that costs 80 cents a contact and one that costs five dollars.
Start by deduping. Three thousand postings are not three thousand companies, and a company advertising six roles is one account with a stronger signal, not six leads. Then read the text, which a model can do across the whole batch: what department, what seniority, is the work described the work you sell, and is this company your buyer at all.
Then apply the structure test rather than a size filter. A named audience or a named service is the minimum, plus a visible team and an identifiable decision maker. No company moves forward without a named person to write to, and no money is spent finding that person until the company has passed.
Build in one piece of honesty about the source. Greenhouse's 2024 State of Job Hunting report, published on 10 December 2024 alongside a survey of 2,500 workers in the US, UK and Germany, states that 18 to 22 percent of the jobs posted on the Greenhouse platform in any given quarter are classified as ghost jobs. Roughly one in five postings is not a real opening. The practical rule that follows is cheap: require the posting to still be live on the day you send, and treat the posting as the reason to look rather than the reason to be confident.
How do you find the decision maker and get a verified address?
One named person per company, found by running several finders in sequence, then checked by a dedicated verifier before anything sends. Sequence matters because provider coverage differs by region and company size, and because the good providers bill only for data they return.
| Provider | List price | What a credit buys | Pick it when |
|---|---|---|---|
| Anymail Finder | EUR 39 for 1,000 credits a month, EUR 129 for 5,000 | one verified person email, or 0.2 credits to check an address you own | you want finding and checking in one cheap tool |
| FullEnrich | EUR 55 a month for 1,000 credits, EUR 0.055 each | 1 credit a work email, 3 a personal email, 10 a mobile | you want one call across 25 or more sources |
| Hunter | free for 50 credits, EUR 49 for 2,000, EUR 149 for 10,000 | one search or verification | you are already using it and volumes are modest |
| Clay | $167 a month Launch, $446 Growth | actions plus data credits across providers | the waterfall and the signal live in the same table |
| MillionVerifier | $89 for 50,000, $449 for 1 million | one verification, credits that never expire | the final pass before any send |
The billing model is the part worth understanding. Anymail Finder charges only when it returns a verified address and refunds credits on bounces; FullEnrich bills credits only for data it finds. So a waterfall that misses costs you almost nothing, which means running three finders in sequence is cheaper than running one and accepting the gap.
Then verify everything, including addresses a finder already called verified. The reason is reputational rather than cosmetic. Google's sender guidelines require senders to keep Postmaster Tools spam rates below 0.3 percent, recommend staying below 0.10 percent, and oblige anyone sending more than 5,000 messages a day to personal Gmail accounts to pass SPF and DKIM, set up DMARC and support one-click unsubscribe. A bounce-heavy first batch undoes weeks of warmup on domains you just paid for, which is why the sizing of domains and inboxes should be settled before the list is finished.
Finding more than one contact per company is a volume decision, not a quality one. One decision maker, written to properly, beats four people at the same company receiving near-identical mail from the same domain.
What does a signal-built list actually cost?
At list prices, one signal in one market costs about $335 a month and produces roughly 400 verified, signal-qualified contacts, which is 84 cents each. Follow the funnel in the figure above and the line items are small enough to be dull.
Three dollars buys the 3,000 postings from the Apify actor. The 420 work emails found cost about EUR 23 at FullEnrich's EUR 0.055 a credit, since only hits are billed. Verifying all 420 costs 75 cents at MillionVerifier's $0.00178. That is roughly EUR 25 of data for the month, or about six cents per usable contact. The other $306 is subscriptions: $19 for Apify Starter, $167 for Clay Launch, $119.99 for Sales Navigator Core.
Now turn it into something you can judge. Say you are at $120K a month and want eight more sales calls on the calendar. Those 400 contacts produce about 14 replies at the 3.43 percent average and about 22 at the 5.5 percent top quartile, which is $24 a reply at average performance and $15 if your offer and list are good. What share of replies becomes a booked call is your number, not a benchmark, and 60 days of your own data replaces every figure on this page.
| Stack shape | What it covers | Monthly cost at list prices | Pick it when |
|---|---|---|---|
| Lean | one signal, email only, no orchestration tool | under $70: Apify Starter plus Anymail Finder at EUR 39, verification credits bought once | you are testing whether a signal works for your offer at all |
| Standard | two signals, email plus your own LinkedIn profile | about $335: Apify, Clay Launch, Sales Navigator Core, finder and verifier credits | this is the default for a founder-led agency |
| At volume | several signals, career-page crawls, a monitored account list | $600 to $1,000: a signals API at $40 plus usage, Firecrawl Standard at $99, Clay Growth at $446 | two or three people each work their own queue |
The shape of that cost table is the real lesson. Credits are a rounding error next to the subscriptions, and both are a rounding error next to the hours somebody spends keeping the pull alive and answering replies. Buying a third signal costs almost nothing in credits and a great deal in attention, which is the reason to stop at two.
A built-and-owned version of this exists as a service. Ourix solves B2B acquisition for founder-led B2B businesses, agencies first, by installing a done-for-you outbound system inside the business that books sales calls with their ideal clients every week without the founder prospecting. The lists come from custom scrapes and intent signals, outreach runs on email and LinkedIn from the client's own domains and accounts, every reply lands in one inbox, and a pipeline view shows what got booked. Campaigns go live in about 30 days, everything is the client's to take over at any time, and there is no lock-in. Ourix doesn't publish prices: the build is a one-time fee scoped to your channels and your market, and you get the exact number on the call.
How do you write to a signal without sounding like surveillance?
Write to what the signal implies about their next quarter, not to the fact that you noticed it. Repeating the observation back ("saw you're hiring an account executive") tells the reader you have an alert set up. Naming the consequence tells them you have done the job.
A worked rewrite makes the gap obvious. The observation version reads: we noticed you are hiring two account executives and we help agencies with outbound. The implication version reads: two AE roles in three weeks means whoever starts in January inherits a blank list, and the first 60 days go on building it rather than selling. Same data, and only one of them says anything the reader did not already know.
Keep the mechanics general and boring. Stop the sequence on both channels the moment somebody replies on either. Answer inside the hour, because a signal that justified the message also dates it. And keep the signal out of the subject line, where it reads like automation rather than attention.
What do the numbers circulating about signal-based outreach actually say?
Less than they appear to, because the reply rates being quoted for signal-based outreach mostly trace back to vendor pages rather than to a study with a sample. This matters if you are about to buy intent data on the strength of a number in a blog post.
Take one widely cited roundup. Autobound's buying-signals piece names a source for most of its figures, which is better than average, but discloses no sample size for any of them, and it attributes a 15 to 25 percent reply rate for signal-based outreach to Instantly's 2026 benchmark report. Open that report and the published figures are a 3.43 percent average, 5.5 percent for the top quartile and above 10 percent for its best performers. The 15 to 25 percent is not in the cited source.
So borrow the one number that is actually measured and defensible: the spread between average and top quartile is about 1.6x, and that gap is list quality and offer, not subject lines. Treat anything promising a 5x lift from a signal as marketing until somebody publishes a denominator.
Measuring it yourself takes one field. Tag every contact with the signal that put it on the list, then after 60 days compare positive replies as a share of all replies, signal by signal. Two cohorts and a column is a better benchmark than anything on the internet, because it is your market and your offer.
The agency context behind all of this is worth one line. Promethean Research's 2026 State of Digital Services, based on 119 responses from agency owners and managers, found sales, profit margins and lead generation ranked as the biggest concerns heading into 2026, with average after-tax net margin at 13 percent in 2025. The same study found agencies that reduced their service offerings grew 13 percent on average and posted 30 percent net margins. A tighter service makes the signal obvious, and that choice does more for list quality than any tool in this guide.
Where signal lists go wrong
The most expensive failure is renting the signal source instead of owning the pull. The example is one day old at the time of writing: Trigify's own site announces that the Trigify team is joining HubSpot, that access remains available only until 11:59pm BST on 22 October 2026, and that customers should save and export anything they want to keep before account access ends. Anyone whose LinkedIn engagement signals ran through that platform is now exporting rows and looking for a replacement.
Own the pull, or at minimum own the rows. A scraper you run, an API key you hold and a crawl you schedule all survive a vendor's exit. A monitored list inside somebody else's product does not.
The other four failures are cheaper and more common. Stale rows, where a posting pulled six weeks ago gets written to as news. Signal without fit, where the event is real and the company was never your buyer. Five signals and no owner, where every feed is a month out of date and nobody can say which one produced the two replies. And no reply ownership, where the list works, somebody answers on a Thursday, and the thread dies because the pipeline and the inbox were never wired together.
That last one is worth sitting with, because it is the one that masquerades as a list problem. If replies arrive and meetings do not, more signals will not help. The same logic applies to hiring: a person without a list, a system and a view of the pipeline books nothing for months.
What to do next
- Write down the one role or event a company only produces when your service is already on its agenda. That sentence is your primary signal, and if you cannot write it, the service is too broad to run signals against.
- Pick the route that matches your market. A known list of companies gets a career-page crawl, a search-shaped market gets a board actor, and a team with no appetite for maintenance gets a signals API.
- Pull one month of raw events and stop. Dedupe to companies, then write the fit test as three pass or fail questions you can apply to the posting text without opening a tool.
- Qualify before you spend. Only companies that pass get a decision-maker lookup, and only one person per company.
- Run the finders in sequence, then verify the whole list with a dedicated verifier. Budget about six cents a contact in data and expect subscriptions to be the larger line.
- Tag every row with the signal that produced it before the first send. This is the field you will wish you had at day 60.
- Review at 60 days on one number: positive replies as a share of all replies, split by signal. Keep the winner, replace the loser, and leave the count at two.
If you would rather have the signal choice, the fit test and the cost arithmetic worked through with you before you pay for any data, the free growth audit does exactly that, and the document is yours either way. The nearest thing to a shortcut is the full build sequence, which puts this list in front of the sending infrastructure it needs.
Key takeaways
- A buying signal is a dated public event, which is why a job posting beats a firmographic filter: the budget was approved before the advert went up, and the US had 7.1 million open roles on the last business day of August 2026.
- LinkedIn job pages can be pulled without an account for about $1 per 1,000 job results through an Apify actor, while LinkedIn's own user agreement bans crawlers, bots and browser extensions that automate activity on the site.
- The qualification gate belongs before the first paid lookup: 3,000 raw postings dedupe to roughly 1,400 companies, and a fit test leaves about 500 worth spending enrichment credits on.
- Waterfall finders charge only for data they return, so the variable cost of a signal-built list is tiny: around 6 cents per usable contact at FullEnrich's EUR 0.055 a credit and MillionVerifier's $0.00178 a check.
- Greenhouse's own platform data puts 18 to 22 percent of postings in any quarter as ghost jobs, so the posting is evidence and the fit test is the decision.
- The reply rates circulating for signal-based outreach trace back to vendor pages: Instantly's 2026 report, the source one roundup cites for 15 to 25 percent, actually reports a 3.43 percent average and above 10 percent for its best performers.
Questions people also ask
How do I build a lead list from buying signals?
Pick two signals that only appear when what you sell is already on the agenda, usually open roles in the function you serve plus one tiebreaker. Pull the raw events from a job board actor, a career page crawl or a signals API. Dedupe to companies, run your fit test on the free posting text, and only then pay to find one decision maker per company and verify the address before sending.
Are job postings a reliable buying signal?
They are reliable as evidence of intent and unreliable as proof of a live project. A posting sits downstream of a budget approval, which is what makes it useful. Greenhouse found that 18 to 22 percent of jobs posted on its platform in any quarter are ghost jobs, posted with no real intent to fill. So treat the posting as the reason to look, require it to still be live when you send, and let your fit test make the call.
How do I scrape job postings without breaking LinkedIn's rules?
Use a route that does not automate your logged-in account. LinkedIn's help documentation says it does not permit third party software, including crawlers, bots, browser plug-ins or browser extensions that scrape or automate activity on its website, and that accounts doing so risk being restricted or shut down. Server-side actors that read public job pages without a login, a signals API, or a crawl of company career pages all sit outside that problem.
What does it cost to build a lead list from signals?
At list prices, about $335 a month for one signal in one market, producing roughly 400 verified contacts, or 84 cents each. Almost none of that is data: around EUR 25 goes on finder and verification credits, and the rest is subscriptions. A lean shape without Clay or Sales Navigator runs under $70 a month. The real cost is the hours somebody spends maintaining the pull and reading replies.
How fresh does a buying signal need to be?
Fresh enough that the fact is still true on the day you send. Clay's signal refresh options run from quarterly down to daily and default to monthly, which means a monthly setting can put you four weeks behind a role that closes in three. Set refresh to weekly at the slowest for hiring signals, re-check that the posting is live before the send, and drop rows you cannot still verify.
Do I need Clay to run signal-based lists?
No, but it collapses four tools into one table. Clay's Find Jobs waterfall pulls from PredictLeads, Google Jobs and its own jobs database, and signals are available on every paid plan except Flex. Launch is $167 a month and Growth $446. The assembled alternative is an Apify actor for the pull, a waterfall finder for addresses and a verifier, which costs less and asks more of you.
How many signals should I track at once?
Two. One builds the list and one breaks ties, and each extra signal is a separate pipeline somebody has to keep alive. Teams that track five end up with five stale feeds and no idea which one produced the meetings. Tag every contact with the signal that put it on the list, and after 60 days you will know which of the two to keep and which to replace.
What should the first email say when the signal is a job posting?
Write to what the posting implies about their next quarter, not to the fact that you saw it. Repeating the observation back tells them you set an alert. Naming the consequence, for example that a new hire spends month one building a list instead of selling, tells them you have done the job. Keep the offer priceable by a stranger, because a signal cannot rescue an offer nobody can picture.
Sources
- Job Openings and Labor Turnover Summary, August 2026, U.S. Bureau of Labor Statistics, 2026-09-29
- Job posting (JobPosting) structured data, Google Search Central
- LinkedIn Jobs Scraper, Apify Store
- LinkedIn Post Reactions Scraper, Apify Store
- Apify pricing, Apify
- PredictLeads pricing, PredictLeads
- Firecrawl pricing, Firecrawl
- Signals in Clay, Clay
- Clay pricing, Clay
- Prohibited software and extensions, LinkedIn
- Sales Navigator plans and pricing, LinkedIn
- FullEnrich pricing, FullEnrich
- Anymail Finder pricing, Anymail Finder
- Hunter pricing, Hunter
- MillionVerifier email verification, MillionVerifier
- Email sender guidelines, Google
- Ghosting, ghost jobs and bots: the 2024 State of Job Hunting report, Greenhouse, 2024-12-10
- Cold Email Benchmark Report 2026, Instantly, 2026-01-12
- 12 Buying Signals That Actually Book Meetings, Autobound
- The Trigify team is joining HubSpot: our next chapter, Trigify
- 2026 State of Digital Services: Digital Agency Industry Research, Promethean Research, 2026-03-01

