Sourcelane

Google Places Scraper

Google Maps

Operated by Sourcelane✓ verified

Search Google Maps for businesses and places by text query or by coordinates and export structured place data, ratings, contact info, and reviews to a results.

Read full description

A scraper for Google Maps/Places that finds businesses and points of interest by free-text query or by geographic coordinates and radius, and returns full structured place records: unique place identifier, name, formatted address, latitude/longitude, place categories and primary category, average rating and rating count, price level, website URL, international and national phone numbers, business operational status, human-readable opening hours, canonical Google Maps link, icon metadata, and optional reviews (up to five per place with author, rating, text, and timestamps). Supports two search modes (free-text with optional location bias, or nearby by coordinates+radius with selectable place types), localized results by language and region, automatic pagination with a resumable cursor for continuing large text-search runs, and deterministic nearby-radius queries.

Verified Sep 28, 3:55 AM

$0.01

per place

Up to 100 per call. Only pay for results returned; failed calls are refunded.

What people use it for

You give it

  • Text query

    Free-text query, e.g.

  • Included place types (Nearby only)

    Restrict nearby results to these place types (e.g.

Optional settings

Search modeLatitudeLongitudeRadius (meters)Language codeRegion codeMax itemsInclude reviewsPage ID

You get back

Text & content
Weekday descriptions
People & accounts
Display nameInternational phone numberNational phone number
Numbers & stats
RatingUser rating countPrice levelReviews
Location
Formatted addressLatitudeLongitude
Other details
Place IDTypesPrimary typeWebsite uriBusiness statusGoogle maps uriIcon mask base uriIcon background color

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"google-places-scraper","params":{"textQuery":"coffee shops in Brooklyn","maxItems":5},"maxResults":10}'

Request params

FieldTypeRequiredDescription
searchModestringoptionalText searches accept a free-text query like 'coffee shops in Brooklyn'. Nearby searches require a latitude/longitude center and a radius in meters.
textQuerystringoptionalFree-text query, e.g. 'best ramen in Brooklyn' or 'dentist near Times Square'. Used when search mode is Text.
latitudenumberoptionalCenter latitude (-90 to 90). Used in Nearby mode; optional as a bias in Text mode.
longitudenumberoptionalCenter longitude (-180 to 180). Used in Nearby mode; optional as a bias in Text mode.
radiusintegeroptionalSearch radius around the center in meters. Used in Nearby mode (max 50000).
includedTypesarrayoptionalRestrict nearby results to these place types (e.g. restaurant, cafe, gym). See Google's place-type table. Leave empty for any type.
languageCodestringoptionalBCP-47 language code for localized results (e.g. en, es, fr).
regionCodestringoptionalTwo-letter region/country code to bias results (e.g. us, gb, de).
maxItemsintegeroptionalMaximum number of places. Text search auto-paginates in batches of 20 (up to 60 total). Nearby returns at most 20. Capped at 100 per call.
includeReviewsbooleanoptionalInclude up to 5 reviews per place (author, rating, text, publish time).
pageIdstringoptionalPaste NEXT_PAGE_ID from the previous run's Key-value store to resume Text-search pagination.

Each result contains

FieldTypeDescription
placeIdstringPlace Id
displayNamestringDisplay Name
formattedAddressstringFormatted Address
latitudenumberLatitude
longitudenumberLongitude
typesarrayTypes
primaryTypestringPrimary Type
ratingnumberRating
userRatingCountintegerUser Rating Count
priceLevelstringPrice Level
websiteUristringWebsite Uri
internationalPhoneNumberstringInternational Phone Number
nationalPhoneNumberstring—
businessStatusstring—
weekdayDescriptionsarray—
googleMapsUristring—
iconMaskBaseUristring—
iconBackgroundColorstring—
reviewsarray—

Use Google Places Scraper from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “List 40 dentists in Austin TX with phone, website and rating above 4.5.”

Connect Claude

Web, desktop and mobile. One click, then confirm.

  1. 1Click Add to Claude — claude.ai opens with Sourcelane filled in
  2. 2Click Continue to confirm — it then works in Claude desktop and mobile too
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"google-places-scraper","params":{"textQuery":"coffee shops in Brooklyn","maxItems":5},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "google-places-scraper",
        "params": {"textQuery":"coffee shops in Brooklyn","maxItems":5},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…

Related Google Maps connectors

See all Google Maps data connectors →