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.
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
| Operation | Returns | What It Reads |
|---|---|---|
search | ResultsPage | One 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 |
suggestions | Suggestions | What the search box suggests for q |
places | PlacesPage | Places on the map for q, around near (a place name) or location (lat,lng) |
place | Place | One place: id from places, or its map link as url |
reviews | PlaceReviewsPage | A 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
| search | suggestions | places | place | reviews | Markets | |
|---|---|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | 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 Shopping | search product reviews, returning the marketplace types |
| Google Play · App Store | search app reviews |
| Google Trends | explore trending |
Each engine's page lists the inputs every operation takes there.
Inputs
One name means one thing on every engine:
| Input | Meaning |
|---|---|
q | the query, search operators included |
type | what to search: web, news, images, videos (each engine takes its own subset) |
country | the market, as an ISO 3166 code |
lang | the interface language (en, pt-BR) |
device | read the desktop page (the default) or the mobile one |
timeRange | only results from the past hour, day, week, month or year |
safe | safe search, on or off |
near · location | for places: a place name, or a lat,lng point |
id · place | the place (or app) to read; id also takes its link as url |
sort | review order |
limit | results wanted. More than one page is charged per page |
cursor | the 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 astype: "other". - Paging. A list returns an opaque
cursor. For the next page, call the same operation withcursoralone. Nocursormeans 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.
limitabove 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
- Response Schema: every field of every type
- AI Answers API: ChatGPT, Gemini, Google AI Mode and more, through one answer type
- Errors: every error code