API 文档

SERP API

使用本地化、设备、浏览器、分页、安全搜索和统一搜索类型参数查询结构化 Google 搜索结果。

测试 API

接口

GET https://api.goanyapi.com/api/v1/serp

当前配置下,每次成功请求消耗 2 积分。

鉴权

Authorization: Bearer YOUR_API_KEY

请求参数

参数类型必填说明
qstring是搜索词,最多 200 个字符
glstring否两位搜索国家代码,例如 us 或 gb
hlstring否两位结果语言代码,例如 en 或 zh
startinteger否0 到 990 的结果偏移量;第二页使用 10
devicestring否desktop、mobile、ios、iphone、ipad、ios_tablet、android 或 android_tablet
browserstring否chrome、safari 或 firefox;Firefox 只支持桌面设备
safestring否安全搜索模式:active 或 off
search_typestring否web(默认)、news、videos、local、places、shopping、short_videos 或 jobs

search_type 是面向用户的唯一 Google 结果类型参数,API 会自动完成所需的参数映射,调用方不需要了解 Google 的底层参数。Google 已弃用 num,请使用 start 分页。未列出的参数会返回 invalid_params。

请求示例

GET /api/v1/serp?q=ai%20image&gl=us&hl=en&search_type=web&device=desktop&browser=chrome&safe=off
Authorization: Bearer YOUR_API_KEY

成功响应

以下示例来自项目 demo.json 中真实的 ai image 响应。为便于阅读,数组和长链接已缩短,Base64 图片正文标记为省略。

{
  "code": "ok",
  "message": "ok",
  "data": {
    "endpoint": "serp",
    "remainingCredits": 1035,
    "query": {
      "q": "ai image",
      "gl": "us",
      "hl": "en",
      "search_type": "web",
      "device": "desktop",
      "browser": "chrome",
      "safe": "off"
    },
    "result": {
      "general": {
        "search_engine": "google",
        "query": "ai image",
        "detected_query": "ai image",
        "results_cnt": 134,
        "search_time": 0.19,
        "language": "en",
        "country_code": "US",
        "location": "United States",
        "gl": "US",
        "mobile": false,
        "basic_view": false,
        "search_type": "text",
        "page_title": "ai image - Google Search",
        "timestamp": "2026-08-18T09:06:26.895Z"
      },
      "input": {
        "original_url": "https://www.google.com/search?q=ai+image",
        "request_id": "hl_ff4e75aa_80fd5475533"
      },
      "navigation": [
        {
          "title": "Images",
          "href": "https://www.google.com/search?q=ai+image&..."
        }
      ],
      "organic": [
        {
          "link": "https://felo.ai/tools/ai-image",
          "source": "Felo",
          "display_link": "https://felo.ai › tools › ai-image",
          "title": "Free AI Image Generator - Text to Image | Felo AI",
          "description": "Felo AI Image generates stunning photos, illustrations, and art in 30 seconds.",
          "snippet_highlighted_words": ["Felo AI Image"],
          "extensions": [
            {
              "type": "rating",
              "rating": 4.9,
              "reviews_cnt": 1709394,
              "rank": 2
            }
          ],
          "icon": "data:image/jpeg;base64,[已省略]",
          "rank": 5,
          "global_rank": 11
        }
      ],
      "images": [
        {
          "link": "https://ai.plainenglish.io/ai-image-generation-shocking-insights-99-dont-know-37948a8a02b0",
          "source": "Artificial Intelligence in Plain English",
          "source_logo": "data:image/png;base64,[已省略]",
          "image": "data:image/jpeg;base64,[已省略]",
          "image_alt": "AI Image Generation — SHOCKING Insights",
          "image_base64": "data:image/jpeg;base64,[已省略]",
          "rank": 1,
          "global_rank": 5
        }
      ],
      "pagination": {
        "pages": [
          {
            "page": 2,
            "start": 10,
            "link": "https://www.google.com/search?q=ai+image&start=10"
          }
        ],
        "current_page": 1,
        "next_page": 2,
        "next_page_start": 10,
        "next_page_link": "https://www.google.com/search?q=ai+image&start=10"
      },
      "related": [
        {
          "text": "AI image generator free",
          "link": "https://www.google.com/search?q=AI+image+generator+free",
          "rank": 1,
          "global_rank": 16
        }
      ]
    }
  }
}

响应字段

Google 会根据查询返回不同的结果模块。除非业务已确认某个模块稳定存在,否则应将 data.result 下的字段和数组都按可选字段处理。

响应外层

