mcpField
S
serpapi

serpapi

github.com/nicepkg数据与数据库28859 次安装40 周前更新
代码仓库

关于 serpapi

serpapi 是通过 SerpApi API 搜集搜索引擎结果的技能,适用于需要结构化搜索数据的开发者和分析人员。它提供 Google、Bing、YouTube 等搜索,以及图片、新闻、购物和本地商家结果查询。

主要功能

  1. 01查询 Google、Bing 等网页结果
  2. 02搜索图片、新闻和购物结果
  3. 03获取 YouTube 视频结果
  4. 04查询 Google Maps 本地商家
  5. 05按地区和语言限定搜索
  6. 06分页并检查 API 用量

适用场景

  1. 01采集关键词的网页搜索结果
  2. 02监测特定地区的本地商家
  3. 03搜索新闻、商品或图片
  4. 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 分析

前提条件

  1. 在 SerpApi 注册
  2. 前往 Dashboard 并复制 API 密钥
  3. 将其存储在环境变量 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 Mapsengine=google_maps本地商家
YouTubeengine=youtube视频搜索
Bingengine=bingBing 网页搜索
DuckDuckGoengine=duckduckgo注重隐私的搜索

常用参数

参数描述
q搜索查询(必填)
engine要使用的搜索引擎
location搜索的地理位置
gl国家/地区代码(例如,us、uk)
hl语言代码(例如,en、de)
start分页偏移量(0、10、20……)
num结果数量(最多 100 条)
safe安全搜索(active 或 off)
device设备类型(desktop、mobile、tablet)

使用指南

  1. 使用特定引擎:使用 google_images、google_news 等,而不是 tbm 参数,以获得更简洁的结果
  2. 本地搜索时添加位置:使用 location 和 gl 获取按地理位置定位的结果
  3. 缓存结果:SerpApi 默认会缓存结果;使用 no_cache=true 获取最新数据
  4. 监控用量:检查 /account 端点以跟踪 API 额度
  5. 使用 jq 过滤器:过滤大型 JSON 响应,只提取所需数据

评论

支持 Markdown