B2B Targeting by Review Ratings, Not Websites
Companies with declining review scores are 3-5x more likely to respond to outreach. Review-based lead scoring finds high-intent prospects that firmographics miss.
Companies with declining review scores are 3-5x more likely to respond to outreach than companies with stable ratings. A business dropping from 4.5 to 3.2 stars on Google is actively losing customers and looking for solutions. Traditional B2B targeting focuses on company size and industry; review-based targeting focuses on pain signals.
Why Reviews Beat Firmographics
Apollo and ZoomInfo tell you a company has 50-200 employees in the SaaS vertical. That narrows the list but says nothing about whether they need your product right now. Review data tells you their customers are complaining about specific problems. If your product solves those problems, the outreach practically writes itself.
Extracting Review Signals
import requests, os, re
API_KEY = os.environ["SCAVIO_API_KEY"]
PAIN_WORDS = ["terrible", "worst", "switching", "alternative",
"frustrated", "broken", "overpriced", "slow"]
def review_signals(company):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google",
"query": f'"{company}" reviews complaints 2026'})
results = resp.json().get("organic", [])[:5]
signals = {"company": company, "pain_score": 0, "evidence": []}
for r in results:
snippet = (r.get("snippet", "") or "").lower()
for word in PAIN_WORDS:
if word in snippet:
signals["pain_score"] += 10
signals["evidence"].append(
f"{word}: {r.get('title', '')[:60]}")
# Check for star ratings in snippets
rating = re.search(r'(\d\.\d)\s*/\s*5', snippet)
if rating and float(rating.group(1)) < 3.5:
signals["pain_score"] += 20
signals["evidence"].append(
f"Low rating: {rating.group(1)}/5")
return signals
company = review_signals("Zendesk")
print(f"{company['company']}: pain score {company['pain_score']}")
for e in company["evidence"][:3]:
print(f" {e}")
Building the Lead List
Start with a list of companies in your ICP. Run each through the review signal pipeline. Sort by pain score. The top 20% are your highest-intent leads. At $0.005 per search, scoring 500 companies costs $2.50.
Combining with Firmographic Data
The best targeting stack uses firmographics for segmentation and reviews for prioritization. Apollo ($49/month Basic) gives you the company list filtered by size, industry, and location. Search API gives you the pain score. The firmographic filter narrows 10,000 companies to 500 in your ICP. The review score ranks those 500 by buying intent.
When This Approach Fails
B2B companies with few public reviews (enterprise infrastructure, niche industrial tools) lack enough data for review-based scoring. Consumer-facing companies with thousands of reviews work best. Also, some companies have low review scores but no budget for your solution. Combine the pain score with firmographic signals like recent funding or headcount growth to filter out companies that are struggling too much to buy.