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" (id `google-search`, Google) 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-search (public, no key needed). Price: $0.00125 / page.
- Run: POST https://lovelyrouter.com/v1/tools/google-search/run with a body like `{"input":{"keyword":"best espresso grinder","limit":"10","country":"US"},"max_results":1}`. 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 10 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-search".
- 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
keywordstringrequiredThe search, as typed into Google (operators work). One search per line.
limitstringResults per search: 10 per page; every page is one billed result (also cap the run with max_results).
10 · 20 · 30 · 40 · 50 · 100 · all
countrystringAuto-sets 'gl' and 'proxy_location'. ISO 3166 A-2 code.
AF · AL · DZ · AS · AD · AO · AI · AQ · AG · AR · AM · AW
hlstringUI language code. e.g., en, fr, de
af · ar · hy · be · bg · ca · zh-CN · zh-TW · hr · cs · da · nl
tbsstringTime filters like qdr:d (past day), qdr:w (week), or custom range. Format: cdr:1,cd_min:01/01/2024,cd_max:01/31/2024
Try it
Call it from code
How runs, polling and billing work →curl https://lovelyrouter.com/v1/tools/google-search/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{"input":{"keyword":"best espresso grinder","limit":"10","country":"US"},"max_results":1}'# MCP (agents): suggest_tools → get_tool → run_tool
run_tool({
"tool": "google-search",
"input": {"keyword":"best espresso grinder","limit":"10","country":"US"},
"max_results": 1
})What it costs
| Results | Runs (at 10 per run) | Cost |
|---|---|---|
| 100 | 10 | $0.125 |
| 1,000 | 100 | $1.25 |
| 10,000 | 1,000 | $12.50 |
Prepaid, no subscription. Fewer results than requested cost less. Pricing
Used for
Frequently asked questions
How much does the Search Google API cost?
$0.00125 / page. 1,000 results, fetched in runs of up to 10, cost $1.25. There is no subscription: you pay from a prepaid balance.
Is this a SERP API?
Yes. If you searched for a SERP API, a Google SERP scraper or a Google search results API, this is it: Google results pages for a query: organic results (position, title, URL, snippet, date, sitelinks) and related searches. One result = one results page (~10 links).
How many results does one run return?
1 by default and up to 10 per run. Set max_results to cap a run: you are billed only for the results it delivers.
Do I need a Google 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.
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-search.
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.