From serpapi-pack
Extracts structured Google search data using SerpApi: organic results, knowledge graph, answer boxes, PAA, pagination. For search apps, SEO monitoring, data extraction.
How this skill is triggered — by the user, by Claude, or both
Slash command
/serpapi-pack:serpapi-core-workflow-aThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Extract structured data from Google Search: organic results, answer boxes, knowledge graph, related questions (PAA), local pack, ads, and shopping results. Each search costs 1 API credit.
Extract structured data from Google Search: organic results, answer boxes, knowledge graph, related questions (PAA), local pack, ads, and shopping results. Each search costs 1 API credit.
import serpapi, os
client = serpapi.Client(api_key=os.environ["SERPAPI_API_KEY"])
result = client.search(
engine="google",
q="best project management tools",
location="New York, New York",
hl="en", gl="us",
num=10,
)
# 1. Organic Results
for r in result.get("organic_results", []):
print(f"{r['position']}. {r['title']}")
print(f" URL: {r['link']}")
print(f" Snippet: {r.get('snippet', 'N/A')}")
# Rich snippets: sitelinks, rating, date
if "rich_snippet" in r:
print(f" Rating: {r['rich_snippet'].get('top', {}).get('rating')}")
# 2. Answer Box
if ab := result.get("answer_box"):
print(f"\nAnswer Box ({ab.get('type', 'unknown')}):")
print(f" {ab.get('answer') or ab.get('snippet') or ab.get('title')}")
# 3. Knowledge Graph
if kg := result.get("knowledge_graph"):
print(f"\nKnowledge Graph: {kg['title']}")
print(f" Type: {kg.get('type')}")
print(f" Description: {kg.get('description', 'N/A')[:100]}")
# 4. People Also Ask
for paa in result.get("related_questions", []):
print(f"\nPAA: {paa['question']}")
print(f" Answer: {paa.get('snippet', 'N/A')[:100]}")
# 5. Related Searches
for rs in result.get("related_searches", []):
print(f"Related: {rs['query']}")
def paginate_google(query: str, pages: int = 3, num: int = 10):
"""Get multiple pages of results (each page = 1 credit)."""
all_results = []
for page in range(pages):
result = client.search(
engine="google", q=query, num=num,
start=page * num, # Offset parameter
)
organic = result.get("organic_results", [])
if not organic:
break
all_results.extend(organic)
return all_results
results = paginate_google("python web frameworks", pages=3)
print(f"Total results: {len(results)}")
# Time-based filtering
recent = client.search(engine="google", q="AI news", tbs="qdr:w") # Past week
# tbs options: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year)
# Device-specific results
mobile = client.search(engine="google", q="restaurants near me", device="mobile")
# Safe search
safe = client.search(engine="google", q="query", safe="active")
result = client.search(engine="google", q="coffee shops austin tx")
for place in result.get("local_results", {}).get("places", []):
print(f"{place['title']} - {place.get('rating', 'N/A')} stars")
print(f" Address: {place.get('address')}")
print(f" Hours: {place.get('hours')}")
print(f" GPS: {place.get('gps_coordinates', {})}")
1. Monday.com - Best Project Management Software
URL: https://monday.com
Snippet: Rated #1 project management tool...
Answer Box (organic_result):
Compare the best project management tools...
Knowledge Graph: Project management
Type: Topic
Description: Project management is the application of...
| Error | Cause | Solution |
|---|---|---|
No organic_results | CAPTCHA or unusual query | Check search_metadata.status |
Empty local_results | Query not location-specific | Add location parameter |
search_metadata.status: Error | Invalid parameters | Check search_metadata.error message |
For Bing, YouTube, and other engines, see serpapi-core-workflow-b.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin serpapi-packRuns SerpApi searches for Google, Bing, or YouTube as structured JSON. Python and Node.js examples for first searches, query testing, and result format learning.
Fetches live SERP results via SerpAPI for keywords, local map packs, People Also Ask, AI Overviews, SERP features from Google, Bing, and Maps.
Extracts public web data and search engine results via HasData APIs—SERP scraping, AI mode, Maps leads, and structured endpoints for ecommerce, travel, and local business data.