ScraperCity logo

Google Maps Scraper API Documentation

Google Maps Scraper

Extract business listings from Google Maps with contact details and reviews

$0.01 per businessPOST /api/v1/scrape/maps

Parameters

NameTypeRequiredDescription
searchStringsArraystring[]OptionalArray of search terms to find businessesExample: ["coffee shop", "cafe", "espresso bar"]
locationQuerystringOptionalCity, state, or address for the search areaExample: New York, NY
customGeolocationobjectOptionalAlternative to locationQuery - bounding box coordinatesExample: {"lat1": 40.7, "lng1": -74.0, "lat2": 40.8, "lng2": -73.9}
maxCrawledPlacesPerSearchnumberOptionalMaximum results per search termDefault: 100Example: 10

Examples

Find coffee shops in San Francisco

curl -X POST https://app.scrapercity.com/api/v1/scrape/maps \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "searchStringsArray": ["coffee shop", "cafe", "espresso bar"],
    "locationQuery": "San Francisco, CA",
    "maxCrawledPlacesPerSearch": 50
  }'

Search restaurants in Manhattan

curl -X POST https://app.scrapercity.com/api/v1/scrape/maps \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "searchStringsArray": ["pizza", "italian restaurant", "pasta"],
    "locationQuery": "Manhattan, NY",
    "maxCrawledPlacesPerSearch": 10
  }'

Use Cases

  • Build local business prospect lists for B2B sales
  • Market research and competitive analysis by location
  • Lead generation for local service providers
  • Franchise opportunity research and site selection
  • Create targeted direct mail campaigns

Best Practices

  • REQUIRED: At least one of searchStringsArray or startUrls must be provided
  • searchStringsArray expects an array of search terms
  • Use locationQuery OR customGeolocation (not both) to define search area
  • maxCrawledPlacesPerSearch applies per search term
  • Results include name, address, phone, website, rating
  • Includes business hours and review count
  • Can be cancelled while running

Every scrape returns a runId. Poll GET /api/v1/scrape/status/{runId} until it completes, then download via GET /api/downloads/{runId}?format=csv.

Authenticate every request with Authorization: Bearer YOUR_API_KEY. See the full API reference for authentication, rate limits and error codes.