Guides
Client SDKs
Official open-source clients for the Agent HTTP API. Set GMF_API_KEY, install a package, and call scrape—or use Remote MCP when your AI client supports it. Agent-capable Online (cloud) plans only (Growth+).
export GMF_API_KEY=gmf_your_key_hereGet a key in Account → API key after signing in on a Growth+ plan.
Python
google-maps-scraper-sdk
pip install google-maps-scraper-sdk
gmaps-scraper me
gmaps-scraper scrape "dentists in Austin TX" --out leads.json
# or: python -m gmaps_scraper mefrom gmaps_scraper import Client
client = Client() # reads GMF_API_KEY
rows = client.scrape("dentists in Austin TX")
print(len(rows), rows[0] if rows else None)TypeScript / Node
@gmapsleadfinder/google-maps-scraper
npm install @gmapsleadfinder/google-maps-scraper
npx gmaps-scraper me
npx gmaps-scraper scrape "dentists in Austin TX" --out leads.jsonimport { Client } from "@gmapsleadfinder/google-maps-scraper";
const client = new Client(); // reads GMF_API_KEY
const rows = await client.scrape("dentists in Austin TX");
console.log(rows.length, rows[0]);Go
github.com/google-maps-lead-scraper/google-maps-scraper/go
go get github.com/google-maps-lead-scraper/google-maps-scraper/go@v0.1.1
# CLI from the repo: cd go && go run ./cli scrape "dentists in Austin TX" --out leads.jsonimport gmaps "github.com/google-maps-lead-scraper/google-maps-scraper/go"
client, _ := gmaps.NewClient(nil) // reads GMF_API_KEY
rows, _ := client.Scrape("dentists in Austin TX", nil)
fmt.Println(len(rows), rows[0])Rust
google-maps-scraper-sdk
cargo add google-maps-scraper-sdk
# CLI: cargo install google-maps-scraper-sdk --bin gmaps-scraperuse google_maps_scraper_sdk::{Client, ClientOptions};
let client = Client::new(ClientOptions::default())?; // reads GMF_API_KEY
let rows = client.scrape("dentists in Austin TX", Default::default())?;
println!("{} {:?}", rows.len(), rows.first());PHP
gmapsleadfinder/google-maps-scraper
composer require gmapsleadfinder/google-maps-scraper
vendor/bin/gmaps-scraper me
vendor/bin/gmaps-scraper scrape "dentists in Austin TX" --out leads.jsonuse GmapsLeadFinder\GoogleMapsScraper\Client;
$client = new Client(); // reads GMF_API_KEY
$rows = $client->scrape("dentists in Austin TX");
echo count($rows), "\n";Source lives in a separate repo: github.com/google-maps-lead-scraper/google-maps-scraper-php
Ruby
google-maps-scraper-sdk
gem install google-maps-scraper-sdk
# or: bundle add google-maps-scraper-sdk
gmaps-scraper me
gmaps-scraper scrape "dentists in Austin TX" --out leads.jsonrequire "gmaps_scraper"
client = GmapsScraper::Client.new # reads GMF_API_KEY
rows = client.scrape("dentists in Austin TX")
puts rows.length.NET
GmapsLeadFinder.GoogleMapsScraper
dotnet add package GmapsLeadFinder.GoogleMapsScraper
dotnet tool install -g GmapsLeadFinder.GoogleMapsScraper.Cli
gmaps-scraper me
gmaps-scraper scrape "dentists in Austin TX" --out leads.jsonusing GmapsLeadFinder.GoogleMapsScraper;
using var client = new Client(); // reads GMF_API_KEY
var rows = await client.ScrapeAsync("dentists in Austin TX");
Console.WriteLine(rows.Count);Python, npm, Rust, PHP, Ruby, and .NET CLIs may all be named gmaps-scraper. Prefer npx / python -m / vendor/bin / bundle exec / dotnet tool when more than one is installed.
Related
HTTP API reference
Raw Bearer auth, job lifecycle, pagination, and status codes.
Agent & MCP
Prefer Remote MCP in Claude, Cursor, or Codex when the client supports it.
Account API key
Copy or regenerate your gmf_… key after sign-in.
GitHub client kit
Source, examples, OpenAPI snapshot, and publishing notes.