字段类型说明
codestring请求成功时为 ok
messagestring请求状态消息
data.endpointstring固定值:serp
data.costCreditsnumber本次请求扣除的积分
data.remainingCreditsnumber成功请求扣费后的剩余积分
data.queryobjectAPI 实际使用的已校验公开请求参数
data.query.qstring搜索词
data.resultobject过滤后的结构化 Google 响应

结果模块

字段类型说明
data.result.generalobject搜索元数据、识别后的查询、地区、数量和耗时
data.result.inputobject请求追踪信息
data.result.navigationarrayGoogle 结果分类导航链接
data.result.organicarray按展示顺序排列的自然搜索结果
data.result.imagesarray页面存在图片模块时返回的图片结果
data.result.paginationobject当前页、下一页及可用分页链接
data.result.relatedarray相关搜索建议

搜索概况与请求输入

字段类型说明
data.result.general.search_enginestring搜索引擎标识,通常为 google
data.result.general.querystringGoogle 展示的查询词
data.result.general.detected_querystringGoogle 识别或标准化后的查询词
data.result.general.results_cntnumberGoogle 报告的近似结果总数
data.result.general.search_timenumber搜索处理耗时,单位为秒
data.result.general.languagestring结果语言代码
data.result.general.country_codestring解析出的两位国家代码
data.result.general.locationstring解析出的可读地区名称
data.result.general.glstringGoogle 国家定位值
data.result.general.mobilebooleanGoogle 是否渲染了移动端结果页
data.result.general.basic_viewboolean是否使用 Google 基础结果视图
data.result.general.search_typestring识别到的结果页类型
data.result.general.page_titlestringGoogle 结果页的浏览器标题
data.result.general.timestampstring响应生成的 ISO 8601 时间
data.result.input.original_urlstring实际请求的 Google URL
data.result.input.request_idstring用于排查问题的请求标识

导航与自然搜索结果

字段类型说明
data.result.navigation[].titlestring导航名称,例如 Images 或 Videos
data.result.navigation[].hrefstring对应结果分类的 Google 链接
data.result.organic[].linkstring结果目标地址
data.result.organic[].sourcestring来源或发布方名称
data.result.organic[].display_linkstring结果中展示的面包屑样式地址
data.result.organic[].titlestring结果标题
data.result.organic[].descriptionstring结果摘要
data.result.organic[].snippet_highlighted_wordsarrayGoogle 在摘要中高亮的文本片段
data.result.organic[].iconstring站点图标,通常为 Base64 data URI
data.result.organic[].ranknumber在自然搜索结果模块中的位置
data.result.organic[].global_ranknumber在整页所有结果模块中的位置
data.result.organic[].extensionsarray可选的标签、评分或其他附加信息
data.result.organic[].extensions[].typestring附加信息类型,如 text 或 rating
data.result.organic[].extensions[].textstring文本类附加信息的内容
data.result.organic[].extensions[].ratingnumber评分值
data.result.organic[].extensions[].reviews_cntnumber评价数量
data.result.organic[].extensions[].ranknumber附加信息在当前结果中的顺序

图片、分页与相关搜索

字段类型说明
data.result.images[].linkstring图片所在页面
data.result.images[].sourcestring图片来源或发布方
data.result.images[].source_logostring来源图标,通常为 Base64 data URI
data.result.images[].imagestring图片 URL 或 data URI
data.result.images[].image_altstring图片替代文本
data.result.images[].image_base64string响应中提供的内联 Base64 图片数据
data.result.images[].ranknumber在图片模块中的位置
data.result.images[].global_ranknumber在整页所有结果模块中的位置
data.result.pagination.pagesarray可用后续页的描述列表
data.result.pagination.pages[].pagenumber用户看到的页码
data.result.pagination.pages[].startnumber请求该页所需的 start 偏移量
data.result.pagination.pages[].linkstring对应页面的 Google 链接
data.result.pagination.current_pagenumber当前页码
data.result.pagination.next_pagenumber下一页页码
data.result.pagination.next_page_startnumber下一页对应的 start 偏移量
data.result.pagination.next_page_linkstring下一页 Google 链接
data.result.related[].textstring相关搜索文字
data.result.related[].linkstring相关搜索的 Google 链接
data.result.related[].ranknumber在相关搜索模块中的位置
data.result.related[].global_ranknumber在整页所有结果模块中的位置

响应过滤

结构化 JSON 保留在 data.result,但会递归移除广告模块、酒店结果、AI Overview、知识面板和源 HTML。响应不会返回服务端凭证、内部配置或请求头。

Google 会根据查询词、国家、语言、设备和时间改变结果模块。客户端应忽略未知字段,并允许文档中列出的可选模块缺失。

计费

只有查询成功返回有效的结构化 JSON 后才扣除配置的 SERP 积分。鉴权失败、参数错误、查询失败或返回无效 JSON 均不扣积分。