Catching people in the middle of a live discussion definitely beats cold emailing - the context and intent are right there. For local SEO leads, I've been monitoring Google Maps reviews and Q&A sections for specific trigger phrases like "looking for reliable plumber" or "need a locksmith urgently". It requires a bit more filtering to separate the genuine requests from spam, but the conversion rate makes it worthwhile.
I wrote a small Python script that scrapes recent reviews on a set of competitor business profiles, then regex-filters for lines that sound like a prospect asking for help. The output goes into a spreadsheet with the business name, review text, and a direct link. Then I manually check each one before reaching out. Works better than any bulk email list I've ever bought.
Worth noting that Google's terms of service frown on automated scraping, so keep the volume low and use a human-delay between requests. No point getting your IP banned over a handful of leads.