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+).

bash
export GMF_API_KEY=gmf_your_key_here

Get a key in Account → API key after signing in on a Growth+ plan.

Python

google-maps-scraper-sdk

PyPI
bash
pip install google-maps-scraper-sdk
gmaps-scraper me
gmaps-scraper scrape "dentists in Austin TX" --out leads.json
# or: python -m gmaps_scraper me
python
from 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
bash
npm install @gmapsleadfinder/google-maps-scraper
npx gmaps-scraper me
npx gmaps-scraper scrape "dentists in Austin TX" --out leads.json
ts
import { 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

pkg.go.dev
bash
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.json
go
import 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

crates.io
bash
cargo add google-maps-scraper-sdk
# CLI: cargo install google-maps-scraper-sdk --bin gmaps-scraper
rust
use 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

Packagist
bash
composer require gmapsleadfinder/google-maps-scraper
vendor/bin/gmaps-scraper me
vendor/bin/gmaps-scraper scrape "dentists in Austin TX" --out leads.json
php
use 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

RubyGems
bash
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.json
ruby
require "gmaps_scraper"

client = GmapsScraper::Client.new # reads GMF_API_KEY
rows = client.scrape("dentists in Austin TX")
puts rows.length

.NET

GmapsLeadFinder.GoogleMapsScraper

NuGet
bash
dotnet add package GmapsLeadFinder.GoogleMapsScraper
dotnet tool install -g GmapsLeadFinder.GoogleMapsScraper.Cli
gmaps-scraper me
gmaps-scraper scrape "dentists in Austin TX" --out leads.json
csharp
using 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