Lawyer Scraper — Full Attributes · No Browser
Pricing
$5.00 / 1,000 lawyer scrapeds
Lawyer Scraper — Full Attributes · No Browser
Scrape lawyers and law firms from Google Maps by city and niche. Returns address, phone, website, rating, hours, payment options and accessibility via pure HTTP, no browser. $0.005 per place, no login needed.
Pricing
$5.00 / 1,000 lawyer scrapeds
Rating
5.0
(1)
Developer
Gio
Maintained by CommunityActor stats
0
Bookmarked
20
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
Scrape lawyers and law firms from Google Maps by city, niche and search term. No browser, no API key, no Google Maps login.
Why use this scraper
Legal marketing agencies, legal-tech vendors and lead-gen teams need current, structured lists of law firms by city and practice area, not a manual scroll through Google Maps. Google does not offer a public API for Maps place search at this price point, and most "Google Maps scraper" tools on the market are generic (built for restaurants or any local business) and strip out the attributes that actually matter for the legal vertical: whether the firm is open 24 hours, whether it offers online appointments or language assistance, and how many reviews back up its rating.
This Actor is purpose-built for law firm prospecting: give it a city and a niche (personal injury lawyer, immigration lawyer, family lawyer) and get back a structured list with contact info, rating, review count and the full set of Google Business Profile attributes, at a fraction of the cost of enriched lead-scraper alternatives.
Overview
Input is a search term and a location (or a list of pre-built queries for advanced control). Output is one row per law firm found on the Google Maps results page for that query: name, address, phone, website, rating, review count, coordinates, business categories, claimed status, open/closed hours text and the full attributes block (service options, accessibility, payments, parking, planning, crowd). Runs are pure HTTP (no headless browser), so a 2-page query (around 40 places) typically finishes in under a minute. Priced at $0.005 per place returned.
Supported inputs
| Field | Type | Description |
|---|---|---|
searchTerm | string | What to search for. Default lawyers. Use a niche for better targeting: personal injury lawyer, immigration lawyer, family lawyer. |
location | string | City, state, ZIP code or neighborhood, e.g. Houston, TX. |
queries | array of strings | Advanced: full pre-built Google Maps queries (overrides searchTerm + location), e.g. "divorce lawyer in Brooklyn". Use this to run many narrow queries (one per city or ZIP) in a single call. |
maxPages | integer | Pages per query, 1 to 5 (default 2). Each page returns up to ~20 places; Google Maps stops paginating after that, so to get more results use several narrower queries instead of raising maxPages. |
country | string | Two-letter country code for the Google Maps gl parameter: us, br, uk, ca, au, mx, in, de, fr, etc. |
language | string | Two-letter language code for the hl parameter: en, pt, es, fr, de, etc. |
maxRetries | integer | Retry attempts per request if the upstream blocks it. Default 3, max 6. |
Use cases
- Legal marketing agencies building a prospect list of law firms in a target city to pitch SEO, PPC or web design services.
- Legal lead-generation companies sourcing firm contact lists by practice area to resell or route to buyers.
- Legal SaaS and software vendors building a directory or targeting outbound sales at firms matching a size/rating profile (e.g. under 100 reviews, not yet claimed).
- Market researchers and law school career offices mapping law firm density and specialization by city or ZIP code.
- Reputation and review monitoring — pull a city's firms with rating and review count as a baseline to track over time.
How it works
- The Actor builds one or more Google Maps search queries from
searchTerm+location, or uses thequerieslist directly if supplied. - Each query is sent over plain HTTP (no Playwright/Puppeteer) and the response is parsed for place cards: name, address, phone, rating, coordinates and the Google place ID.
- For each page beyond the first, the Actor follows Google Maps' own pagination token until
maxPagesis reached or results run out. - Business attributes (service options, accessibility, payments, parking, planning, crowd) are parsed from the same response payload Google Maps itself returns for the place card, not scraped from a separate profile page.
- On a blocked or empty response, the Actor retries up to
maxRetriestimes before moving to the next query.
Input configuration — 3 examples
Mode 1 — simple niche + city search:
{"searchTerm": "personal injury lawyer","location": "Houston, TX","maxPages": 2}
Mode 2 — different country/language:
{"searchTerm": "advogado trabalhista","location": "São Paulo","country": "br","language": "pt","maxPages": 3}
Mode 3 — advanced: multiple pre-built queries to cover more ground than one query's page cap:
{"queries": ["immigration lawyer in Brooklyn","immigration lawyer in Queens","immigration lawyer in the Bronx"],"maxPages": 2,"maxRetries": 4}
Output sample
Real output from a production run (personal injury lawyer in Houston, TX), unedited:
{"rank": 1,"name": "Zehl & Associates - Houston","address": "2700 Post Oak Blvd #1000, Houston, TX 77056","phone": "+17133223878","website": "zehllaw.com","websiteLink": "https://www.zehllaw.com/?utm_source=google&utm_medium=organic&utm_campaign=gmb","rating": 5,"reviewsCount": 1373,"latitude": 29.7382319,"longitude": -95.4613039,"categories": ["Personal injury attorney", "Civil law attorney", "Insurance attorney", "Law firm", "Attorney"],"primaryCategory": "Personal injury attorney","claimed": true,"workStatus": "Open 24 hours","placeId": "ChIJfyB5O2zBQIYRQMxSGACxRTg","mapsUrl": "https://www.google.com//maps/place/data=!3m1!4b1!4m2!3m1!1s0x8640c16c3b79207f:0x3845b1001852cc40","attributes": {"Service options": ["Online appointments", "Onsite services", "Language assistance"],"Accessibility": ["Wheelchair accessible entrance", "Wheelchair accessible parking lot", "Wheelchair accessible restroom", "Wheelchair accessible seating"],"Planning": ["Appointment required", "Appointments recommended"]},"query": "personal injury lawyer in Houston, TX","niche": "lawyer"}
{"rank": 2,"name": "Terry Bryant Accident & Injury Law","address": "8584 Katy Fwy #100, Houston, TX 77024","phone": "+19362746917","website": "terrybryant.com","rating": 4.7,"reviewsCount": 490,"claimed": true,"workStatus": "Open 24 hours","categories": ["Personal injury attorney", "Law firm", "Attorney", "Medical lawyer", "Trial attorney"],"attributes": {"Service options": ["Online appointments", "Onsite services", "Language assistance"]}}
Key output fields
| Field | Type | Description |
|---|---|---|
rank | integer | Position in the Google Maps results for that query |
name | string | Firm or lawyer name |
address | string | Full street address |
phone | string | Phone number, E.164 format when available |
website | string | Website domain |
websiteLink | string | Full website URL, including tracking params Google adds |
rating | number | Average rating, 1 to 5 |
reviewsCount | integer | Number of Google reviews behind the rating |
latitude / longitude | number | Coordinates of the place |
categories | array of strings | All Google Business categories for the place |
primaryCategory | string | The main listed category |
claimed | boolean | Whether the business owner has claimed the listing |
workStatus | string | Current hours text, e.g. Open 24 hours, Closes 9 PM |
placeId / fid | string | Google's internal place identifiers |
mapsUrl | string | Direct Google Maps link to the place |
attributes | object | Service options, accessibility, payments, parking, planning and crowd attributes, as published on the listing |
query / niche | string | The query that produced this row, for traceability in bulk runs |
Pricing
Pay per event, no subscription: $0.005 per law firm place returned, minimum $0.05 charge per run. A 2-page query returning ~40 places costs about $0.20.
What makes this richer than the competition
Compared with the two closest listings on the Apify Store for Google Maps lawyer/attorney lead generation:
- vs. samstorm/lawyer-lead-scraper ("Lawyer & Attorney Lead Scraper — Law Firm Contacts", 9 users/30d): that Actor enriches each result with a verified email at $0.075 per lead, 15x this Actor's $0.005 per place. If you need a verified email per firm, that is the right tool; if you need a fast, cheap, structured list of firms with their full Google Business attributes to filter and prioritize before outreach, this Actor is far cheaper per record.
- vs. clura/lawyer-attorney-google-maps-lead-generator ("Lawyer & Attorney Google Maps Lead Generator", 1 user/30d): that Actor separates a cheaper "leads without enrichment" tier from a paid enrichment tier. This Actor returns the full attributes block (service options, accessibility, payments, parking, planning, crowd) on every result at a single flat price, with no enrichment upsell.
Notes & limitations
- No email address. Google Maps does not expose business email addresses; this Actor does not invent or guess one. Pair it with an email-finder Actor on the
websitefield if you need outreach-ready contacts. - ~20 places per page cap. Google Maps stops paginating a single query after a handful of pages. For a city with hundreds of firms, use several narrower
queries(per ZIP or neighborhood) rather than a highmaxPages. - Data reflects what Google Maps has indexed for that listing; a firm that opened very recently, or that never set up a Google Business Profile, will not appear.
ratingandreviewsCountare a snapshot at scrape time and will drift as new reviews come in.
FAQ
Does this need a Google Maps API key? No. It reads the same public Google Maps search results a browser would show, over plain HTTP.
Can I target a specific practice area?
Yes, put the niche in searchTerm, e.g. immigration lawyer, criminal defense lawyer, family lawyer.
Does it return email addresses? No, Google Maps does not publish business email. See Notes & limitations above.
How do I get more than ~20-40 results for one city?
Use the advanced queries array with several narrower searches (by ZIP code or neighborhood) instead of a single broad query.
Does it work outside the US?
Yes, set country and language to the target market, e.g. country: "br", language: "pt" for Brazil.
Will I be charged for a city with zero law firms matching my niche? No, you are only charged per place actually returned, with a $0.05 minimum per run.
For AI Agents & LLM Apps
This Actor is Apify MCP-compatible and can be called directly from an LLM agent:
- Via Apify MCP (
mcp.apify.com): addgio21/lawyer-scraperas a tool and call it with{"searchTerm": "personal injury lawyer", "location": "Houston, TX"}. - Via API:
curl -X POST "https://api.apify.com/v2/acts/gio21~lawyer-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"searchTerm": "personal injury lawyer", "location": "Houston, TX", "maxPages": 2}'
Disclaimer
This Actor reads publicly available Google Maps search results. It is not affiliated with, endorsed by, or sponsored by Google LLC. "Google" and "Google Maps" are trademarks of Google LLC. All trademarks mentioned are the property of their respective owners.
SEO Keywords
lawyer scraper, attorney leads, law firm scraper, google maps lawyer scraper, legal lead generation, law firm directory scraper