> For the complete documentation index, see [llms.txt](https://docs.serphouse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.serphouse.com/yahoo-apis/yahoo-search-api.md).

# Yahoo Search API

Retrieve real-time search results from the Yahoo search page, providing access to relevant websites, search listings, and web content.

{% hint style="danger" %}
Requires authentication
{% endhint %}

<mark style="color:green;">`POST`</mark> `https://api.serphouse.com/yahoo-web`

#### Path Parameters

| Name         | Type   | Description                          |
| ------------ | ------ | ------------------------------------ |
| responseType | String | responseType can be 'html' or 'json' |

#### Headers

| Name                                            | Type   | Description              |
| ----------------------------------------------- | ------ | ------------------------ |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer \<YOUR\_API\_KEY> |
| Content-Type<mark style="color:red;">\*</mark>  | String | application/json         |

#### Request Body

<table><thead><tr><th>Name</th><th>Type</th><th width="222">Description</th></tr></thead><tbody><tr><td>q<mark style="color:red;">*</mark></td><td>string</td><td>Search phrase that you want to search</td></tr><tr><td>domain<mark style="color:red;">*</mark></td><td>string</td><td>Choose yahoo domain.<br><br>You can retrieve the list of supported yahoo domains by making a separate request to the  <a href="https://docs.serphouse.com/extra-apis/domains-list">List of Search Engines</a></td></tr><tr><td>lang<mark style="color:red;">*</mark></td><td>string</td><td>You can set language for e.g. <code>lang_en</code> for english <code>lang_fr</code> for french.<br>Get the list of available languages by making a separate request to the <a href="/pages/T3o6bzC5LzinD9qIGamk">List of Language</a></td></tr><tr><td>device<mark style="color:red;">*</mark></td><td>string</td><td>Device can be <code>desktop</code> To extract desktop result <code>mobile</code> To extract mobile result</td></tr><tr><td>page</td><td>integer</td><td>Give specific page to get the result of that page number. By default it will get you first page.</td></tr><tr><td>no_trace</td><td>string | integer</td><td>Enterprise only. Enables NoTrace mode. Accepted values: <code>0</code>, <code>1</code>, <code>true</code>, and <code>false</code>. When enabled (<code>1</code> or <code>true</code>), search parameters, files, and metadata are not stored on our servers.</td></tr></tbody></table>

{% tabs %}
{% tab title="200: OK" %}

```json
{
    "status": "error",
    "msg": "Please try again",
    "error": ""
}
```

{% endtab %}

{% tab title="200: OK" %}

```json
{
    "status": "success",
    "msg": "Completed",
    "results": {
        "search_metadata": {
            "id": 245743274,
            "status": "success",
            "created_at": "2026-06-17T10:14:52.000000Z",
            "processed_at": "2026-06-17 10:14:52"
        },
        "search_parameters": {
            "domain": "fr.yahoo.com",
            "lang": "lang_fr",
            "country": "",
            "location": "",
            "q": "Emmanuel Macron",
            "device": "desktop",
            "url": "https://fr.search.yahoo.com/search?p=Emmanuel+Macron&vl=lang_fr&gl=&pz=100&fl=1",
            "page": "1",
            "num": 10,
            "ie": "UTF-8"
        },
        "results": {
            "search_information": [
                {
                    "total_results": 0
                }
            ],
            "ads": [
                {
                    "position": 1,
                    "block_position": "bottom",
                    "title": "Annonce",
                    "link": "https://www.amazon.fr/R%C3%A9volution-Emmanuel-Macron/dp/284563966X?ie=UTF8&amp;tag=hydfrmsn-21&amp;hvadid=&amp;hvpos=&amp;hvexid={aceid}&amp;hvnetw=o&amp;hvrand=&amp;hvpone=&amp;hvptwo=&amp;hvqmt=b&amp;hvdev=c&amp;ref=pd_sl_8eges7y2we_e",
                    "display_link": "amazon.fr",
                    "description": null
                }
            ],
            "organic": [
                {
                    "position": 1,
                    "title": "Emmanuel Macron — Wikipédia",
                    "link": "https://fr.wikipedia.org/wiki/Emmanuel_Macron",
                    "display_link": "fr.wikipedia.org · wiki · Emmanuel_Macron ",
                    "snippet": " Emmanuel Macron ([ɛmanɥɛl makʁɔ̃] e Écouter ⓘ), né le 21 décembre 1977 à Amiens (Somme), est un homme d'État français. Il est président de la République française à partir du 14 mai 2017. Sorti de l' École nationale d'administration (ENA) en 2004, il devient inspecteur des finances. "
                },
                {
                    "position": 2,
                    "title": "Bienvenue sur le site de l'Élysée",
                    "link": "https://www.elysee.fr/",
                    "display_link": "www.elysee.fr",
                    "snippet": " Retrouvez toute l'actualité du Président Emmanuel Macron sur le site officiel de la Présidence de la République, et (re)plongez au cœur de l'histoire de la République française. "
                },
                {
                    "position": 3,
                    "title": "Emmanuel Macron - Élysée",
                    "link": "https://www.elysee.fr/emmanuel-macron",
                    "display_link": "www.elysee.fr · emmanuel-macron ",
                    "snippet": " Emmanuel Macron est le huitième Président de la Vème République française, réélu en 2022. Découvrez sa biographie, son parcours, ses engagements et ses messages sur le site officiel de l'Élysée. "
                },
                {
                    "position": 4,
                    "title": "Emmanuel Macron - Wikipedia",
                    "link": "https://en.wikipedia.org/wiki/Emmanuel_Macron",
                    "display_link": "en.wikipedia.org · wiki · Emmanuel_Macron ",
                    "snippet": " Emmanuel Jean-Michel Frédéric Macron[b] (born 21 December 1977) is a French politician who has served as President of France since 2017. He has been a member of Renaissance since founding the party in 2016. "
                },
                {
                    "position": 5,
                    "title": "Emmanuel Macron, dont le mandat se termine dans exactement un ...",
                    "link": "https://www.lemonde.fr/politique/article/2026/05/13/emmanuel-macron-assure-de-terminer-son-mandat-entretient-le-mystere-sur-l-apres-2027_6688574_823448.html",
                    "display_link": "www.lemonde.fr · politique · article ",
                    "snippet": "13 mai 2026 ·    Sauf accident, Emmanuel Macron est désormais assuré d’aller au bout de son mandat. "
                },
                {
                    "position": 6,
                    "title": "Emmanuel Macron : infos et actualités en direct - Le Parisien",
                    "link": "https://www.leparisien.fr/politique/emmanuel-macron/",
                    "display_link": "www.leparisien.fr · politique · emmanuel-macron ",
                    "snippet": "Il y a 2 jours ·    Suivez toutes les dernières actualités et infos sur Emmanuel Macron : retrouvez nos analyses, vidéos, reportages sur le président de la République française en direct. "
                },
                {
                    "position": 7,
                    "title": "Emmanuel Macron - Toute l'actualité du Président de la ...",
                    "link": "https://www.franceinfo.fr/politique/emmanuel-macron/",
                    "display_link": "www.franceinfo.fr · politique · emmanuel-macron ",
                    "snippet": " Suivez l'actualité d'Emmanuel Macron, président de la République française : biographie, discours, déplacements, conférences de presse, annonces, … Vivez l'info en live, en image et vidéos. "
                }
            ]
        }
    }
}
```

{% endtab %}

{% tab title="400: Bad Request " %}

```json
{
    "status": "error",
    "msg": "validation_error",
    "error": {
        "q": [
            "The q field is required."
        ]
    }
}
```

{% endtab %}

{% tab title="402: Payment Required" %}

```json
{
    "status": "error",
    "msg": "Your SERPHouse account has either run out of available credits (try upgrading your Plan), or there is a payment problem.",
    "error": ""
}
```

{% endtab %}

{% tab title="400: Bad Request " %}

```json
{
    "status": "error",
    "msg": "Missing required fields.",
    "error": ""
}
```

{% endtab %}

{% tab title="401: Unauthorized" %}

```json
{
    "status": "error",
    "msg": "Unauthenticated"
}
```

{% endtab %}
{% endtabs %}

## Example request:

{% tabs %}
{% tab title="BASH" %}

<pre class="language-bash"><code class="lang-bash">curl --location --request <a data-footnote-ref href="#user-content-fn-1">POST </a>'https://api.serphouse.com/yahoo-web' \
--header 'Authorization: Bearer &#x3C;YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "data": {
        "q": "Emmanuel Macron",
        "domain": "fr.yahoo.com",
        "lang": "lang_fr", 
        "device": "desktop"
    }
}'
</code></pre>

