mcpbeat

Serpapi

nicepkg/serpapi

SerpApi search engine results API via curl. Use this skill to scrape Google, Bing, YouTube, and other search engines.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
275
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/nicepkg/ai-workflow --skill serpapi

The instruction itself

17 sections, as written by the author

SerpApi

Use SerpApi via direct curl calls to scrape search engine results from Google, Bing, YouTube, and more.

> Official docs: https://serpapi.com/search-api


When to Use

Use this skill when you need to:

  • Scrape Google search results (organic, ads, knowledge graph)
  • Search Google Images, News, Videos, Shopping
  • Get local business results from Google Maps
  • Scrape other search engines (Bing, YouTube, DuckDuckGo, etc.)
  • Monitor SERP rankings for SEO analysis

Prerequisites

  • Sign up at SerpApi
  • Go to Dashboard and copy your API key
  • Store it in the environment variable SERPAPI_API_KEY
export SERPAPI_API_KEY="your-api-key"

Pricing

  • Free tier: 100 searches/month
  • API key is passed as a query parameter api_key

> Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

> `bash

> bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'

> `

How to Use

All examples below assume you have SERPAPI_API_KEY set.

Base URL: https://serpapi.com/search


Search Google and get structured JSON results:

bash -c 'curl -s "https://serpapi.com/search?engine=google&q=artificial+intelligence&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results[:3] | .[] | {title, link, snippet}

2. Search with Location

Search from a specific location:

bash -c 'curl -s "https://serpapi.com/search?engine=google&q=best+coffee+shops&location=San+Francisco,+California&gl=us&hl=en&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results[:3]'

Parameters:

  • location: City, state, or address
  • gl: Country code (us, uk, de, etc.)
  • hl: Language code (en, de, fr, etc.)

Search for images:

bash -c 'curl -s "https://serpapi.com/search?engine=google_images&q=sunset+beach&api_key=${SERPAPI_API_KEY}"' | jq '.images_results[:3] | .[] | {title, original, thumbnail}

Search news articles:

bash -c 'curl -s "https://serpapi.com/search?engine=google_news&q=technology&api_key=${SERPAPI_API_KEY}"' | jq '.news_results[:3] | .[] | {title, link, source, date}

Search products:

bash -c 'curl -s "https://serpapi.com/search?engine=google_shopping&q=wireless+headphones&api_key=${SERPAPI_API_KEY}"' | jq '.shopping_results[:3] | .[] | {title, price, source}

Search YouTube videos:

bash -c 'curl -s "https://serpapi.com/search?engine=youtube&search_query=python+tutorial&api_key=${SERPAPI_API_KEY}"' | jq '.video_results[:3] | .[] | {title, link, channel, views}

7. Google Maps / Local Results

Search local businesses:

bash -c 'curl -s "https://serpapi.com/search?engine=google_maps&q=restaurants&[email protected],-74.0060,15z&api_key=${SERPAPI_API_KEY}"' | jq '.local_results[:3] | .[] | {title, rating, address}

Parameters:

  • ll: Latitude, longitude, and zoom level (e.g., @40.7128,-74.0060,15z)

8. Pagination

Get more results using the start parameter:

# First page (results 1-10)
bash -c 'curl -s "https://serpapi.com/search?engine=google&q=machine+learning&start=0&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results | length'

# Second page (results 11-20)
bash -c 'curl -s "https://serpapi.com/search?engine=google&q=machine+learning&start=10&api_key=${SERPAPI_API_KEY}"' | jq '.organic_results | length'

9. Check Account Info

Check your API usage and credits:

bash -c 'curl -s "https://serpapi.com/account?api_key=${SERPAPI_API_KEY}"' | jq '{plan_name, searches_per_month, this_month_usage}

Supported Engines

| Engine | Parameter | Description |

|--------|-----------|-------------|

| Google Search | engine=google | Web search results |

| Google Images | engine=google_images | Image search |

| Google News | engine=google_news | News articles |

| Google Shopping | engine=google_shopping | Product search |

| Google Maps | engine=google_maps | Local businesses |

| YouTube | engine=youtube | Video search |

| Bing | engine=bing | Bing web search |

| DuckDuckGo | engine=duckduckgo | Privacy-focused search |


Common Parameters

| Parameter | Description |

|-----------|-------------|

| q | Search query (required) |

| engine | Search engine to use |

| location | Geographic location for search |

| gl | Country code (e.g., us, uk) |

| hl | Language code (e.g., en, de) |

| start | Pagination offset (0, 10, 20...) |

| num | Number of results (max 100) |

| safe | Safe search (active or off) |

| device | Device type (desktop, mobile, tablet) |


Guidelines

  • Use specific engines: Use google_images, google_news etc. instead of tbm parameter for cleaner results
  • Add location for local searches: Use location and gl for geo-targeted results
  • Cache results: SerpApi caches results by default; use no_cache=true for fresh data
  • Monitor usage: Check /account endpoint to track API credits
  • Use jq filters: Filter large JSON responses to extract only needed data

How to use it

Copy the folder

Take nicepkg/serpapi from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.