skills/scraperapi-serp-intelligence/SKILL.md
SERP landscape analysis for SEO strategy decisions. Use this skill when the user wants to understand what a search results page actually looks like for their target keywords — including AI Overview presence and attribution, SERP feature composition, how Google is interpreting query intent, which competitors dominate specific keyword sets, and where organic rankings actually translate to visible traffic. Trigger on requests like "analyze the SERP for [keyword]," "why isn't my content getting traffic even though it ranks," "what does Google show for [keyword]," "which keywords are worth targeting," "is [keyword] dominated by AI Overviews," "who owns the SERP for [topic]," "SERP analysis," "keyword landscape," or any request to understand what's happening on a search results page before making a content or SEO strategy decision.
npx skillsauth add scraperapi/scraperapi-skills scraperapi-serp-intelligenceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Live SERP landscape analysis powered by ScraperAPI's real-time search data. Answers the question rank trackers can't: what does this SERP actually look like, and what does my position within it mean?
You — Claude — execute the tool calls directly. Do not generate code for the user or explain how they could run these calls themselves. Call the MCP tools, read the results, and report findings. The user wants SERP analysis, not instructions.
Never answer SERP questions from training knowledge. SERP features change constantly by query, location, and device. Always gather live data first, then analyze and synthesize.
| Tool | What it returns |
|------|----------------|
| mcp__ScraperAPIRemote__google_search | Full structured SERP — organic results, featured snippets, PAA, shopping, knowledge panels, related searches |
| mcp__ScraperAPIRemote__google_news | News results for a query — useful for understanding news pack presence and freshness signals |
| mcp__ScraperAPIRemote__google_shopping | Shopping results and pricing — confirms transactional intent and commercial SERP structure |
| mcp__ScraperAPIRemote__scrape | Full page content for a specific URL — use to read AI Overview citations or examine top-ranking content structure |
scrapeWhen calling mcp__ScraperAPIRemote__scrape, set render=true and premium=true for any page that requires JavaScript to display content — Google search result pages, LinkedIn profiles, Crunchbase, React/SPA-based sites (e.g. G2 grids). Use standard (no render flags) for static HTML pages: news articles, Wikipedia, company homepages, GitHub, and most /pricing pages.
google_searchThe google_search tool returns parsed JSON, not raw HTML. Its parser does not reliably handle all SERP result types. Known gaps:
When organic results don't start at position 1, always follow up with a rendered scrape of the Google search URL to confirm what is actually above the fold:
mcp__ScraperAPIRemote__scrape url="https://www.google.com/search?q=[url-encoded-query]" render=true premium=true
Read the returned HTML visually to identify any results the structured parser missed. Never assume missing positions are explained by SERP features — verify first.
For every SERP intelligence request:
google_search for each keyword. Parallelize all calls.google_search calls in a single response turn, not sequentially.When to use: User supplies a small number of specific keywords, asks about a single SERP, or wants to understand one query in depth.
Data gathering:
# Run one search per keyword (run in parallel)
mcp__ScraperAPIRemote__google_search query="[keyword 1]"
mcp__ScraperAPIRemote__google_search query="[keyword 2]"
# If shopping signals appear in organic results, confirm with:
mcp__ScraperAPIRemote__google_shopping query="[keyword]"
# If a news pack appears, confirm freshness signal with:
mcp__ScraperAPIRemote__google_news query="[keyword]"
# If an AI Overview appears and citations are visible, scrape a cited source:
mcp__ScraperAPIRemote__scrape url="[cited-source-url]"
# AI Overview fallback — if ai_box is detected but content is empty:
mcp__ScraperAPIRemote__scrape url="https://www.google.com/search?q=[url-encoded-keyword]" render=true premium=true
# Parse returned HTML for AI Overview text and source citations.
# If still unrecoverable, flag as "AI Overview detected, content unconfirmed" — never assume absent.
Analysis: For every keyword, extract and assess:
SERP features present (mark each Y/N, note position):
Organic results (top 5): domain, URL, title, snippet, content format signal (guide, product page, comparison, definition, news, tool).
Intent classification — derive from SERP composition, not query text:
Effective visibility — translate rank into realistic traffic given page context:
Output format:
# SERP Intelligence: [Keyword(s)]
*Data collected on [YYYY-MM-DD]*
## Decision context
[What the user is trying to decide, stated explicitly]
---
## [Keyword 1]
**Query run:** `[exact query string]`
### Raw SERP data
*Exactly as returned by the tool — no interpretation applied.*
**SERP features detected:**
| Feature | Present | Raw detail |
|---------|---------|-----------|
| AI Overview | Yes/No | [Content and citations if captured; "detected, content unconfirmed" if empty] |
| Featured snippet | Yes/No | [Exact snippet text and source URL if present] |
| People Also Ask | Yes/No | [Exact questions as shown] |
| Local pack | Yes/No | — |
| Shopping carousel | Yes/No | — |
| Video results | Yes/No | — |
| News pack | Yes/No | — |
**Organic results (as returned):**
| # | Title | URL | Snippet |
|---|-------|-----|---------|
| 1 | [exact title as shown in SERP] | [full URL] | [snippet text] |
| 2 | | | |
| 3 | | | |
| 4 | | | |
| 5 | | | |
---
### Analysis
*Claude's interpretation — clearly separated from raw results.*
#### AI Overview
[If confirmed: sources cited, content type, what earning citation likely required.
If detected but unconfirmed: note the limitation.
If absent: note that organic results are unobstructed.]
#### Intent read
**Classification:** [Informational / Transactional / Commercial investigation / Navigational / Mixed]
**Basis:** [What the SERP composition — not the query text — tells you about how Google reads this query]
#### Effective visibility
**Level:** [High / Medium / Low / Very low]
**Basis:** [Which confirmed features sit above organic and what this means for traffic at each position]
---
[Repeat for each keyword]
---
## Synthesis
### Where to focus
[Which keywords are open for organic investment vs. contested vs. effectively closed — with reasoning]
### Content format signal
[What format Google consistently favors across these keywords]
### Competitive presence
[Which domains recur across these SERPs and what that means]
## Implications
**Immediately actionable:** [Specific next step based on findings]
**Near-term:** [Content or strategy decisions for this quarter]
**To monitor:** [Signals that haven't resolved yet but are worth watching]
## Data notes
[Any queries with thin results, geo-variation warnings, or features that couldn't be confirmed from structured data alone]
When to use: User supplies a topic cluster, a list of target keywords, or asks for a landscape read across a content strategy. Deliver per-keyword breakdowns plus a cross-set synthesis.
Data gathering:
# Run all keyword queries in parallel
mcp__ScraperAPIRemote__google_search query="[keyword 1]"
mcp__ScraperAPIRemote__google_search query="[keyword 2]"
mcp__ScraperAPIRemote__google_search query="[keyword 3]"
# ... (one call per keyword)
# Follow-up calls (up to 3) for the highest-signal findings:
# If shopping signals appear in organic results:
mcp__ScraperAPIRemote__google_shopping query="[keyword]"
# If a news pack appears:
mcp__ScraperAPIRemote__google_news query="[keyword]"
# If an AI Overview is detected and a cited source warrants deeper inspection:
mcp__ScraperAPIRemote__scrape url="[cited-source-url]"
Analysis: Apply the same per-keyword analysis as Keyword Scan (features, intent, effective visibility). Then add cross-set synthesis:
AI absorption rate — What share of the keyword set triggers AI Overviews? High absorption means the topic is being captured by AI answers. The user may need to shift from targeting these queries with content to targeting adjacent queries or focusing on being cited rather than ranked.
Open / Contested / Closed classification:
Competitive SERP map — Build a domain frequency count across the keyword set. The top 3–5 recurring domains are the real SEO competitors on this topic, regardless of who shows up in a traditional competitor search.
Content format signal — What format does Google consistently favor across the set? Mismatching format to intent is one of the most common reasons well-written content fails to rank.
Output format:
# SERP Intelligence Report: [Topic / Keyword Set]
*Data collected on [YYYY-MM-DD] | [N] keywords analyzed*
## Decision context
[What the user is trying to decide]
## Keyword landscape overview
| Keyword | AI Overview | Top feature | Intent | Dominant domain | Visibility for organic |
|---------|-------------|------------|--------|-----------------|----------------------|
| [kw 1] | Yes/No | [feature] | [intent type] | [domain] | High/Med/Low/Very low |
| [kw 2] | | | | | |
## Keyword classification
**Open for organic investment:** [list]
**Contested but worth pursuing:** [list]
**Effectively closed to organic:** [list]
---
## Per-keyword SERP breakdowns
[Full breakdown for each keyword — same format as Keyword Scan output]
---
## Cross-set synthesis
### AI absorption summary
[What share of the set triggers AI Overviews, which topic areas are most absorbed, what this means for strategy]
### Competitive SERP map
| Domain | Appearances | Positions held | Featured snippets | AI Overview citations |
|--------|-------------|---------------|-------------------|----------------------|
| [domain] | [N/total] | [e.g., 1–3 across 6 keywords] | [N] | [N] |
### Content format signal
[What formats Google consistently favors — guides, product pages, comparisons, definitions, videos]
### Where the real opportunity is
[Specific keywords or sub-topics where the SERP is open and the content format is one the user can execute]
## Implications
**Immediately actionable:** [Highest-confidence next step]
**Near-term:** [Content planning decisions for this quarter]
**Strategic:** [What this keyword set tells you about the broader content territory]
## Data notes
[Anything that couldn't be confirmed, geo-variation, thin results, features that required inference]
| User says... | Mode | |---|---| | "Analyze this keyword" / "What does the SERP look like for [keyword]" | Keyword Scan | | "Why isn't my content getting traffic even though it ranks" | Keyword Scan | | "Is [keyword] dominated by AI Overviews" | Keyword Scan | | "Should I create content for [keyword]" | Keyword Scan | | "Which keywords in this set are worth prioritizing" | Keyword Set Analysis | | "SERP landscape for this topic cluster" / "keyword landscape" | Keyword Set Analysis | | "Who are my real SEO competitors on these topics" | Keyword Set Analysis | | "Full content strategy audit across these keywords" | Keyword Set Analysis |
tools
Run a comprehensive SEO audit using ScraperAPI's live SERP and scraping tools — no setup required. Use this skill whenever the user wants to: audit SEO for a website, understand why a page isn't ranking, check SEO health, analyze keyword rankings, compare against competitors in search results, find content gaps, review on-page signals (titles, meta, headings, schema), diagnose a traffic drop, check indexation, or get prioritized SEO recommendations. Also trigger when the user says things like "why am I not showing up on Google," "my traffic dropped," "how do I rank for X," "what's wrong with my SEO," "SEO check," or "SEO review." This skill works out of the box — it uses the ScraperAPI MCP tools already connected to this session, with no CLI or API key setup needed.
development
Build and implement web scrapers using ScraperAPI. Use this skill whenever the user asks to build, write, create, or implement a scraper, or wants runnable code that extracts data from a website. Trigger on: "build me a scraper for [website]", "write a scraper that fetches product pages from [ecommerce site]", "I need to scrape [data] from [website]", "create a script that extracts [fields] from [URL]", "help me scrape [website] — I need [fields]", "write code to scrape [website]", "make a script that scrapes [website]", "implement a scraper for [URL]". Guides architectural decisions (structured endpoint vs. raw HTML, JS rendering, proxy tier, sync vs. async batch), then generates a complete runnable Python or Node.js script with retry logic, error handling, pagination, and credit estimation.
development
Use this skill whenever the user wants to check, track, or be alerted about product prices on Amazon, Walmart, or via Google Shopping. Trigger on: "monitor the price of this Amazon product", "did the price drop on [Walmart URL]?", "track these ASINs", "compare today's prices to last week", "alert me if [product] goes below $X", "what's the current price of [product]?", "check my price watchlist", "scrape the price of [URL]", "is [product] cheaper anywhere else?". Accepts ASINs, Amazon/Walmart product URLs, or free-text product queries for Google Shopping. Reads an optional baseline JSON file to detect changes, fetches live prices via ScraperAPI's structured endpoints, and reports increases, decreases, restocks, and out-of-stock transitions in a structured change report. Use this skill even when the user does not say the word "monitor" — any one-shot or recurring price-check request belongs here.
development
Market research powered by live web data. Use this skill when the user wants to understand a market, category, or customer segment — including consumer sentiment, demand and trend signals, price and category structure, or the competitive landscape. Trigger on requests like "research the [X] market," "what do customers think about [category]," "how is [category] priced," "what trends are shaping [industry]," "who are the players in [space]," or any request to understand a market before making a product, pricing, positioning, or investment decision.