{% endtab %}

{% tab title="RUBY" %}

```ruby
require "uri"
require "json"
require "net/http"

url = URI("https://api.serphouse.com/yahoo-web")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer <YOUR_API_KEY>"
request.body = JSON.dump({
  "data": {
    "q": "Emmanuel Macron",
    "domain": "fr.yahoo.com",
    "lang": "lang_fr",
    "device": "desktop"
  }
})

response = https.request(request)
puts response.read_body
```

{% endtab %}

{% tab title="PYTHON" %}

```python
import requests
import json

url = "https://api.serphouse.com/yahoo-web"

payload = json.dumps({
  "data": {
    "q": "Emmanuel Macron",
    "domain": "fr.yahoo.com",
    "lang": "lang_fr",
    "device": "desktop"
  }
})
headers = {
  'Authorization': 'Bearer <YOUR_API_KEY>',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

```

{% endtab %}

{% tab title="NODE.JS" %}

```javascript
var axios = require('axios');
var data = JSON.stringify({
  "data": {
    "q": "Emmanuel Macron",
    "domain": "fr.yahoo.com",
    "lang": "lang_fr",
    "device": "desktop"
  }
});

var config = {
  method: 'post',
  url: 'https://api.serphouse.com/yahoo-web',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'Bearer <YOUR_API_KEY>'
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

```

