SERP ANALYSIS
Analyse search results across Google, Bing, and YouTube with live data
A Claude skill that analyses search engine results pages across Google organic, Google Maps, Bing, and YouTube using the DataForSEO SERP API.
When does this skill activate?
Claude will use this skill when you mention phrases like:
How it works
Enter a keyword
Provide a search query and optionally specify location, language, device type, and result depth.
Claude retrieves live SERPs
The skill calls the DataForSEO SERP API to get organic results, featured snippets, People Also Ask boxes, local pack results, or YouTube video rankings.
Analyse the search landscape
Receive CSV exports with ranking positions, URLs, titles, descriptions, SERP features, and platform-specific metrics like ratings and view counts.
Requirements
Add This Skill
Copy each field into Claude's skill editor to add this skill, or add the plugin marketplace to get all skills at once.
Requires Claude Code, Codex, or similar
Requires Python code execution and DataForSEO API This skill won't work in Claude.ai or ChatGPT chat interfaces.
serp-analysis
---
name: serp-analysis
description: "DataForSEO SERP analysis: Google, Bing, YouTube organic search results and rankings"
---
# SERP Analysis Skill
Analyze search engine results pages (SERPs) across Google, Bing, and YouTube to understand rankings, competition, and search landscape.
## Triggers
Use this skill when the user asks about:
- SERP analysis or search results analysis
- Google search results or Google rankings
- Bing search results or Bing rankings
- YouTube search results or video rankings
- Organic search results for keywords
- Local/Maps search results
- Competitor rankings for specific keywords
- Search engine position tracking
## Functions
### serp_google_organic()
Get Google organic SERP results for a keyword.
**Parameters:**
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| keyword | str | required | Search query to analyze |
| location_name | str | "United States" | Target location for search |
| language_name | str | "English" | Language for results |
| device | str | "desktop" | Device type: "desktop" or "mobile" |
| depth | int | 100 | Number of results to retrieve (max 700) |
**Returns:** Full SERP data including organic results, featured snippets, people also ask, knowledge panels, and more.
---
### serp_google_maps()
Get Google Maps/Local pack results for a keyword.
**Parameters:**
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| keyword | str | required | Local search query (e.g., "pizza near me") |
| location_name | str | "United States" | Target location for search |
| language_name | str | "English" | Language for results |
**Returns:** Local business listings with ratings, reviews, addresses, and map positions.
---
### serp_bing_organic()
Get Bing organic SERP results for a keyword.
**Parameters:**
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| keyword | str | required | Search query to analyze |
| location_name | str | "United States" | Target location for search |
| language_name | str | "English" | Language for results |
**Returns:** Bing organic search results with rankings, URLs, titles, and descriptions.
---
### serp_youtube()
Get YouTube search results for a keyword.
**Parameters:**
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| keyword | str | required | Video search query |
| location_name | str | "United States" | Target location for search |
| language_name | str | "English" | Language for results |
**Returns:** YouTube video results with titles, channels, views, duration, and rankings.
---
## Example Usage
```python
import sys
sys.path.insert(0, "../../scripts")
from dataforseo_client import (
serp_google_organic,
serp_google_maps,
serp_bing_organic,
serp_youtube,
extract_results,
to_csv
)
# Example 1: Analyze Google organic results for a keyword
response = serp_google_organic(
keyword="best project management software",
location_name="United States",
language_name="English",
device="desktop",
depth=100
)
results = extract_results(response)
csv_path = to_csv(results, "google_serp_project_management")
print(f"Google SERP results saved to: {csv_path}")
# Example 2: Get local business results from Google Maps
response = serp_google_maps(
keyword="italian restaurants downtown chicago",
location_name="Chicago,Illinois,United States",
language_name="English"
)
results = extract_results(response)
csv_path = to_csv(results, "google_maps_italian_restaurants")
print(f"Google Maps results saved to: {csv_path}")
# Example 3: Analyze Bing search results
response = serp_bing_organic(
keyword="cloud hosting providers",
location_name="United States",
language_name="English"
)
results = extract_results(response)
csv_path = to_csv(results, "bing_serp_cloud_hosting")
print(f"Bing SERP results saved to: {csv_path}")
# Example 4: Get YouTube video rankings
response = serp_youtube(
keyword="python programming tutorial",
location_name="United States",
language_name="English"
)
results = extract_results(response)
csv_path = to_csv(results, "youtube_python_tutorials")
print(f"YouTube results saved to: {csv_path}")
# Example 5: Mobile vs Desktop comparison
desktop_response = serp_google_organic(
keyword="buy running shoes online",
device="desktop",
depth=50
)
mobile_response = serp_google_organic(
keyword="buy running shoes online",
device="mobile",
depth=50
)
desktop_results = extract_results(desktop_response)
mobile_results = extract_results(mobile_response)
to_csv(desktop_results, "serp_running_shoes_desktop")
to_csv(mobile_results, "serp_running_shoes_mobile")
print("Desktop and mobile SERP comparison saved")
```
## Output
All results are exported as CSV files to `~/dataforseo_outputs/` with automatic timestamping.
**Google Organic SERP output includes:**
- rank_group, rank_absolute (position data)
- type (organic, featured_snippet, people_also_ask, etc.)
- title, description, url
- domain, breadcrumb
- featured_snippet content (when applicable)
- links, images (counts)
**Google Maps output includes:**
- title, address, phone
- rating, reviews_count
- category, place_id
- latitude, longitude
**YouTube output includes:**
- title, channel_id, video_id
- views, duration
- description, publish_date
- thumbnail_url
## Common Locations
- "United States"
- "United Kingdom"
- "Canada"
- "Australia"
- "New York,New York,United States" (city-level)
- "Los Angeles,California,United States"
- "London,England,United Kingdom"
## Notes
- Google organic depth can be set from 10 to 700 results
- Mobile vs desktop results often differ significantly - analyze both for comprehensive SEO
- Local intent keywords work best with Google Maps function
- YouTube results include both video and channel results
How to use this skill
Related Skills
/keyword-research
DataForSEO keyword research: search volume, CPC, competition metrics, keyword ideas, and keyword ...
/backlink-analysis
DataForSEO backlink analysis: backlink profiles, referring domains, anchors, domain authority
/technical-seo
DataForSEO technical SEO: page audits, Lighthouse scores, site crawls, technology detection
/setup-dataforseo
Set up DataForSEO API credentials for accessing SEO, SERP, backlinks, and keyword data APIs
Frequently Asked Questions
Which search engines does this skill cover?
The skill supports four search engines: Google organic (with up to 700 results, desktop or mobile), Google Maps for local business listings with ratings and reviews, Bing organic results, and YouTube video rankings with view counts, duration, and channel data.
Can I compare desktop and mobile results?
Yes. The Google organic function accepts a device parameter that can be set to "desktop" or "mobile". You can run both queries for the same keyword and compare how rankings differ between devices, which is important since mobile and desktop SERPs often show different results.
What SERP features does it capture?
For Google organic results, the skill returns different result types including organic listings, featured snippets, People Also Ask boxes, knowledge panels, and more. Each result includes its type, position, title, description, URL, domain, and breadcrumb information.
Does it work in Claude.ai chat?
No, this skill requires Python code execution to call the DataForSEO API and process the results. It works in Claude Code or Claude Desktop with code execution capabilities, but not in the Claude.ai web chat interface.
Analyse Any SERP
Add this skill to Claude and get live search engine results data for any keyword.
View on GitHub