Yahoo SERP API

SERPHouse

SERP API provides the Top-100 SERP results for a search term.
The results are specific to the selected search engine

Assumes that you are familiar with SERP Types. On all the search engines we provides Web, Image and News results. You have to take care of `serp_type` param.

1. TOP STORIES

If there are any trending news stories relevant to your search query, yahoo will return those in a section called "Top Stories". This section is returned by the API as a top_stories array.

view more
2. INLINE IMAGE

When doing a standard web search and images are provided by yahoo within the search results, these images are returned by the API within an inline_image array.

view more
3. INLINE VIDEOS

When doing a standard web search and videos are provided by yahoo within the search results, these videos are returned by the API within an inline_videos array.

view more
4. PLEOPLE ALSO ASK

For many search queries yahoo provides an additional set of frequently asked questions related to the search term. These related questions are returned by the API as a people_also_ask array.

view more
5. KNOWLEDGE CARD

A Knowledge Graph is returned by yahoo whenever there is enough imformation about the search query from yahoo directly or from informational sources, such as Wikipedia. Knowledge Graphs will be returned in a knowledge_card object by the API.

view more
6. ADS

If yahoo returns any sponsored ads for your search query, the API response will come with an ads object, which contains all ads in the order they are shown in the search result. Ads can be shown either at the top or at the bottom of the search result.

view more
7. ORGANIC

Organic search results are the main search results provided by yahoo and are determined by a series of factors, such as web traffic, back-links, social media presence, and much more. These results are parsed by the API in detail and returned as organic.

view more
NEWS Search

News results are returned as a news array only when the type parameter is set to news.

view more
NEWS VIDEOS

If videos are searched specifically, with the type parameter being set to videos, videos are returned as a news_video array.

view more
Images

If images are searched specifically, with the type parameter being set to image, images are returned as an results array. If images are searched specifically, the API returns 100 images by default.

view more
                        
                            curl -X POST \
                                https://api.serphouse.com/serp/live \
                                    -H 'accept: application/json' \
                                    -H 'authorization: Bearer API_TOKEN' \
                                    -H 'content-type: application/json' \
                                -d '{
                                    "data": {
                                        "domain":"yahoo.com",
                                        "lang":"en",
                                        "q": "Coffee",
                                        "loc":"Texas,United States",
                                        "device": "desktop",
                                        "serp_type": "web"
                                    }
                                }'
                        
                    
                        
                            require 'uri'
                            require 'net/http'

                            url = URI("https://api.serphouse.com/serp/live")

                            http = Net::HTTP.new(url.host, url.port)
                            http.use_ssl = true
                            http.verify_mode = OpenSSL::SSL::VERIFY_NONE

                            request = Net::HTTP::Post.new(url)
                            request["accept"] = 'application/json'
                            request["content-type"] = 'application/json'
                            request["authorization"] = 'Bearer API_TOKEN'
                            request.body = '{"data": {
                                "domain": "yahoo.com",
                                "lang": "en",
                                "q": "Coffee",
                                "loc": "Texas,United States",
                                "device": "desktop",
                                "serp_type": "web"
                            }}'

                            response = http.request(request)
                            puts response.read_body
                        
                    
                        
                            import requests
                            url = "https://api.serphouse.com/serp/live"
                            payload = '{"data": {
                                "domain": "yahoo.com",
                                "lang": "en",
                                "q": "Coffee",
                                "loc": "Texas,United States",
                                "device": "desktop",
                                "serp_type": "web"
                            }}'
                            headers = {
                                'accept': "application/json",
                                'content-type': "application/json",
                                'authorization': "Bearer API_TOKEN"
                            }

                            response = requests.request("POST", url, data=payload, headers=headers)
                            print(response.text)
                        
                    
                        
                            var http = require("https");

                            var options = {
                                "method": "POST",
                                "hostname": "https://api.serphouse.com",
                                "port": null,
                                "path": "/serp/live",
                                "headers": {
                                    "accept": "application/json",
                                    "content-type": "application/json",
                                    "authorization": "Bearer API_TOKEN"
                                }
                            };

                            var req = http.request(options, function (res) {
                                var chunks = [];

                                res.on("data", function (chunk) {
                                    chunks.push(chunk);
                                });

                                res.on("end", function () {
                                    var body = Buffer.concat(chunks);
                                    console.log(body.toString());
                                });
                            });

                            req.write(JSON.stringify({
                                data: {
                                    domain: 'yahoo.com',
                                    lang: 'en',
                                    q: 'Coffee',
                                    loc: 'Texas,United States',
                                    device: 'desktop',
                                    serp_type: 'web'
                                }
                            }));
                            req.end();
                        
                    
                        
                            $curl = curl_init();

                            curl_setopt_array($curl, array(
                                CURLOPT_URL => "https://api.serphouse.com/serp/live",
                                CURLOPT_RETURNTRANSFER => true,
                                CURLOPT_ENCODING => "",
                                CURLOPT_MAXREDIRS => 10,
                                CURLOPT_TIMEOUT => 30,
                                CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                                CURLOPT_CUSTOMREQUEST => "POST",
                                CURLOPT_POSTFIELDS => '{"data": {
                                    "domain":"yahoo.com",
                                    "lang": "en",
                                    "q": "Coffee",
                                    "loc": "Texas,United States",
                                    "device": "desktop",
                                    "serp_type": "web"
                                }}',
                                CURLOPT_HTTPHEADER => array(
                                    "accept: application/json",
                                    "authorization: Bearer API_TOKEN",
                                    "content-type: application/json"
                                ),
                            ));

                            $response = curl_exec($curl);
                            $err = curl_error($curl);

                            curl_close($curl);

                            if ($err) {
                                echo "cURL Error #:" . $err;
                            }
                            else {
                                echo $response;
                            }
                        
                    
                        
                            OkHttpClient client = new OkHttpClient();

                            MediaType mediaType = MediaType.parse("application/json");
                            RequestBody body = RequestBody.create(mediaType, '{"data": {
                                "domain": "yahoo.com",
                                "lang": "en",
                                "q": "Coffee",
                                "loc": "Texas,United States",
                                "device": "desktop",
                                "serp_type": "web"}}
                            ');
                            Request request = new Request.Builder()
                                .url("https://api.serphouse.com/serp/live")
                                .post(body)
                                .addHeader("accept", "application/json")
                                .addHeader("content-type", "application/json")
                                .addHeader("authorization", "Bearer API_TOKEN")
                                .build();

                            Response response = client.newCall(request).execute();
                        
                    
                        
                            package main

                            import (
                                "fmt"
                                "strings"
                                "net/http"
                                "io/ioutil"
                            )

                            func main() {
                                url := "https://api.serphouse.com/serp/live"
                                payload := strings.NewReader('{"data": {
                                    "domain":"yahoo.com",
                                    "lang": "en",
                                    "q": "Coffee",
                                    "loc": "Texas,United States",
                                    "device": "desktop",
                                    "serp_type": "web"}}
                                ')

                                req, _ := http.NewRequest("POST", url, payload)

                                req.Header.Add("accept", "application/json")
                                req.Header.Add("content-type", "application/json")
                                req.Header.Add("authorization", "Bearer API_TOKEN")

                                res, _ := http.DefaultClient.Do(req)

                                defer res.Body.Close()
                                body, _ := ioutil.ReadAll(res.Body)

                                fmt.Println(res)
                                fmt.Println(string(body))
                            }
                        
                    
                                
                            

Start free trial today

No credit card required • Cancel at any time • 100% satisfaction guaranteed.