{% endtab %}

{% tab title="JAVA" %}

```java

OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");

JSONObject jsonObject = new JSONObject();
JSONObject dataObject = new JSONObject();
dataObject.put("q", "Emmanuel Macron");
dataObject.put("domain", "fr.yahoo.com");
dataObject.put("lang", "lang_fr");
dataObject.put("device", "desktop");
jsonObject.put("data", dataObject);

String bodyJson = jsonObject.toString();
RequestBody body = RequestBody.create(mediaType,bodyJson);

Request request = new Request.Builder()
        .url("https://api.serphouse.com/yahoo-web")
        .method("POST", body)
        .addHeader("Content-Type", "application/json")
        .addHeader("Authorization", "Bearer <YOUR_API_KEY>")
        .build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());git
```

{% endtab %}

{% tab title="JAVASCRIPT" %}

```javascript
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR_API_KEY>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "data": {
    "q": "Emmanuel Macron",
    "domain": "fr.yahoo.com",
    "lang": "lang_fr",
    "device": "desktop"
  }
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://api.serphouse.com/yahoo-web", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```

{% endtab %}

{% tab title="GO" %}

```go
package main

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

func main() {

  url := "https://api.serphouse.com/yahoo-web"
  method := "POST"

  payload := strings.NewReader(`{
    "data": {
        "q": "Emmanuel Macron",
        "domain": "fr.yahoo.com",
        "lang": "lang_fr",
        "device": "desktop"
    }
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="C#/.NET" %}

```csharp
var client = new RestClient("https://api.serphouse.com/yahoo-web");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer <YOUR_API_KEY>");
var body = @"{
	""data"": {
			""q"": ""Emmanuel Macron"",
			""domain"": ""fr.yahoo.com"",
			""lang"": ""lang_fr"",
			""device"": ""desktop""
	 }
}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
```

{% endtab %}
{% endtabs %}

[^1]:
