Overview
Finding companies that match your ideal customer profile (ICP) requires monitoring multiple channels daily. This workflow searches Google for companies in your target verticals and Reddit for companies actively discussing problems your product solves. It filters results against your ICP criteria and pushes qualified prospects to your CRM or outreach tool daily.
Trigger
Cron schedule (daily at 8 AM UTC)
Schedule
Daily at 8 AM UTC
Workflow Steps
Load ICP criteria
Read your ideal customer profile: target industries, company size signals, technology keywords, and pain point phrases.
Search Google for ICP matches
Query Google for companies in target verticals using industry-specific terms combined with qualifying signals.
Search Reddit for active discussions
Query Reddit for posts where companies discuss the problems your product solves. Extract company names and context.
Deduplicate and filter
Merge Google and Reddit results. Remove previously seen companies. Filter by ICP criteria.
Enrich with domain data
For new companies, search Google for their domain, tech stack, and team size indicators.
Push to CRM
Format qualified prospects and push to your CRM or outreach tool with source context and ICP match score.
Python Implementation
import requests, os, json
from datetime import date
H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
ICP_QUERIES = [
"SaaS company looking for search API",
"startup needs web scraping alternative",
"AI agent company hiring data engineer"
]
REDDIT_QUERIES = [
"need search API for our product",
"looking for SERP API alternative",
"web scraping keeps breaking help"
]
def discover_companies():
prospects = []
for q in ICP_QUERIES:
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "google", "query": q}, timeout=10).json()
for o in r.get("organic", [])[:5]:
prospects.append({
"source": "google", "query": q,
"title": o.get("title"), "url": o.get("link"),
"snippet": o.get("snippet"), "date": str(date.today())
})
for q in REDDIT_QUERIES:
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "reddit", "query": q}, timeout=10).json()
for o in r.get("organic", [])[:5]:
prospects.append({
"source": "reddit", "query": q,
"title": o.get("title"), "url": o.get("link"),
"date": str(date.today())
})
return prospects
for p in discover_companies():
print(json.dumps(p))JavaScript Implementation
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function discoverCompanies(icpQueries, redditQueries) {
const prospects = [];
for (const q of icpQueries) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: q})
}).then(r => r.json());
for (const o of (r.organic || []).slice(0, 5)) {
prospects.push({source: "google", query: q, title: o.title, url: o.link, snippet: o.snippet});
}
}
for (const q of redditQueries) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "reddit", query: q})
}).then(r => r.json());
for (const o of (r.organic || []).slice(0, 5)) {
prospects.push({source: "reddit", query: q, title: o.title, url: o.link});
}
}
return prospects;
}Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Community, posts & threaded comments from any subreddit