Find your landing page message
Connect a product’s value to a specific audience and write a clear first-screen message.
SerpApi search engine results API via curl. Use this skill to scrape Google, Bing, YouTube, and other search engines.
---
name: serpapi-f7ddf157c0d1
description: SerpApi search engine results API via curl. Use this skill to scrape Google, Bing, YouTube, and other search engines.
vm0_secrets:
- SERPAPI_API_KEY
---
# 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
1. Sign up at [SerpApi](https://serpapi.com/)
2. Go to Dashboard and copy your API key
3. Store it in the environment variable `SERPAPI_API_KEY`
```bash
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`
---
### 1. Basic Google Search
Search Google and get structured JSON results:
```bash
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
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.)
---
### 3. Google Image Search
Search for images:
```bash
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}
```
---
### 4. Google News Search
Search news articles:
```bash
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}
```
---
### 5. Google Shopping Search
Search products:
```bash
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}
```
---
### 6. YouTube Search
Search YouTube videos:
```bash
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
bash -c 'curl -s "https://serpapi.com/search?engine=google_maps&q=restaurants&ll=@40.7128,-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:
```bash
# 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
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
1. **Use specific engines**: Use `google_images`, `google_news` etc. instead of `tbm` parameter for cleaner results
2. **Add location for local searches**: Use `location` and `gl` for geo-targeted results
3. **Cache results**: SerpApi caches results by default; use `no_cache=true` for fresh data
4. **Monitor usage**: Check `/account` endpoint to track API credits
5. **Use jq filters**: Filter large JSON responses to extract only needed data
---
name: serpapi-f7ddf157c0d1
description: SerpApi search engine results API via curl. Use this skill to scrape Google, Bing, YouTube, and other search engines.
vm0_secrets:
- SERPAPI_API_KEY
---
# 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
1. Sign up at [SerpApi](https://serpapi.com/)
2. Go to Dashboard and copy your API key
3. Store it in the environment variable `SERPAPI_API_KEY`
```bash
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`
---
### 1. Basic Google Search
Search Google and get structured JSON results:
```bash
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
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.)
---
### 3. Google Image Search
Search for images:
```bash
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}
```
---
### 4. Google News Search
Search news articles:
```bash
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}
```
---
### 5. Google Shopping Search
Search products:
```bash
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}
```
---
### 6. YouTube Search
Search YouTube videos:
```bash
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
bash -c 'curl -s "https://serpapi.com/search?engine=google_maps&q=restaurants&ll=@40.7128,-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:
```bash
# 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
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
1. **Use specific engines**: Use `google_images`, `google_news` etc. instead of `tbm` parameter for cleaner results
2. **Add location for local searches**: Use `location` and `gl` for geo-targeted results
3. **Cache results**: SerpApi caches results by default; use `no_cache=true` for fresh data
4. **Monitor usage**: Check `/account` endpoint to track API credits
5. **Use jq filters**: Filter large JSON responses to extract only needed data
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.