Methodology
How records are built
Last reviewed: May 12, 2026
How we collect data
Each metro+service page is built around a source trail. We start with a metro profile and service profile, then add provider records from compliant sources: state licensing boards, BBB public profiles, Google Places API New, contractor websites where allowed, and our own primary-research calls.
Provider rankings
Rankings are not published from scraped names alone. A page needs enough provider records to compare licensing status, service area, source age, and primary-research fields such as quoted price and response time. Until then, the page shows fieldwork status rather than a fake top-five list.
Consent and recording
Recording laws differ by state. We operate in two-party-consent states only with explicit written consent. In one-party-consent states we still capture consent status before storing a recording. The application has a code-level consent gate that blocks recording URLs when consent is missing or legally insufficient.
Two-party-consent states treated as written-consent-required for recording: California, Connecticut, Delaware, Florida, Illinois, Maryland, Massachusetts, Montana, Nevada, New Hampshire, Pennsylvania, Washington.
Google data
Google Maps business data, ratings, and up to five Google reviews are sourced only through Google Places API New. We do not scrape Google Maps HTML. Google review rows are displayed with attribution, not reordered, and refreshed inside the required cache window.
Sources we do not use
We do not scrape Yelp ratings, Google Reviews HTML, or platforms that prohibit the use case. Banned scraping paths include generic map/review scrapers aimed at those platforms.
Update cadence
Google Places data is refreshed bi-weekly. Primary pricing and response-time research is re-surveyed at least annually per metro, or sooner when a contractor disputes a published number with evidence.
Conflicts of interest
Phase 1 does not include paid featured placements. If paid listings launch later, they will be disclosed separately from source-backed rankings.