Agent skill

Google Search Serp

by browser-act in browser-act/skills

Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com.

MITAuto-check passedMarketing & SEO

Install Google Search Serp

skills CLI
$ npx skills add browser-act/skills --skill google-search-serp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install browser-act/skills google-search-serp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/browser-act/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/solutions/search-research/google-search-serp .claude/skills/google-search-serp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
google-search-serp
GitHub stars
6.1k
Token cost
~2k tokens
SKILL.md length
795 words
Files
2 (incl. scripts)
Skills in repo
87
Repo updated
First seen
Licence
MIT

At a glance

Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com.

  • Works in 3 steps: navigate… → wait stable → eval "$(python scripts/serp-extract.py)"
  • User mentions Google search results
  • SKILL.md covers Language, Objective, Prerequisites and Pre-execution Checks, plus 6 more sections
  • Runs Python scripts from its folder; calls python; reaches google.com and en.wikipedia.org

What it does

Google Search Serp is an agent skill from browser-act/skills. Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com. Use when user mentions Google search results, SERP scraping, google search data, search engine results page, organic rankings, keyword SERP, Google SERP extraction, scrape Google search, Google search API alternative, SEO ranking data, paid search ads, PPC ads on Google, Google search monitoring, keyword research, search results…

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/serp-extract.py`).

It sits in Marketing & SEO, covering Web search, Web scraping and Paid advertising. It works with Python. The repository describes itself as: Browser automation CLI built for AI agents. Break through anti-bot walls, hand off to humans across platforms when stuck. Parallel multi-task execution, independent multi-session… The licence is MIT.

When your agent uses it

  • User mentions Google search results
  • Google search data
  • Search engine results page
  • Organic rankings

Example prompts

  • “Use the google-search-serp skill to extract Google Search results page (SERP) data including organic results, paid ads, related searches, People…”
  • “/google-search-serp”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. navigate https://www.google.com/search?q={query}&num={num}&hl={lang}&gl={country}&start={start}
  2. wait stable
  3. eval "$(python scripts/serp-extract.py)"

What it can do on your machine

Read from SKILL.md and the folder at commit 11c057b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • google.com
    • en.wikipedia.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Google Search Serp loads about 2k tokens when it runs. Until then it costs about 160 tokens; SKILL.md has 795 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~160
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from browser-act/skills at commit 11c057b, republished under its MIT licence (© browser-act). 795 words, ~2,028 tokens.

Download SKILL.mdSave it as .claude/skills/google-search-serp/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
google-search-serp
description
Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com. Use when user mentions Google search results, SERP scraping, google search data, search engine results page, organic rankings, keyword SERP, Google SERP extraction, scrape Google search, Google search API alternative, SEO ranking data, paid search ads, PPC ads on Google, Google search monitoring, keyword research, search results export, check Google rankings, what shows up on Google, search engine scraper, google results checker.

Google — Search SERP Extraction

Search keyword + parameters → structured SERP data (organic results, ads, related queries, PAA, AI Overview)

Language

All process output to user (progress updates, process notifications) follows the user's language.

Objective

Extract all visible content from a Google Search results page: organic listings, paid ads, related searches, People Also Ask, AI Overview, and total result count.

Prerequisites

  • Target page is already open in the browser: https://www.google.com/search?q={query}

Pre-execution Checks

1. Tool Readiness

If browser-act has been confirmed available in the current session → skip this step.

Invoke browser-act via Skill tool to load usage. If installation or configuration issues arise, follow its guidance to resolve then retry.

Capability Components

This Skill's operational boundary = what the user can manually do in their browser. It only reads data already displayed to the user on the page, never bypassing authentication or access controls. Its role is equivalent to copy-pasting on the user's behalf — the data is already on screen, automation merely saves time. JS code is encapsulated in Python files under the scripts/ directory, invoked via eval "$(python scripts/xxx.py {params})". $(...) is bash syntax; it is recommended to use the bash tool for execution.

Below are all atomic capabilities discovered and verified during the exploration phase, listed by command template with parameters. Simply invoke them as needed — no need to read scripts/*.py source code or re-verify. Only inspect scripts when execution fails for troubleshooting. Combine freely as needed during execution.

DOM: Google Search SERP (data extraction)

Parameters are injected via URL navigation; data is extracted from the server-rendered HTML page:

  1. navigate https://www.google.com/search?q={query}&num={num}&hl={lang}&gl={country}&start={start}
  2. wait stable
  3. eval "$(python scripts/serp-extract.py)"

URL parameters:

  • q: Search query (required)
  • num: Results per page — 10 (default), 20, 50, 100
  • hl: Interface language code — e.g., en, zh-CN, fr, de (omit for browser default)
  • gl: Country targeting code — e.g., us, gb, de, cn (omit for browser default)
  • start: Pagination offset — 0 for page 1, 10 for page 2 (when num=10); formula: (page - 1) * num

Error handling: If extraction returns {"error": true, "message": "captcha required"}, the session is blocked by Google — switch to a browser with a US rotating proxy and retry. If "No search results found" is returned, run screenshot to verify the page loaded correctly before retrying.

Output example:

json
{
  "searchQuery": {
    "term": "machine learning",
    "url": "https://www.google.com/search?q=machine+learning",
    "device": "DESKTOP",
    "page": 1,
    "type": "SEARCH",
    "domain": "www.google.com",
    "countryCode": "US",
    "languageCode": "en"
  },
  "resultsTotal": "14900000000",
  "organicResults": [
    {
      "position": 1,
      "type": "organic",
      "title": "Machine learning - Wikipedia",
      "url": "https://en.wikipedia.org/wiki/Machine_learning",
      "displayedUrl": "en.wikipedia.org › wiki › Machine_learning",
      "description": "Machine learning (ML) is a field of study in artificial intelligence...",
      "emphasizedKeywords": ["machine learning", "ML"],
      "siteLinks": [
        {"title": "Supervised learning", "url": "https://en.wikipedia.org/wiki/Supervised_learning"}
      ]
    }
  ],
  "paidResults": [
    {
      "adPosition": 1,
      "type": "paid",
      "title": "Learn Machine Learning Online",
      "url": "https://example.com/ml-course",
      "displayedUrl": "example.com",
      "description": null,
      "siteLinks": []
    }
  ],
  "relatedQueries": [
    {"title": "machine learning examples", "url": "https://www.google.com/search?q=machine+learning+examples"}
  ],
  "peopleAlsoAsk": [
    {"question": "What is machine learning used for?"}
  ],
  "aiOverview": null
}

Field notes:

  • resultsTotal: total result count string (commas removed), null when stat bar is absent
  • organicResults[*].emphasizedKeywords: bold/italic terms in the description, empty array when none
  • organicResults[*].siteLinks: sub-links shown under some results, empty array when none
  • paidResults[*].description: ad description text, null when the advertiser omits it
  • aiOverview: AI Overview paragraph text joined with spaces, null when absent or unavailable

Pagination

URL Pagination: URL pattern https://www.google.com/search?q={query}&num={num}&start={(page-1)*num}. Increment start by num for each subsequent page. Termination: organicResults array is empty, or start exceeds the desired page count.

Success Criteria

organicResults.length >= 1 and searchQuery.term matches the requested keyword.

Show full SKILL.md (331 more words)Show less

Known Limitations

  • AI Overview unreliable in stealth sessions: Google rarely serves AI Overview to automated browsers. aiOverview will be null in most sessions; it only populates when Google serves it without login or cookie context.
  • Paid ad descriptions often null: Many ads omit a description block — paidResults[*].description returns null for those. This reflects the advertiser's choice, not an extraction failure.
  • Google anti-bot detection: Stealth browsers may be redirected to a CAPTCHA (/sorry/ page). Use a browser session with a US rotating proxy to reduce blocks. Solve any CAPTCHA manually via remote-assist if needed.
  • Related queries load asynchronously: relatedQueries requires wait stable after navigation; results may be empty if the page has not fully settled.

Execution Efficiency

  • Batch orchestration: Write a bash script to loop through keywords serially within one browser session; add a 2–5 second delay between requests to avoid triggering rate limits.
  • Test before batch execution: After writing a batch script, test with 1–2 keywords first to verify it runs correctly; only then run the full batch.
  • Reduce redundant pre-operations: Reuse the same browser session across multiple keywords — navigate directly to each search URL without returning to the homepage.
  • Error resumption: Save results keyword by keyword; on CAPTCHA or failure, resume from the breakpoint rather than starting over.
  • Multi-session parallelism: To increase throughput, open multiple stealth browser sessions (each with its own proxy fingerprint) and distribute keywords across them.

Experience Notes

Path: {working-directory}/browser-act-skill-forge-memories/google-search-scraper-google-search-serp.memory.md (working directory is determined by the Agent running the Skill, typically the project root or current working directory)

Before execution: If the file exists, read it first — it records unexpected situations encountered during past executions (e.g., a strategy has become ineffective); adjust strategy order accordingly.

After execution: If an unexpected situation is encountered (strategy became ineffective, page redesigned, anti-scraping upgraded, better path discovered), append a line: {YYYY-MM-DD}: {what happened} → {conclusion}

Normal execution does not write to the file. Do not record what keywords were used or how many results were returned — those are task outputs, not experience.

© browser-act, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in solutions/search-research/google-search-serp of browser-act/skills.

  • SKILL.md
  • scripts/serp-extract.py

Open the folder on GitHubat commit 11c057b

Compare with similar skills

Google Search Serp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Google Search Serp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Search Serp this skillbrowser-act/skills6.1k—~2kAutomated safety check: PassMIT
SEO Coachpetera2c/simple-table2293 repos~1.2kAutomated safety check: PassMIT
Brightdata SDK JSbrightdata/skills264—~3kAutomated safety check: PassMIT
Competitor Intelmajiayu000/claude-skill-registry6662 repos~1.8kAutomated safety check: PassMIT
Tavily Search API Integrationandrewyng/context-hub14k—~1.1kAutomated safety check: PassMIT
Marketing OsYuzzyuk/marketing-os536—~2.5kAutomated safety check: PassMIT

Similar skills

  • SEO Coach

    petera2c/simple-table

    Enter a friendly OpenSEO coach mode that explains workflows, recommends next steps, and helps users use agents, web search, scraping, and MCP data effectively.

    229 GitHub starsUsed in 3 repos~1.2k tokens
    Marketing & SEOAuto-check passed
  • Brightdata SDK JS

    brightdata/skills

    Web data extraction and discovery using the Bright Data JavaScript/TypeScript SDK (@brightdata/sdk).

    264 GitHub stars~3k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Competitor Intel

    majiayu000/claude-skill-registry

    Competitor intelligence system. An agent skill from majiayu000/claude-skill-registry.

    666 GitHub starsUsed in 2 repos~1.8k tokens
    Marketing & SEOAuto-check passed
  • Tavily Search API Integration

    andrewyng/context-hub

    Guides building Tavily integrations for web search, URL extraction, site crawling and AI-assisted research in Python or JavaScript agent and RAG projects.

    14k GitHub stars~1.1k tokensUpdated 4 mo ago
    AI & LLM EngineeringAuto-check passed
  • Marketing Os

    Yuzzyuk/marketing-os

    A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.

    536 GitHub stars~2.5k tokensUpdated 1 mo ago
    Marketing & SEOAuto-check passed
  • Official

    Reopens a fitted Meridian MMM from a saved file and runs budget allocation scenarios, producing an HTML report and a Python script that repeats the run.

    1.6k GitHub stars~1.1k tokensUpdated yesterday
    Marketing & SEOAuto-check passed

More from browser-act/skills

All 87 skills in this repo
  • Amazon ASIN Lookup

    browser-act/skills

    Fetches structured Amazon product details such as title, price, ratings and availability for a given ASIN through BrowserAct's lookup API template.

    6.1k GitHub starsUsed in 2 repos~1.5k tokens
    Auto-check passed
  • Amazon Best Sellers Finder

    browser-act/skills

    Extracts structured Amazon product data for a keyword and marketplace through the BrowserAct API, including titles, prices, ratings, reviews, sales volume and promotions.

    6.1k GitHub starsUsed in 2 repos~1.5k tokens
    Auto-check passed
  • Amazon Buy Box Monitor

    browser-act/skills

    Pulls Amazon product details, competing seller prices and seller ratings for a given ASIN through the BrowserAct API, without browser automation.

    6.1k GitHub starsUsed in 2 repos~1.6k tokens
    Auto-check passed
  • Analyzes a competitor's Amazon listing by ASIN with BrowserAct data extraction, then reports what it does well, where the market has gaps and opportunity points for your own listing.

    6.1k GitHub starsUsed in 2 repos~3.2k tokens
    Auto-check passed
  • Pulls structured Amazon search results (titles, ASINs, prices, ratings, specifications) for a keyword and brand through BrowserAct's Amazon Product API template.

    6.1k GitHub starsUsed in 2 repos~1.5k tokens
    Auto-check passed
  • Collects structured product data from Amazon search results for a keyword and optional brand, using a BrowserAct script, for market and competitor research.

    6.1k GitHub starsUsed in 2 repos~1.6k tokens
    Auto-check passed

Works with

Questions about Google Search Serp

What does Google Search Serp do?

Extracts Google Search results page (SERP) data including organic results, paid ads, related searches, People Also Ask questions, AI Overview text, and total result count from google.com. Google Search Serp is an agent skill from browser-act/skills.com.

When should I use Google Search Serp?

Google Search Serp fits situations like: user mentions Google search results; google search data; search engine results page; organic rankings.

How do I install Google Search Serp in Claude Code?

Run `npx skills add browser-act/skills --skill google-search-serp -a claude-code`. Or copy the skill folder (solutions/search-research/google-search-serp in browser-act/skills) into .claude/skills/google-search-serp in your project. Claude Code loads it when a task matches its description.

How do I install Google Search Serp in Codex?

Run `npx skills add browser-act/skills --skill google-search-serp -a codex`. Or copy the skill folder (solutions/search-research/google-search-serp in browser-act/skills) into .agents/skills/google-search-serp in your project. Codex loads it when a task matches its description.

Can I use Google Search Serp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add browser-act/skills --skill google-search-serp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-search-serp, .gemini/skills/google-search-serp, .github/skills/google-search-serp and .opencode/skills/google-search-serp in your project.

What does Google Search Serp need to run?

Going by SKILL.md and its folder, Google Search Serp needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Google Search Serp access the network?

SKILL.md names 2 domains. In commands or code: google.com and en.wikipedia.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Google Search Serp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Google Search Serp use?

Google Search Serp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Search Serp use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Google Search Serp?

Skills that share tags, products or a category with Google Search Serp: SEO Coach (petera2c/simple-table, 229 stars), Brightdata SDK JS (brightdata/skills, 264 stars), Competitor Intel (majiayu000/claude-skill-registry, 666 stars) and Tavily Search API Integration (andrewyng/context-hub, 14k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Google Search Serp?

browser-act (a GitHub organization) maintains it in browser-act/skills, which has 6,114 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on August 24, 2026.

Source: browser-act/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.