Google Maps · google-maps-places

Google Maps scraper API: places & phones

Find local businesses on Google Maps by keyword and location: name, address, phone, website, rating, review count, opening hours, coordinates.
Google MapsWeblovelyjsoninput"searchTerms": ["coffee shop"]"location": "Austin, Texas, USA""maxResults": 10"language": "en"
Price
$0.000238 / place + $0.00075 / call
Results per run
10 default · up to 200
Billing
Only results delivered are billed. Failed runs pay no call fee.

Hand it to your AI agent

Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.

Use the Lovely Router data tool "Search Google Maps places" (id `google-maps-places`, Google Maps) to get data for me. It returns JSON.

- Docs (read first): https://lovelyrouter.com/docs/tools/run.md and https://lovelyrouter.com/docs/api/tools.md
- Input fields and price: GET https://lovelyrouter.com/v1/tools/google-maps-places (public, no key needed). Price: $0.000238 / place + $0.00075 / call.
- Run: POST https://lovelyrouter.com/v1/tools/google-maps-places/run with a body like `{"input":{"searchTerms":["coffee shop"],"location":"Austin, Texas, USA","maxResults":10,"language":"en"},"max_results":10}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up (up to 200 per run).
- If you support MCP, you can instead connect the server https://lovelyrouter.com/mcp (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool with tool "google-maps-places".
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.

My task: <describe the data you need, e.g. which places, profiles, keywords or URLs, and the output format>

Input

searchTermsstring[]

Optional. Multiple search terms to run and merge into one deduplicated result set (e.g. ['restaurants', 'cafe', 'fast food', 'food']). Each term surfaces different places, so this greatly increases coverage for broad categories. When provided, it replaces the single Search Query. Max Results covers all terms together.

locationstring

City, address or area; the search covers about `radius` km around it.

radiusnumber

Kilometres around the location (default 20).

maxResultsinteger

Upper limit on search results. Fewer valid places can be available. Set to 0 for no limit. A nearby search returns about 60 places at most for each search term. Place ID lookups return one place for each ID, and company lookups use Max Results Per Company.

languagestring

Language code for results (e.g. 'en', 'ja', 'de', 'fr', 'es', 'zh'). Affects place names, descriptions, and reviews.

minRatingnumber

Only return places with at least this average rating. Allowed values: 2.0, 2.5, 3.0, 3.5, 4.0, 4.5.

openNowboolean

Only return places that are currently open.

Try it

Costs at most $0.00313
Sign up to run
curl https://lovelyrouter.com/v1/tools/google-maps-places/run \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "content-type: application/json" \
  -d '{"input":{"searchTerms":["coffee shop"],"location":"Austin, Texas, USA","maxResults":10,"language":"en"},"max_results":10}'
# MCP (agents): suggest_tools → get_tool → run_tool
run_tool({
  "tool": "google-maps-places",
  "input": {"searchTerms":["coffee shop"],"location":"Austin, Texas, USA","maxResults":10,"language":"en"},
  "max_results": 10
})

What it costs

ResultsRuns (at 200 per run)Cost
1001$0.025
1,0005$0.242
10,00050$2.42

Prepaid, no subscription. Fewer results than requested cost less. Pricing

Used for

Frequently asked questions

How much does the Search Google Maps places API cost?

$0.000238 / place + $0.00075 / call. 1,000 results, fetched in runs of up to 200, cost $0.242. There is no subscription: you pay from a prepaid balance.

Is this a Google Maps scraper?

Yes. If you searched for a Google Maps scraper, a Google Maps data extractor or a Google Maps business scraper, this is it: Find local businesses on Google Maps by keyword and location: name, address, phone, website, rating, review count, opening hours, coordinates.

How many results does one run return?

10 by default and up to 200 per run. Set max_results to cap a run: you are billed only for the results it delivers.

Do I need a Google Maps account or API key?

No. You call the tool with your Lovely Router API key and get JSON back. There is nothing to set up on Google Maps.

Can an AI agent use this tool?

Yes. Connect Claude Code, Cursor or any MCP client to the Lovely Router MCP server: the agent finds the tool with suggest_tools and runs it with run_tool and the id google-maps-places.

What happens if a run fails?

A run that fails or is stopped pays only for the results it delivered, with no call fee. The most a run can cost is held when it starts and the rest is released when it settles.

Related tools