Tools / Google Search / API
From Python, POST to the RouterGrowth run endpoint with a Bearer key, capability seo.serp and an input of keyword and location. The response holds the results list, the SERP features and whether an AI Overview showed, ready to load into pandas. No SERP vendor SDK or second account is needed.
Ask your agent
Write a Python script that checks Google in San Francisco for these 20 keywords and saves the top ten of each to 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
One call to seo.serp (live serp results), run through RouterGrowth on October 19, 2026. These are the first rows it returned; fields that name a person are masked.
| position | domain | title |
|---|---|---|
| 3 | www.scrapingdog.com | Web Scraping with Python: Complete Tutorial ... |
| 4 | www.geeksforgeeks.org | Implementing Web Scraping in Python with BeautifulSoup |
| 6 | medium.com | A (Really) Gentle Introduction to Web Scraping in Python |
Google in San Francisco for python web scraping tutorial: nine results, three of them YouTube videos, with tutorial blogs and a course page between them.
Step by step
requests or httpx is enough. Keep the key in an environment variable.
Send capability seo.serp with input keyword, location and optional engine and language to /v1/run.
result.results is a list of dicts with position, title, url, domain and snippet.
Iterate over a keyword list, write rows to CSV or a DataFrame, and keep run_id for audit.
Price
List prices on Google, read from the catalog when this page was built. The exact figure is quoted before every run, and a monthly plan lowers it.
In practice
You describe the job; the agent picks the calls, shows the price and runs them.
Write a Python script that checks Google in San Francisco for these 20 keywords and saves the top ten of each to CSV.
In Python, get keyword volumes for a seed list, then fetch the live results for the five biggest.
Connect
One MCP server for Claude, ChatGPT, Claude Code, Codex and Cursor, or the same call over the CLI and REST with the input above.
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
npm install -g routergrowth && routergrowth setup
routergrowth run -c seo.serp -i '{"keyword": "python web scraping tutorial", "location": "San Francisco,California,United States"}'curl -X POST https://api.routergrowth.com/v1/run \
-H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
-d '{"capability": "seo.serp", "input": {"keyword": "python web scraping tutorial", "location": "San Francisco,California,United States"}}'Worth knowing
A search usually returns in a few seconds, so a simple blocking call works in a loop.
Position counts the whole page, so a video or block can take a slot between organic results.
Change the capability and input to call keywords, backlinks or social data with the same function.
FAQ
None is required. The API is JSON over HTTPS; the routergrowth CLI is there for shell use.
Add engine bing to the input.
Yes. Send requests concurrently; each is billed as its own search.
The response says why and nothing is charged. Retry or skip that keyword.
More on Google Search
Reading this as an agent? This page as markdown: /tools/google-search/serp-api-python.md
Connect your agent once. The first calls run on the $1 that comes with signup.