Apinoa Docs

Response Schema

ResultsPage、Suggestions、Place、App、Trends 等 SERP API 返回的所有类型,逐字段说明。

查看原始 .mdx

所有引擎返回同一套共享类型。同一个字段在所有引擎上含义相同。

可选字段确实是可选的:缺失表示页面没有说明。没有 rating 表示没有显示星级,而不是零星。时间为 ISO 8601、UTC。 每个对象都可能带有 ext,其中以该引擎自己的名称保存只有它才有的信息。

操作返回
searchResultsPage(应用商店:AppsPage)
suggestionsSuggestions
places · place · reviewsPlacesPage · Place · PlaceReviewsPage
app · reviews(应用商店)App · AppReviewsPage
explore · trending(Google Trends)TrendsExplore · TrendingPage

Google Shopping 返回电商平台类型 SearchResult、Product 和 ReviewPage,见 Marketplace Response Schema。

ResultsPage

一页结果,按页面显示顺序包含所有区块。

字段类型说明
enginestringgoogle bing yahoo duckduckgo yandex baidu naver yahoo-japan seznam daum sogou
querystring请求的查询;以图搜图时为引擎给该图片起的名称
typestringweb news images videos image
outcomestringresults,或引擎说明没有结果时为 noResults。被拦截或无法读取的页面是错误,绝不是 noResults
country lang device timeRange safestring?构成本次搜索的输入,原样返回
imagestring?以图搜图所用的图片
correctedQuerystring?引擎改写查询时实际搜索的内容("显示的是以下查询的结果:…")
totalResultsinteger?仅当页面明确给出时("约 1,230,000 条结果")
pageinteger第一页为 1
itemsItem[]所有区块,按页面顺序。见下文
cursorstring?下一页。只带 cursor 传入
fetchedAtstring读取页面的时间

每一项都有 type、rank(在页面所有项中从 1 开始的位置)和 ext,其余字段取决于 type:

type字段
organicposition(仅在自然结果中的排名,跨页连续计数)、url、title、snippet?、site?、displayUrl?、date?、sitelinks?、thumbnail?、image?、imageWidth?、imageHeight?、images?、durationSec?、lang?、favicon?、badges?、facts?、rating?、ratingScale?、reviewCount?
adblock?(top bottom side)、url、title、snippet?、advertiser?、displayUrl?、sitelinks?、thumbnail?、phone?、extensions?、favicon?、badges?、rating?、reviewCount?、promotion?
newsurl、title、snippet?、source?、sourceUrl?、sourceLogo?、date?、thumbnail?、favicon?
imageimageUrl、thumbnail?、width?、height?、title?、url?(图片所在页面)、source?、date?、format?、favicon?
videourl、title、snippet?、source?、channel?、channelUrl?、avatar?、date?、durationSec?、views?、viewsText?、thumbnail?、embedUrl?、preview?、favicon?
topStories videoCarousel imagePack shopping twitter discussionstitle?、items(区块内的条目)、sponsored?、moreUrl?、total?
peopleAlsoAsktitle?、questions:{question, answer?, url?, title?}[]
relatedSearchestitle?、queries:string[]
knowledgePaneltitle、subtitle?、description?、source?、facts?、images?、website?、links?
localPackplaces:Place[]、moreUrl?、total?
aiOverviewanswer:AI Answers API 的 Answer 类型,原样不变
otherkind(引擎对该区块的称呼)、title?、text?、links?

sitelinks 和 links 为 {url, title?, snippet?}[]。facts 为按显示顺序排列的 {label, value}[]。badges 是页面给结果 加的标签,逐字保留。rating 使用页面自己的刻度;页面给出刻度时,ratingScale 为其最大值(8.1/10 → 10)。结构中尚无 对应形式的区块以 other 返回,绝不丢弃。

Suggestions

字段类型说明
enginestring
querystring输入的内容
country langstring?传入时原样返回
suggestionsarray{text, type?}:引擎的联想词,按引擎顺序。type 为引擎给出的类别(查询、实体等)

Place

商家或兴趣点。

字段类型说明
idstring引擎的稳定地点 id;传给 place 和 reviews
namestring
urlstring?该地点在引擎上的页面
addressobject?{full?, street?, city?, region?, postalCode?, country?}
lotAddressstring?韩国在道路地址旁显示的地号地址
coordinatesobject?{lat, lng}
categoriesstring[]?
rating reviewCountnumber?满分 5 的星级及旁边的评论数
priceLevelstring?按显示原样:$$、₩₩
phone websitestring?
hoursarray?{day, hours},每个列出的日子一条,时间按显示原样
statusstring?open closed temporarilyClosed permanentlyClosed
statusTextstring?营业状态原文("Closed · Opens 7 AM")
photosstring[]?页面带有的照片;该地点的照片总数为 photoCount
attributesarray?{group?, label, value?}:设施、服务选项、支付方式
description neighborhood logostring?
verifiedOwnerboolean?业主已认领该商家
reviewsUrlstring?该地点的评论页面
langstring?原样返回

PlacesPage

字段类型说明
engine querystring
outcomestringresults 或 noResults
typestring?maps(地图列表)或 local(Google 本地结果)
location near country langstring?原样返回
placesPlace[]
pageobject{index, size, total?}。仅当引擎给出数量时才有 total
cursorstring?下一页
fetchedAtstring

PlaceReviewsPage

字段类型说明
engine placeIdstring
summaryobject?{average, count?, distribution?}
starCountsobject?星级 → 评论数,按给出的数值({"5": 2409, …})
sortstring?
pageobject{index, size, total?}
reviewsarray见下文
cursorstring?
fetchedAtstring

评论与电商平台商品评论字段相同:id?、author?、authorAvatarUrl?、rating?、title?、body?、date?、 helpfulCount?、language?、images、reply?({body, date?, author?},业主的回复)。地点评论另有 authorId?、 authorUrl? 和 pinned?。地点评论可能没有星级(Naver 访客常留下关键词而非星级),此时 rating 缺失,绝不为 0。

AppsPage

Google Play 和 App Store 的 search 结果。

字段类型说明
enginestringgoogle-play app-store
querystring
outcomestringresults 或 noResults
country langstring?原样返回
appsarray列表中显示的 App,外加 rank
pageobject{index, size, total?}
cursorstring?
fetchedAtstring

App

字段类型说明
idstringPlay 为包名(com.strava),Apple 为数字 id(426826309)
namestring
url icon videostring?
developerobject?{id?, name, url?, website?, email?, address?}
summarystring?名称下方的一句话介绍
description whatsNewstring?
screenshotsstring[]?
categoriesstring[]?主类别在前
ratingobject?{average, count?}
starCountsobject?星级 → 评分数
editorsChoiceboolean?
priceobject?{currency, amount};免费应用为 amount: 0
inAppPurchasesboolean?
contentRating version requiresstring?按显示原样("Teen"、"12+"、"Requires iOS 16.0 or later")
releasedAt updatedAtstring?
country langstring?原样返回
related moreByDeveloperApp[]?页面在旁边列出的应用,按列表形式(仅 app)
privacyPolicyUrlstring?仅 app
chartobject?{name, position}:应用在商店榜单中的位置(仅 app)

AppReviewsPage

字段类型说明
engine appIdstring
sort country langstring?原样返回
pageobject{index, size, total?}
reviewsarrayid?、author?、rating、title?、body?、date?、helpfulCount?、images、reply?(开发者的回复)
cursorstring?
fetchedAtstring

TrendsExplore

Google Trends 对最多五个搜索词显示的内容。Trends 给出的是 0 到 100 的相对热度,以本次请求中最热的时间点为基准。 0 也是 Trends 给出的值,因此按 0 返回。

字段类型说明
termsstring[]按请求顺序
country subregion timeRange category property lang输入原样返回。没有 country 表示全球
interestOverTimeobject?{points, averages?}。每个点为 {date, values, partial?, noData?},每个搜索词一个值
interestByRegionobject?{resolution?, measure?, regions}。地区为 {code?, name, values, noData?, coordinates?}。一个搜索词时 measure 为 interest;多个搜索词时为 share,即各搜索词在该地区相关搜索中的占比
relatedarray?{term, topics?, queries?},各自有 top 和 rising 列表,条目为 {title, kind?, id?, value?, growth?, growthValue?, url?}
fetchedAtstring

TrendingPage

某个国家当前的热门搜索。

字段类型说明
country subregion window category lang原样返回
itemsarray{rank, query, volume?, minVolume?, growth?, startedAt?, endedAt?, active?, categories?, related?, articles?}
fetchedAtstring

volume 为显示的搜索量(200K+),minVolume 为其下限。articles 为 {title, url, source?, date?, image?};使用 include=articles 时,返回 Trends 为每个趋势收录的全部文章。

本页内容