I used to spend 3 hours every Monday morning going through job boards, company websites, and LinkedIn to figure out which prospects were actually ready to buy. The "buying signal" research that salespeople do manually.
Here is the automated stack I built that runs overnight and delivers a scored list of warm accounts every morning.
The Problem with Cold Outreach
Cold outreach fails because timing is wrong. You reach a company when they are happy with their current solution, not when they are evaluating alternatives.
Buying signals tell you when the timing is right:
- They just hired a role that uses your product
- Their current vendor just raised prices
- Their team recently posted frustration with their current tool on social media
- They just raised funding and are now in "spend to grow" mode
- A key decision maker joined from a company that uses your product
The 5 Signals That Actually Predict Buying Intent
Signal 1: Job Postings (High Accuracy)
A company posting for "Head of Data Engineering" needs data infrastructure NOW. If you sell data tools, this is your moment.
Why it works: Companies only post jobs when they have budget approved and a decision already made to hire. A job posting = approved budget.
Scraping method: LinkedIn Jobs Scraper on Apify. Search for role keywords at target companies.
Cost: ~$0.003 per posting checked.
Signal 2: Glassdoor Reviews Mentioning Your Competitor
When employees publicly complain about their current tools on Glassdoor, the company is likely evaluating alternatives.
Search: site:glassdoor.com reviews mentioning "[CompetitorName] is slow" or "[CompetitorName] constantly crashes"
Scraping method: Google SERP scraper to find relevant Glassdoor results, then extract review content.
Signal 3: Technology Stack Changes
When a company changes their tech stack, they are buying. You can detect this via:
- BuiltWith API (tracks technology changes)
- Wappalyzer (browser extension with API)
- Job postings requiring NEW technologies
A company switching from Salesforce to HubSpot is evaluating ALL their tools simultaneously.
Signal 4: LinkedIn Company Headcount Growth
Companies growing 20%+ headcount in 90 days are in scaling mode. Scaling mode = budget.
How to track:
- Check LinkedIn company page headcount numbers weekly
- Alert when growth > 15% in any 60-day period
You can do this manually for 20 accounts. For 200 accounts, you need automation.
Signal 5: Funding Events
Already covered this in depth in a previous article. Form D SEC filings are the earliest indicator.
The Automated System
Data Collection (Daily, 3am)
n8n workflow runs 4 parallel branches:
Branch 1 — Job Scraper:
HTTP Request -> Apify LinkedIn Jobs API
Filter: company in target_list AND role_keywords match
Output: company, role, posted_date
Branch 2 — SERP Monitor:
HTTP Request -> Apify Google SERP
Query: "site:glassdoor.com/Reviews [competitor] reviews"
Filter: posted in last 30 days
Output: company, review_snippet, date
Branch 3 — SEC Filings:
HTTP Request -> SEC EDGAR API
Query: company names from target list
Filter: Form D filings in last 30 days
Output: company, amount, date_filed
Branch 4 — Tech Stack Changes:
HTTP Request -> BuiltWith API (or stored baseline)
Compare: current stack vs. 30 days ago
Filter: any changes to categories we care about (CRM, data, analytics)
Output: company, old_tech, new_tech, detected_date
Scoring (Daily, 4am)
For each company in target list, calculate a signal score:
- Active job posting matching our keywords: +3 points
- Glassdoor complaint about competitor: +2 points
- Form D filing in last 30 days: +4 points
- Tech stack change in relevant category: +3 points
- Headcount growth > 15% in 60 days: +2 points
Score > 6: "Hot" — reach out today
Score 3-6: "Warm" — add to nurture sequence
Score < 3: "Cold" — check again next week
Delivery (6am)
n8n sends a Telegram message:
DAILY SALES SIGNALS — Thursday, April 3
HOT (score > 6):
- Acme Corp: +4 (funding) +3 (hiring data eng) = 7
-> Contact: John Smith (VP Eng) via LinkedIn
WARM (score 3-6):
- TechStartup Inc: +2 (Glassdoor) +2 (headcount) = 4
-> Add to sequence
COLD: 47 companies, check next week
Results From Running This For 3 Months
- Target list: 200 companies
- Average hot accounts per week: 8-12
- Response rate from hot accounts: 34% (vs 6% cold)
- Average time from signal to closed deal: 18 days
The difference is not in the outreach message — it is in the timing.
What This Costs
| Component | Monthly Cost |
|---|---|
| Apify (job + SERP scraping) | $8-15 |
| n8n (self-hosted) | $0 |
| SEC EDGAR API | $0 |
| BuiltWith API | $0 (free tier) |
| Total | $8-15/month |
vs. ZoomInfo ($15K/year), Bombora intent data ($2K/month), or Apollo.io ($99/month).
Get Started
The LinkedIn Jobs Scraper and Google SERP Scraper used in this system are both in the Apify Scrapers Bundle — $29 one-time.
Includes 30+ scrapers pre-configured with the input formats shown above.
What signals do you use to identify ready-to-buy accounts? Let me know in the comments.
Related Tools
Pre-built actors for this use case:
Top comments (0)