Why one search can't return every firm
Google Maps is built to answer "which lawyer should I call," not "list every lawyer." Scroll the results panel for any search and it stops after roughly 120 listings, no matter how many more exist. MapsHarvest's per-city limit sits at the same number — 120 results per search per city — because there's nothing past that point to collect.
For a small town that ceiling never matters. For a legal market the size of Los Angeles it's the whole problem. A single search for "lawyer" gives you the 120 listings Google ranks highest for that phrase — weighted toward firms with heavy review counts and aggressive profile management, which in LA mostly means personal injury. The estate planning attorney in Encino with nine reviews is on Maps, but not in that top 120.
There are two ways around the ceiling, and a complete list uses both: run more specific searches (practice areas instead of "lawyer") and run them over smaller areas (each city in the metro instead of one big one). Every combination gets its own 120-result window.
What "contact details" means on Google Maps
It's worth being precise about what a Google Business Profile holds before you plan outreach around it. Here's what comes back for a law firm listing and what doesn't:
- You get: Firm name, main phone number, website URL and domain, full street address, the Google category (which is the practice area when the firm set one), rating, review count, hours, and the Google Maps URL — plus the query and city that found it and a scraped-at timestamp.
- You don't get: Email addresses and individual attorney names. Profiles have no email field, and the listing name is whatever the firm registered — sometimes 'Smith & Partners LLP', sometimes 'John Smith, Attorney at Law'.
- The phone number is usually intake: Law firm listings overwhelmingly point to a front desk or intake line. That's fine for vendor outreach — the receptionist routes to the office manager — but it isn't a partner's direct dial.
- The website is the bridge to everything else: Attorney bios, practice pages and contact emails live on the firm's site. The website column is what makes the second step possible.
If you need emails, scrape Maps first and treat the website column as input for that step — the email-finding guide covers it.
Step by step: a whole-city law firm list
Practice-area categories that work as separate searches:
Write down practice areas, not 'lawyer'
Google Business Profiles carry specific categories — Personal injury attorney, Immigration attorney, Estate planning attorney — and a search for each one surfaces a different set of up to 120 firms. Pick the practice areas your offer fits. If you sell to every kind of firm, run the specific ones plus the catch-alls 'Law firm' and 'Attorney' to pick up offices that never set a specialty.
Define the geography the way Google does
'Los Angeles' in a city picker means the City of Los Angeles — Downtown, Century City, Encino, Woodland Hills and Van Nuys are all inside it. Beverly Hills, Santa Monica, Pasadena, Glendale, Burbank, Long Beach and Torrance are not; each is its own incorporated city, and several hold dense clusters of law offices. Select each city you mean alongside Los Angeles itself.
Turn on has-phone, leave rating off
If the goal is contact details, a listing without a phone number costs a credit and gives you nothing to dial. Filters run during the scrape, so dropped rows never reach your export. Skip minimum rating and review count for this vertical — thin reviews are normal for firms whose clients prefer discretion.
Run one practice area first
Scrape a single practice area across every city on your list. The row count tells you how saturated that category is — if most cities come back well under 120, the rest of the practice areas will too, and you can size the full run accurately instead of guessing.
Run the rest and export everything together
Export as CSV or XLSX (JSON too, on Growth and up). Each row carries the query and city it came from, so you can still tell which practice area search found which firm after the files are combined.
Deduplicate on the Google Maps URL
A firm that lists both Personal injury attorney and Law firm shows up in both searches. The Google Maps URL is unique per listing, so dedupe on that column first, then look at the attorney-versus-firm duplicates described below.
On the Growth plan and above, the same job runs over the REST API: one POST /scrape per practice area with states: "California", your city list in cities, and require_phone: true. Poll GET /jobs/{id} and pull each file from /download?fmt=csv. That's worth doing if you plan to re-run the list quarterly to catch new firms.
Estimating the credit cost before you run it
Each lead returned costs one credit, and credits are only deducted for completed scrapes. The worst case is easy to calculate: practice areas × cities × 120.
The real number will be lower, for two reasons. First, the ceiling only applies where a practice area has more than 120 listings in a city. Los Angeles itself will hit it for personal injury; Burbank almost certainly won't for tax attorneys. Second, the has-phone filter removes rows before they're billed.
That's why step 04 matters. One practice area across all eight cities gives you an actual average per combination — multiply that by the remaining practice areas and you have a reliable estimate. As a rough guide to plans: the free tier's 50 credits is enough to check what a law firm row looks like; Starter's 1,000 covers one or two practice areas across a metro; a full multi-practice LA list is Growth territory (5,000 credits). See pricing for the current plans.
Bear in mind that duplicates cost credits too — a firm found by two searches is billed twice before you dedupe. Leaving the catch-all 'Attorney' and 'Law firm' searches until last, and only running them if your specific practice areas look thin, keeps that overlap down.
Cleaning law firm data: the duplicates you'll hit
Legal is messier than most verticals on Google Maps, because Google's guidelines let individual practitioners have their own profile separate from the firm's. After the Google Maps URL dedupe, expect these patterns:
One firm, several attorney listings
A ten-lawyer firm may appear as the firm plus three or four attorneys, each with their own profile at the same address and often the same phone number. Group rows by phone number and street address: if you're selling to the firm, keep the firm-named row and drop the rest. If you're recruiting or selling per-seat, the individual rows are the useful ones.
Shared suites and executive offices
Office towers in Century City and Downtown LA house dozens of unrelated firms, some at the same suite number in a shared executive office. Same address is not the same firm. Deduplicate on phone plus name, never on address alone, or you'll collapse unrelated practices into one row.
Satellite offices
Larger personal injury and immigration firms keep offices in several cities, and each appears in that city's scrape. They share a website domain. Grouping on the website domain column shows you which firms are multi-office — worth knowing if your offer is priced per location.
Referral services and lead-gen listings
Some results categorised as attorneys are referral networks or marketing brands that pass calls to other firms. They tend to show generic names, a large review count and a website that lists no attorneys. Spot-check a sample of the highest-review rows before they go into a dialer.
Law firms are also among the more cautious recipients of cold outreach — they know the rules on solicitation better than most. Our guide on whether scraping Google Maps is legal covers collecting public listing data; how you contact the firms afterward is governed by the usual rules on email and calling in your jurisdiction.
FAQ
Can I get attorneys' direct email addresses from Google Maps?+
No. A Google Business Profile has a phone number and a website field, not an email field, so no Maps scraper can return one honestly. The usual route is the firm's website — the contact page, the attorney bio pages, or the footer. We cover that second step in the email-finding guide linked below.
Why does searching 'lawyer' in Los Angeles return so few results?+
Google Maps stops returning results for a single search after roughly 120 listings, and MapsHarvest's per-city cap matches that at 120. A city with thousands of law offices can't fit in one search, so the list you get is whichever 120 Google ranks highest for that query — not the whole market.
Should I filter law firms by rating?+
Usually not. Plenty of established firms, especially in business, estate, and real-estate law, have a handful of reviews because their clients don't leave them. A minimum-rating filter throws away those firms along with the bad ones. Requiring a phone number is the filter that actually earns its place here.
How many credits will a whole-city law firm list use?+
One credit per lead returned. The ceiling is practice areas × cities × 120, but real runs land well under it because many practice-area-and-city combinations have fewer than 120 listings. Run one practice area across your cities first and use that count to estimate the rest.
Build the whole-city law firm list
Scrape by practice area and city, filter to firms with a phone number, and export to CSV. 50 free credits, no credit card.