For agencies and SDRs selling into US home services
PROSPECT LISTS FOR AGENCIES SELLING TO HOME SERVICES
by Usama Zafar, who builds and maintains PlotLeads · column mapping verified 13 August 2026
Your job this month is not “get a CSV”. It is to put enough qualified conversations into the top of the pipeline that the retainer maths works out. A list is one input to that, and buying one solves exactly one of the five things standing between you and a booked call.
So this page is the whole workflow, not the pitch. PlotLeads is stage two of five. The other four are yours, and the qualification stage — the one almost everybody skips, because it happens after the invoice and before the fun part — is the one that decides whether the other four were worth doing.
The workflow
WHERE A LIST ACTUALLY FITS
Five stages, in order. We do one of them. Being straight about that is more useful to you than pretending a spreadsheet is a growth strategy.
Stage 1
SEGMENT
One trade, one metro, one pitch.
PlotLeads
BUILD THE LIST
The companies in that segment.
Stage 3
QUALIFY
Filter to the ones your offer fits.
Stage 4
OUTREACH
Phone-led, because the data is.
Stage 5
TRACK
Worked, reached, booked, dead.
Stage 1 · Segment
PICK ONE TRADE AND ONE METRO
The instinct is to go wide — every local business in the state, so the list is big. That instinct is why most agency cold campaigns die. A wide list forces a generic opener, and a generic opener is the single fastest way to get hung up on by someone who takes forty sales calls a month.
Run one trade in one metro per campaign. The payoff is that every sentence you write can be specific: you can name the competitor two suburbs over, reference the licensing board that trade actually deals with, and talk about their busy season rather than “Q4”. Specificity is the only advantage a small agency has over a call centre, and it is purchased entirely by narrowing the segment.
One trade in one large metro is usually the right size for a campaign: deep enough to dial for weeks, narrow enough that you genuinely learn the market and can rewrite the pitch after the first fifty calls. When you exhaust it, move to the next trade in the same city — you keep the local knowledge and only swap the vertical language. That sequencing is why segmenting by city first and trade second tends to beat the reverse.
If you want to see which trades and metros are covered before you commit to one, the home-services company lists page lays out the categories, and the trade and city index has the live pages.
Stage 2 · Build the list
THE ONE STAGE WE DO
You pick the trade and the metro, we pull the currently-listed businesses for that combination off Google Maps and hand you a CSV. Every row is one company, and the columns are the public listing fields:
business_name, phone, email, website, address, city, state, zip, google_maps_url, rating, review_count, category
That is the entire deliverable. No setup, no API key, no scraper to configure, no seat to keep paying for — a search box and a finished file. The full field-by-field spec is on the scraper page, how the data is sourced and geo-scoped is on methodology, and what a pack costs is on pricing.
The honest version: if you have a developer on staff and you enjoy operating tools, you can run a general-purpose scraper like Outscraper yourself and it will cost you less per record than we charge. We are not the cheapest way to get this data and we do not claim to be. What you buy here is that nobody on your team has to own a scraper, and that the output arrives as a file you can work rather than a job you have to babysit. If the trade-off falls the other way for you, go run the scraper — the rest of this page is still worth your time.
Two things this list is not. It is not an email list — the email column only carries an address when the business publishes one on its listing, and in a real 49-row sample exactly three rows had one. And it is not a decision-maker database — you get the business, not the owner’s name or direct dial. If your motion depends on named contacts and verified corporate email, the honest comparison is on the Apollo page.
Stage 3 · Qualify
FILTER ON THE COLUMN THAT MATCHES WHAT YOU SELL
This is the stage that separates a list from a pipeline, and it takes about two minutes. Three of the columns are not contact data at all — website, rating, and review_count are qualification signals, and which one matters depends entirely on what your agency sells.
A web-design shop and a reputation-management shop want almost inverted slices of the same file: one wants the businesses with no web presence, the other wants the ones established enough to have accumulated a bad average. Working the whole list with one pitch wastes both.
Be clear about the mechanics: PlotLeads has no filter switches. The columns ship in the CSV and you filter in your spreadsheet after download. That is the honest scope, and the table below is the part worth stealing.
| What you sell | Column | The rule | Why it is a buying signal |
|---|---|---|---|
| Website design / build | website | cell is empty | The business is running on its Maps listing alone. There is no site to audit and no competitor comparison to argue about — the asset you are selling is the entire conversation. |
| Local SEO / Google Business Profile | review_count + website | under ~25 reviews while website is filled | They invested in a site and then stopped. A thin Maps footprint next to a real website is the specific gap that keeps them out of the local pack, and it is visible to them the moment you describe it. |
| Reputation management | rating + review_count | rating under 4.0 with 20+ reviews | The review floor matters. At 20+ reviews a 3.6 is a real average that is costing real calls; at four reviews it is one bad week and there is nothing to manage. |
| Review generation | review_count + rating | under ~10 reviews, rating 4.5 or above | Happy customers, no proof. Nothing to fix and nothing to defend — usually the shortest sales cycle on the list. |
| Paid ads / lead generation | rating + review_count | 4.5 or above with 100+ reviews | Established, delivering well, and able to absorb extra volume without drowning. This is the segment that can carry a retainer, and the segment least likely to blame you for the first slow month. |
| Rebrand / web overhaul | website | sort the column and scan for facebook.com, wixsite.com, business.site, godaddysites.com | A social page or a builder subdomain standing in for a website. Real budget, wrong asset — a different conversation from the businesses with no web presence at all. |
| Nobody — cut these first | phone | cell is empty | No dial target. On a phone-led campaign these are dead weight; delete them before you count your list size so your connect rate is measured against a real denominator. |
The columns land in the order listed above, so in Google Sheets or Excel the letters are fixed: phone is column B, website is D, rating is J, review_count is K. Two formulas cover most of the table:
# No website, but has a phone to dial — the web-design slice =FILTER(A2:L, D2:D="", B2:B<>"") # Rating under 4.0 with enough reviews to be real — reputation slice =FILTER(A2:L, J2:J<4, K2:K>=20)
One more pass worth doing: sort by category. Google classifies listings more finely than you searched, so a single pull will separate the general contractors from the specialists inside the same trade. That distinction usually changes the opener more than the city does.
Two limits to plan around. The phone numbers and websites are what each business publishes on its own listing — we do not dial them or load them to check, so treat a dead number as data decay, not a refund case. And because each search is a fresh pull rather than a maintained database, re-running the same metro next quarter gives you the current state of that market, not a diff against your last file. If you want the export mechanics themselves, the step-by-step is on exporting Google Maps to CSV.
Stage 4 · Outreach
THIS IS A PHONE-LED CAMPAIGN
Match the channel to the data you actually have. Most rows carry a phone number and very few carry an email, so the motion this list supports is dialling — not a sequenced cold-email campaign. Trying to run one anyway means sending to guessed addresses, which is how agencies burn a sending domain in a fortnight.
That is not a downgrade for this market. Home-services owners are famously bad at email and famously reachable by phone, because the number on the listing is the number that books their jobs. It rings, and often the owner answers it. Use the qualification slice from stage three as the opener: the reason you called is the signal you filtered on, and naming it in the first sentence is what buys you the next thirty.
Where email does appear, treat it as a follow-up channel for someone who already spoke to you, not a prospecting channel. Same for the google_maps_url column — it is your fastest way to pull up a prospect’s listing and photos on the second monitor while the phone is ringing.
On compliance: genuine business-to-business calls are broadly exempt from the federal Do-Not-Call registry under the FTC’s Telemarketing Sales Rule, but that exemption does not cover everything — several states run mini-TCPA laws with no B2B carve-out, and a sole trader’s listed number is often a personal mobile rather than a business landline, which changes the analysis. Read the legality page before you start dialling, and take your own counsel — this is not legal advice.
Stage 5 · Track
THE FILE IS NOT YOUR CRM
There is no CRM integration and no API here. The CSV imports cleanly into whatever you already run — it is UTF-8 with a byte-order mark so Excel opens it without mangling accented business names — but nothing syncs back, and we do not deduplicate across separate searches. If you pull the same metro twice you will get overlapping rows, and reconciling that is on you.
Practically, three habits stop this becoming a mess. Name every file with the trade, the metro, and the pull date, so six months later you know what you are looking at. Import into your CRM with a campaign tag rather than dumping rows loose, so you can measure one segment against another. And add your own outcome column before you start — worked, reached, booked, dead — because the thing you actually want at the end of the month is not the list, it is the knowledge of which qualification filter produced meetings.
That last point is the whole game. Run one filter from the stage three table across one segment, record the outcome honestly, and you learn more about your own offer in fifty dials than in a quarter of buying broader lists.
Fit
WHO THIS SUITS
It fits if:
- You sell web, SEO, ads, or reputation work to local trades and you run phone-led outreach.
- You want a finished file rather than another tool to operate, and nobody on your team wants to own a scraper.
- You buy in bursts when a campaign starts, and a monthly seat you forget to cancel annoys you more than the per-record price.
It does not fit if:
- Your motion is cold email at volume. Six percent email fill will not sustain it, and no amount of sequencing fixes that.
- You need named decision-makers, job titles, or verified direct dials. That is a different product category.
- You are technical, you are buying at real volume, and cost per record is your binding constraint. Run the scraper yourself.
RUN ONE SEGMENT THIS WEEK
Pick the trade you already know how to sell to, pick the metro you can speak about credibly, and take a free 50-row sample of that exact combination first. Open it, run one filter from the table above, and see how many rows survive. If the surviving slice is worth a week of dials, the full list is worth buying. If it is not, you have lost nothing and learned which segment to try next.
Questions about the data before you spend anything go to support@plotleads.com.