---
name: looot-google-serp
description: Read a Google results page. Use when the user says things like "what ranks on Google for best crm for startups", "show me the top 10 results for this keyword" or "who is in the local pack for plumber in Austin". Runs through looot, billed per call.
---

# Read a Google results page

Google SERP API for an agent: it sends a keyword, a country and a language to a catalog endpoint and reads organic results, titles and links back. Several providers sell the call, so the agent tries the cheapest first. You pay per call, and a failed call costs nothing.

This skill needs the looot skill set up first: https://looot.ai/skill.md

## Ask for these inputs

The job takes a keyword, a country and a language. Example: best crm for startups.

- The keyword
- The country and language

## Run it

1. Find the endpoint: `looot discover --mode auto --query "google serp"`. The endpoints listed below are the known matches.
2. Read the price and the input schema before spending: `looot inspect <endpoint-id>`. Tell the user the price, then run.
3. Run it: `looot run anyapi-run-google-search --input '{"query":"best crm for startups","gl":"us","hl":"en"}' --idempotency-key <new-key> --wait`. Reuse the same key only to retry the same request.
4. Read the run's `status` and `error`, not the HTTP status. A run can return `failed` with a normal response.
5. If a run fails with a provider error or times out, try the next endpoint from the list below, cheapest first. If it fails on your input (a 4xx style error), fix the input. Do not retry it on other providers.

## Endpoints

Each endpoint reads the same job from a different provider. They differ in inputs, fields and price. Run `looot inspect` on the ones that take the input you hold, start with the cheapest, and move to the next on a provider error.

- `anyapi-run-google-search`: returns about 10 organic results per call as clean JSON with title, link, snippet and position, at a flat price per request
- `scrapecreators-google-search`: returns organic results with URL, title and description, with a region code and pages 1 through 11
- `dataforseo-google-organic-advanced`: returns the full result page with snippets, featured blocks and ads, for a keyword, a location and a language
- `cloro-monitor-google`: parses organic results with sitelinks, People Also Ask, related searches, the local pack, the knowledge graph, shopping cards and sponsored ads

## What comes back

- Organic results
- Titles, links and snippets
- Position
- People Also Ask
- Local pack and ads

## Answer rule

List position, title, domain and snippet for each result. Note ads, People Also Ask and the local pack when they appear.

## Before you start

- Set the country and language. Results are local, and a query without them returns a version nobody in your market sees.
- Know the page size. A call returns about ten organic results, and you walk further with a page number. One provider supports pages 1 through 11 and rejects page 12 and above.
- Keep the date. A SERP is a snapshot, so store the time next to the result if you plan to compare it later.

## Cost rules

- Searching and inspecting are free. Running is billed per call at the price `looot inspect` shows.
- Say the price before the first run, and the total after a batch.
- Never loop a failing call. Stop after two failures and report what failed.

## When not to use this skill

Use `looot-ai-search-visibility` instead when you want what an AI answer engine says, not the blue links.

Page for people: https://looot.ai/agent-skills/google-serp
