Apinoa Docs

SERP API

Google, Bing, Naver, Baidu, Yandex and eleven more search engines, maps, app stores and Google Trends, through one set of operations and one schema.

View raw .mdx

The SERP API reads search engines the way a person sees them. A results page comes back in the order it was shown: organic results, ads, news, images, videos, "People also ask", knowledge panels, local packs and AI Overviews. One schema covers every engine, so the code that reads Google also reads Naver.

curl "https://gateway.apinoa.com/v1/google/search?q=best+running+shoes&country=US" -H "x-api-key: $APINOA_API_KEY"
curl "https://gateway.apinoa.com/v1/naver/places?q=강남역+카페" -H "x-api-key: $APINOA_API_KEY"
curl "https://gateway.apinoa.com/v1/google-trends/explore?terms=chatgpt,gemini&country=US" -H "x-api-key: $APINOA_API_KEY"

Operations

OperationReturnsWhat It Reads
searchResultsPageOne results page: web (the default), news, images or videos, chosen with type. Some engines also take type=image with an image URL for a reverse-image search
suggestionsSuggestionsWhat the search box suggests for q
placesPlacesPagePlaces on the map for q, around near (a place name) or location (lat,lng)
placePlaceOne place: id from places, or its map link as url
reviewsPlaceReviewsPageA place's reviews: place

The app stores and Google Trends use the same names: search, app and reviews for apps, and explore and trending for Trends.

Which Engine Has Which

searchsuggestionsplacesplacereviewsMarkets
Google✓✓✓✓10
Bing✓✓10
Yahoo✓✓13
DuckDuckGo✓✓14
Yandex✓✓✓✓✓10
Naver✓✓✓✓✓KR
Daum✓✓KR
Baidu✓✓CN
Sogou✓✓CN
Yahoo! JAPAN✓✓JP
Seznam✓✓CZ
Tripadvisor✓✓✓15
Operations
Google Shoppingsearch product reviews, returning the marketplace types
Google Play · App Storesearch app reviews
Google Trendsexplore trending

Each engine's page lists the inputs every operation takes there.

Inputs

One name means one thing on every engine:

InputMeaning
qthe query, search operators included
typewhat to search: web, news, images, videos (each engine takes its own subset)
countrythe market, as an ISO 3166 code
langthe interface language (en, pt-BR)
deviceread the desktop page (the default) or the mobile one
timeRangeonly results from the past hour, day, week, month or year
safesafe search, on or off
near · locationfor places: a place name, or a lat,lng point
id · placethe place (or app) to read; id also takes its link as url
sortreview order
limitresults wanted. More than one page is charged per page
cursorthe next page

An input an engine does not take is refused with 400 INVALID_PARAMS, not ignored. You are never charged for a page that did not do what you asked.

What Is the Same Everywhere

  • Shapes. Every operation returns one of the types in the Response Schema. Facts that only one engine has are in ext.
  • Nothing is dropped. Every block on the page is returned, in page order, with its rank. A block that has no shared shape yet comes back as type: "other".
  • Paging. A list returns an opaque cursor. For the next page, call the same operation with cursor alone. No cursor means there is no next page.
  • Absent is not zero. A count or rating the page does not show is left out, never reported as 0. Times are ISO 8601 in UTC.
  • No results is an answer. outcome: "noResults" means the engine said it found nothing. A page that could not be read is an error, and errors are not billed.
  • Price. $0.0012 per unit. Most calls are one unit. limit above one page costs one unit per page, and each operation's page lists its range.

Errors

The SERP API uses the same envelope and codes as the rest of the API. See Errors. A place or app that does not exist returns 404 NOT_FOUND, and a product 404 PRODUCT_NOT_FOUND; the message names the id. A Google Shopping product from a single store has no reviews: 404 REVIEWS_NOT_FOUND.

Reference

On this page