关于 serpapi
serpapi 是通过 SerpApi API 搜集搜索引擎结果的技能,适用于需要结构化搜索数据的开发者和分析人员。它提供 Google、Bing、YouTube 等搜索,以及图片、新闻、购物和本地商家结果查询。
主要功能
- 01查询 Google、Bing 等网页结果
- 02搜索图片、新闻和购物结果
- 03获取 YouTube 视频结果
- 04查询 Google Maps 本地商家
- 05按地区和语言限定搜索
- 06分页并检查 API 用量
适用场景
- 01采集关键词的网页搜索结果
- 02监测特定地区的本地商家
- 03搜索新闻、商品或图片
- 04分析 SEO 排名并翻页取数
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nicepkg/ ai-workflow --skill serpapi安装后在 Claude Code 中输入/serpapi确认已加载。
详细介绍
SerpApi
通过直接调用 curl 使用 SerpApi,从 Google、Bing、YouTube 等平台抓取搜索引擎结果。
官方文档:
https://serpapi.com/search-api
使用场景
在以下情况下使用此工具:
- 抓取 Google 搜索结果(自然搜索结果、广告、知识图谱)
- 搜索 Google 图片、新闻、视频和购物内容
- 获取 Google Maps 上的本地商家结果
- 抓取其他搜索引擎的结果(Bing、YouTube、DuckDuckGo 等)
- 监控 SERP 排名,用于 SEO 分析
前提条件
- 在 SerpApi 注册
- 前往 Dashboard 并复制 API 密钥
- 将其存储在环境变量
SERPAPI_API_KEY中
export SERPAPI_API_KEY="your-api-key"
定价
- 免费套餐:每月 100 次搜索
- API 密钥通过查询参数
api_key传递
重要: 在会通过管道将输出传递给另一个命令的命令中使用
$VAR时,请用bash -c '...'包裹包含$VAR的命令。由于 Claude Code 的一个错误,直接使用管道时环境变量会被静默清除。bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'
使用方法
以下示例均假设你已设置 SERPAPI_API_KEY。
基础 URL:https://serpapi.com/search
1. 基本 Google 搜索
搜索 Google 并获取结构化 JSON 结果:
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. 按位置搜索
从特定位置进行搜索:
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]'
参数:
location:城市、州或地址gl:国家/地区代码(us、uk、de 等)hl:语言代码(en、de、fr 等)
3. Google 图片搜索
搜索图片:
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 新闻搜索
搜索新闻文章:
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 购物搜索
搜索产品:
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 搜索
搜索 YouTube 视频:
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 / 本地结果
搜索本地商家:
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}
参数:
ll:纬度、经度和缩放级别(例如,@40.7128,-74.0060,15z)
8. 分页
使用 start 参数获取更多结果:
# 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. 查看账户信息
查看 API 使用量和额度:
bash -c 'curl -s "https://serpapi.com/account?api_key=${SERPAPI_API_KEY}"' | jq '{plan_name, searches_per_month, this_month_usage}
支持的引擎
| 引擎 | 参数 | 描述 |
|---|---|---|
| Google 搜索 | engine=google | 网页搜索结果 |
| Google 图片 | engine=google_images | 图片搜索 |
| Google 新闻 | engine=google_news | 新闻文章 |
| Google 购物 | engine=google_shopping | 产品搜索 |
| Google Maps | engine=google_maps | 本地商家 |
| YouTube | engine=youtube | 视频搜索 |
| Bing | engine=bing | Bing 网页搜索 |
| DuckDuckGo | engine=duckduckgo | 注重隐私的搜索 |
常用参数
| 参数 | 描述 |
|---|---|
q | 搜索查询(必填) |
engine | 要使用的搜索引擎 |
location | 搜索的地理位置 |
gl | 国家/地区代码(例如,us、uk) |
hl | 语言代码(例如,en、de) |
start | 分页偏移量(0、10、20……) |
num | 结果数量(最多 100 条) |
safe | 安全搜索(active 或 off) |
device | 设备类型(desktop、mobile、tablet) |
使用指南
- 使用特定引擎:使用
google_images、google_news等,而不是tbm参数,以获得更简洁的结果 - 本地搜索时添加位置:使用
location和gl获取按地理位置定位的结果 - 缓存结果:SerpApi 默认会缓存结果;使用
no_cache=true获取最新数据 - 监控用量:检查
/account端点以跟踪 API 额度 - 使用 jq 过滤器:过滤大型 JSON 响应,只提取所需数据
评论
支持 Markdown