Signup comes with $1 in credit. No subscription needed.Claim your $1

Tools / Google Maps / API

Scrape Google Maps from a Python script with requests

Skip Selenium and Playwright. From Python, one requests.post to https://api.routergrowth.com/v1/run with capability local.places, a query and a City,State,Country location returns the Google Maps listings as JSON: name, category, address, website, rating, review count and place ID, ready for pandas.

Real run: 20 records $0.0035 per search local.places MCP · REST · CLI

Ask your agent

Write a Python script that scrapes bike shops in Portland, Seattle and Vancouver from Google Maps and saves a CSV.

Connect RouterGrowth once, then ask in plain words. New workspaces start with $1 of credit. Get a key or read the setup guide.

A real run

What does it return?

One call to local.places (google maps places), run through RouterGrowth on October 19, 2026. These are the first rows it returned; fields that name a person are masked.

20records returned
4.1 sto answer
$0.0035charged for the run
namecategoryaddressratingreviews_count
River City BicyclesBicycle Shop706 SE Martin Luther King Jr Blvd, Portland, OR 972144.7591
Cyclepath PDXBicycle Shop2436 NE Martin Luther King Jr Blvd, Portland, OR 972124.9216
Splendid CyclesElectric bicycle store407 SE Ivon St, Portland, OR 972024.9110

Bike shops in Portland, Oregon: 20 listings came back, shops mixed with rentals and bike share stations that the script can filter on category.

Step by step

How do you do it?

  1. Store the key

    Put ROUTERGROWTH_API_KEY in the environment and send it as Authorization: Bearer.

  2. Send the search

    requests.post to /v1/run with capability local.places and input query, location and limit. Add routing.max_cost as a ceiling.

  3. Build a DataFrame

    pandas.DataFrame(response.json()['result']['places']) gives one row per listing with every field as a column.

  4. Loop the cities

    Run the same query for each city in a list and drop duplicates on place_id.

Price

What does it cost?

List prices on this call, read from the catalog when this page was built. The exact figure is quoted before every run, and a monthly plan lowers it.

$0.0035per search
No seatand no monthly plan needed
$0when the call finds nothing

In practice

What do you ask it?

You describe the job; the agent picks the calls, shows the price and runs them.

Write a Python script that scrapes bike shops in Portland, Seattle and Vancouver from Google Maps and saves a CSV.

Extend it: for each shop with a website, look up a work email for the owner from the domain.

Connect

How do you connect it?

One MCP server for Claude, ChatGPT, Claude Code, Codex and Cursor, or the same call over the CLI and REST with the input above.

MCP server
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
CLI
npm install -g routergrowth && routergrowth setup
routergrowth run -c local.places -i '{"query": "bike shop", "location": "Portland,Oregon,United States", "limit": 10}'
REST
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "local.places", "input": {"query": "bike shop", "location": "Portland,Oregon,United States", "limit": 10}}'

Worth knowing

What should you know first?

No browser to drive

There is no headless Chrome, no scrolling the results panel and no selectors that break.

Filter on category

The search returns related places too: in this run bike share stations and a city office. Keep the categories you want.

Same fields every time

The place object keeps the same keys whichever provider answered, so the script does not branch.

FAQ

Questions about google maps scraper python

Do I need Selenium or a proxy?

No. The HTTP call returns the listings; the fetching runs on RouterGrowth's providers.

Is there a Python package?

Not required. requests or httpx is enough, and the CLI covers shell scripts.

How do I get more than one page?

Run more specific searches (neighbourhoods, nearby cities) and merge on place_id.

Can I get the reviews from Python too?

Yes. Post reviews.search with the place_id from each listing.

More on Google Maps

Related pages

Reading this as an agent? This page as markdown: /tools/google-maps/scraper-python.md

One key. Every network.

Connect your agent once. The first calls run on the $1 that comes with signup.