Find contractors
Find home services companies by trade, region, and crew
The owner of a six-truck plumbing company answers his own phone and reads email twice a week. Build the list for that reality or it will not convert.
Trade first, radius second, size third. That order matters because a roofing company and an electrician in the same zip code share nothing except a service area, and a sales motion built on geography alone ends up pitching four different businesses the same way.
Listings do most of the work here. Open Web Ninja returns the business, its category, hours, phone, and review volume; Serper catches the ones filed under an odd category or trading under a second name. People Data Labs adds a company layer where one exists, which for a family firm is often nothing at all.
Then the contact question. Blitz API runs the email column for firms with a real domain, and ClearoutPhone grades every number so the call list is clean before anyone picks up a handset.
Example searches
Ask for it the way you'd say it
Every search below runs on the same hosted Tables, with the cost previewed before anything is spent.
One trade, one radius
roofing contractors within thirty miles of atlanta, exclude general handyman listings
Trade comes from the listing category and the site, so a handyman advertising roofing does not land in a roofing campaign.
Crew size proxies
hvac companies with multiple service vehicles and a large review count in the same metro
Review volume and staff count act as size proxies, each in its own column, so you can see which one carried the row.
Reachable by phone
give me a direct number for each contractor and flag the ones that are mobiles
Numbers are graded before dialing, which matters in a trade where the mobile on the listing is usually the owner's own.
Plays
Three motions you can run this week
Each one is a chain of Oxygen primitives — the same hosted objects your workspace already has, composed.
Trade-by-trade territory sweep
A clean table per trade in one metro, deduped and ready to work.
- 1Sweep the radius once per trade, dedupe on domain, then collapse the rest with a fuzzy match on business name and address.
- 2Promote only the trades you serve, leaving the rest in the working table.
oxygen search runCall list that is worth dialing
Every row on the call sheet has a graded number and a reason to be there.
- 1Run the phone column, grade line type, and drop numbers that fail validation.
- 2Sort by size proxy so the biggest firms in the radius get dialed first.
oxygen find phoneMulti-branch firms get a different pitch
Regional operators hear an operations message instead of an owner-operator one.
- 1Flag firms with more than one location and resolve an operations or GM title.
- 2Enroll those rows in their own sequence and suppress the branch listings.
oxygen sequences enroll
Who you can reach
Roles you can find at home services and trade contractors
Reachability is per channel: a role marked for mobile is one the phone waterfall usually resolves, not a guarantee for every record.
| Role | Seniority | Reachable by |
|---|---|---|
| Owner or operator | Owner/Founder | MobileWork email |
| General manager | Manager | Work emailMobile |
| Service manager | Manager | Work emailMobile |
| Office manager | Manager | Work email |
| Operations director at a multi-branch firm | Director | Work emailLinkedIn |
| Sales lead | Manager | Work emailMobile |
Filters you can search on
- Trade or service category
- Radius around a city or postcode
- Review count and rating band
- Estimated crew or vehicle count
- Single location or multi-branch
- Website present or missing
- Emergency or after-hours service offered
Listings, categories, phone numbers, and review volume resolve for nearly every trade business with a storefront or service-area listing. Company records thin out fast below ten staff, which is most of this market, so headcount is often blank and email resolves less often than in any other services segment. Plan the phone lane first and treat a found email as a bonus.
Data sources
What the data actually comes from
Every value lands with its provider and cost recorded on the cell.
- Op
Open Web Ninja
Trade listings with category, hours, phone, rating, and review count for a whole service area.

Serper
Catches firms filed under an unexpected category or trading under a second business name.

People Data Labs
Adds a company layer for the minority of firms large enough to carry a corporate record.

Blitz API
Runs the work-email column for contractors that own a real domain rather than a listing page.

ClearoutPhone
Validates and grades each number so the call sheet is not full of dead switchboards.
Run these on Oxygen's managed credits, or connect your own provider keys and pay the vendor directly — the same columns, the same runs, the same provenance either way. See every integration.
Limits
Where this stops
- Many trade businesses have no corporate record at all. Expect a listing, a phone number, and a rating, and expect headcount and work email to be empty on a large share of the rows.
FAQ
Questions people ask first
Is email even the right channel for contractors?
How do I estimate crew size?
Can I search a radius rather than a city?
How do I avoid dialing the same owner twice?
What if a contractor has no website?
What about a contractor covering three metros with one crew?
Build your home services and trade contractors list
Start with a search, preview the cost before anything is spent, and keep the rows, sources, and runs in a workspace you own.