OrbTop

Healthcare Provider Lead Scraper

LEAD GENERATIONSEO TOOLS

Healthcare Provider Lead Scraper

Scrape dentist, doctor, clinic, and orthodontist leads from Google Maps. Returns name, address, phone, rating, reviews count, coordinates, and category for each provider.

What it does

Given a search query (e.g. "dentist", "orthodontist", "urgent care") and a location (e.g. "New York, NY"), the actor:

  1. Opens Google Maps and searches for providers matching the query near the location
  2. Scrolls the results panel to load up to maxItems listings
  3. Extracts structured data from each result card
  4. Returns one record per provider

Google Maps is a fully client-rendered SPA — a real browser (Playwright + Chromium) with residential proxy is required to receive the hydrated search results.

Input

Field Type Required Description
searchQuery string Yes Type of provider to search for (e.g. "dentist", "orthodontist", "pediatric dentist")
location string Yes City and state or ZIP code (e.g. "New York, NY", "90210")
maxItems integer Yes Maximum number of results to return (default: 10)

Example input

{
  "searchQuery": "dentist",
  "location": "New York, NY",
  "maxItems": 20
}

Output

Each result is one dataset record:

Field Type Description
place_id string Google Maps internal place CID (hex format)
name string Business name
address string Street address (parsed from listing card)
city string City (not available from listing cards; enriched in future version)
state string State (not available from listing cards; enriched in future version)
postal_code string ZIP/postal code (not available from listing cards)
country string Country code (default: "US")
phone string Phone number (when shown in listing card)
website string Website URL (not available from listing cards; planned for v0.2)
rating number Average star rating (e.g. 4.9)
reviews_count integer Total number of reviews
category string Business category (e.g. "Dentist", "Orthodontist")
latitude number Latitude from Google Maps URL
longitude number Longitude from Google Maps URL
maps_url string Direct Google Maps place URL
search_query string The searchQuery input that produced this result
search_location string The location input that produced this result
scraped_at string ISO 8601 timestamp of when the record was scraped

Example output record

{
  "place_id": "0x89c2598b826e5555:0x6d6e8f617e6f7d54",
  "name": "Park Slope Dental Associates",
  "address": "209 E 56th St 1st floor",
  "city": "",
  "state": "",
  "postal_code": "",
  "country": "US",
  "phone": "(212) 555-0100",
  "website": "",
  "rating": 4.9,
  "reviews_count": 312,
  "category": "Dentist",
  "latitude": 40.7589,
  "longitude": -73.9728,
  "maps_url": "https://www.google.com/maps/place/Park+Slope+Dental+Associates/...",
  "search_query": "dentist",
  "search_location": "New York, NY",
  "scraped_at": "2026-06-05T02:30:00.000Z"
}

Notes

  • Residential proxy is required. Google Maps blocks datacenter IPs. Proxy cost is included in the actor's price.
  • Google Maps shows up to ~20 organic results per search query. For broader coverage, run multiple searches with specific neighborhoods or ZIP codes.
  • Phone and website are not consistently shown in listing cards. Phone is extracted when present; website enrichment is planned for a future version.
  • Coordinates (latitude, longitude) are extracted from the Maps place URL — no additional API calls required.
  • maxItems caps results at the Google Maps listing limit (~20). Set lower to reduce run time and cost.