> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapeunblocker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Yahoo plugin

> Yahoo web and image search as clean JSON - organic results, top and bottom ads and related searches from Yahoo's regional sites, plus image results with the full-resolution image URL, source page and dimensions.

The **Yahoo** plugin turns Yahoo searches into structured JSON. It has two endpoints:

* **Web search** (`/search/yahoo`) - a keyword to the results page: organic results with position, title, URL, displayed URL, domain and description, top and bottom ads in their own lists, and related searches. Organic links come back as the destination URL, not Yahoo's `r.search.yahoo.com` redirect. The response has the same shape as Google results from [`/serpApi`](/guides/serp-scraping).
* **Image search** (`/images/yahoo-search`) - a keyword to image results: the full-resolution image URL on the publisher's site (not a thumbnail), the source domain and page, title, site name, thumbnail, pixel dimensions and a Yahoo viewer link. The response has the same shape as the [Google Images plugin](/plugins/google-images).

`proxy_country` picks Yahoo's regional site (for example `de.search.yahoo.com` for `DE` or `uk.search.yahoo.com` for `GB`) and the country the search is sent from, so you get the results and ads a searcher there sees. A country without a regional site uses `search.yahoo.com`. No Yahoo account is involved.

<Note>
  Try it in the dashboard first: [app.scrapeunblocker.com/dashboard/plugins](https://app.scrapeunblocker.com/dashboard/plugins). You get a live results view plus a copy-paste snippet.
</Note>

## Web search

```
POST /search/yahoo
```

| Field | Required | Notes |
| - | - | - |
| `keyword` | yes | Search terms, e.g. `project management software`. |
| `pages_to_check` | no | How many result pages to collect, `1`-`10`. Default `1`. Yahoo shows about 7 organic results per page. |
| `proxy_country` | no | Country to search from (ISO-2), e.g. `US`, `DE`. Picks Yahoo's regional site and the location the search is sent from, which decides the ads. Default `US`. |
| `language` | no | ISO-639-1 code, e.g. `de`. When set, Yahoo returns only results in that language; without it the regional site's default applies. |

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://api.scrapeunblocker.com/search/yahoo?keyword=project%20management%20software&proxy_country=US" \
    -H "x-scrapeunblocker-key: YOUR_API_KEY"
  ```

  ```python Python theme={null}
  from scrapeunblocker import Client

  su = Client()  # reads SCRAPEUNBLOCKER_KEY

  result = su.yahoo_search("project management software", proxy_country="US")
  ```

  ```ts Node.js theme={null}
  import { ScrapeUnblockerClient } from "scrapeunblocker";

  const su = new ScrapeUnblockerClient(); // reads SCRAPEUNBLOCKER_KEY

  const result = await su.yahooSearch("project management software", { proxyCountry: "US" });
  ```

  ```php PHP theme={null}
  use ScrapeUnblocker\Client;

  $su = new Client(); // reads SCRAPEUNBLOCKER_KEY

  $result = $su->yahooSearch('project management software', ['proxy_country' => 'US']);
  ```

  ```ruby Ruby theme={null}
  require "scrapeunblocker"

  su = ScrapeUnblocker::Client.new # reads SCRAPEUNBLOCKER_KEY

  result = su.yahoo_search("project management software", proxy_country: "US")
  ```
</CodeGroup>

<Note>
  Each results page fetched is billed as one request: `pages_to_check=3` that returns three pages counts as 3 requests, and `pagesChecked` shows the exact number.
</Note>

### Response

```json theme={null}
{
  "engine": "yahoo",
  "keyword": "project management software",
  "country": "US",
  "language": "en",
  "totalResults": null,
  "resultsCollected": 7,
  "topAdsCount": 0,
  "bottomAdsCount": 0,
  "organicResultsCount": 7,
  "topAds": [],
  "bottomAds": [],
  "organic": [
    {
      "position": 1,
      "title": "10 Best Project Management Software of 2026 - Forbes Advisor",
      "url": "https://www.forbes.com/advisor/business/software/best-project-management-software/",
      "displayedUrl": "https://www.forbes.com › advisor › business",
      "domain": "forbes.com",
      "description": "Sep 25, 2026 · To find the best project management software, we evaluated 26 platforms and scored 61 metrics."
    },
    {
      "position": 2,
      "title": "The Best Project Management Software for 2026",
      "url": "https://www.pcmag.com/picks/the-best-project-management-software",
      "displayedUrl": "https://www.pcmag.com › picks › the-best-project-management",
      "domain": "pcmag.com",
      "description": "Jul 16, 2026 · Have a major deliverable coming up that involves lots of people and tasks? The top project management apps..."
    }
  ],
  "relatedSearches": [
    "construction project management software",
    "microsoft project management software",
    "free project management software"
  ],
  "pagesChecked": 1,
  "hasMore": true
}
```

| Field | Notes |
| - | - |
| `organic` | Organic results in page order: `position`, `title`, `url` (the destination, decoded from Yahoo's redirect link), `displayedUrl`, `domain` and `description` (the snippet). |
| `topAds` / `bottomAds` | Ads above and below the results, with the same fields; `domain` is the advertiser's domain. Yahoo does not show ads on every query, so an empty list (as above) is a normal answer. |
| `relatedSearches` | Yahoo's related searches. |
| `totalResults` | Always `null`. Kept for the same shape as `/serpApi`. |
| `resultsCollected` | Ads plus organic results returned. `topAdsCount`, `bottomAdsCount` and `organicResultsCount` count each list. |
| `pagesChecked` / `hasMore` | Pages fetched (the billed number) and whether Yahoo has more pages. |

## Image search

```
POST /images/yahoo-search
```

| Field | Required | Notes |
| - | - | - |
| `q` | yes | Image search term, e.g. `golden gate bridge`. |
| `pages` | no | How many result pages to fetch, `1`-`10` (about 60 results each). Default `1`. |
| `max_results` | no | Cap on the number of results returned, `1`-`600`. Default: all results of the fetched pages. |
| `proxy_country` | no | Country to search from (ISO-2); picks Yahoo's regional image site (e.g. `de.images.search.yahoo.com` for `DE`). Default `US`. |

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://api.scrapeunblocker.com/images/yahoo-search?q=golden%20gate%20bridge&max_results=5&proxy_country=US" \
    -H "x-scrapeunblocker-key: YOUR_API_KEY"
  ```

  ```python Python theme={null}
  from scrapeunblocker import Client

  su = Client()  # reads SCRAPEUNBLOCKER_KEY

  result = su.yahoo_images("golden gate bridge", max_results=5, proxy_country="US")
  ```

  ```ts Node.js theme={null}
  import { ScrapeUnblockerClient } from "scrapeunblocker";

  const su = new ScrapeUnblockerClient(); // reads SCRAPEUNBLOCKER_KEY

  const result = await su.yahooImages("golden gate bridge", { maxResults: 5, proxyCountry: "US" });
  ```

  ```php PHP theme={null}
  use ScrapeUnblocker\Client;

  $su = new Client(); // reads SCRAPEUNBLOCKER_KEY

  $result = $su->yahooImages('golden gate bridge', ['max_results' => 5, 'proxy_country' => 'US']);
  ```

  ```ruby Ruby theme={null}
  require "scrapeunblocker"

  su = ScrapeUnblocker::Client.new # reads SCRAPEUNBLOCKER_KEY

  result = su.yahoo_images("golden gate bridge", max_results: 5, proxy_country: "US")
  ```
</CodeGroup>

<Note>
  Each results page fetched is billed as one request: `pages=3` counts as 3 requests, and `pagesFetched` shows the exact number. `max_results` only trims the list, it does not change the pages fetched.
</Note>

### Response

```json theme={null}
{
  "engine": "yahoo",
  "query": "golden gate bridge",
  "gl": "us",
  "proxyCountry": "US",
  "resultsCollected": 5,
  "pagesFetched": 1,
  "hasMore": true,
  "results": [
    {
      "position": 1,
      "imageUrl": "https://cdn.britannica.com/13/77413-050-95217C0B/Golden-Gate-Bridge-San-Francisco.jpg",
      "sourceDomain": "britannica.com",
      "sourcePageUrl": "https://www.britannica.com/topic/Golden-Gate-Bridge",
      "title": "Golden Gate Bridge | History, Construction, & Facts | Britannica",
      "sourceName": "www.britannica.com",
      "thumbnailUrl": "https://tse3.mm.bing.net/th/id/OIP.9XsqX3Ps1eIb0pi2tSYCowHaFa?r=0&pid=Api&h=220&P=0",
      "width": 1600,
      "height": 1168,
      "fileSize": null,
      "yahooImagesUrl": "https://images.search.yahoo.com/search/images;_ylt=A2RRO6i90c1qBgMAxWGJzbkF;...?p=golden+gate+bridge&imgurl=https%3A%2F%2Fcdn.britannica.com..."
    },
    {
      "position": 2,
      "imageUrl": "https://offloadmedia.feverup.com/secretsanfrancisco.com/wp-content/uploads/2023/05/12071351/gg-bridge.jpg",
      "sourceDomain": "secretsanfrancisco.com",
      "sourcePageUrl": "https://secretsanfrancisco.com/golden-gate-bridge-us-landmark/",
      "title": "Golden Gate Bridge Ranks As 6th Most Popular US Landmark",
      "sourceName": "secretsanfrancisco.com",
      "thumbnailUrl": "https://tse3.mm.bing.net/th/id/OIP.m5BKkCYRGvOi1M61dRKBcAHaFj?r=0&pid=Api&h=220&P=0",
      "width": 1200,
      "height": 900,
      "fileSize": null,
      "yahooImagesUrl": "https://images.search.yahoo.com/search/images;_ylt=A2RRO6i90c1qBgMAx2GJzbkF;...?p=golden+gate+bridge&imgurl=https%3A%2F%2Foffloadmedia.feverup.com..."
    }
  ]
}
```

| Field | Notes |
| - | - |
| `imageUrl` | The full-resolution original image on the publisher's site, not a thumbnail. |
| `sourceDomain` / `sourcePageUrl` | The site and the page that show the image. |
| `title` / `sourceName` | The result title and the site Yahoo shows for it. |
| `thumbnailUrl` | The thumbnail Yahoo shows in its grid, for fast previews. |
| `width` / `height` | Original image dimensions in pixels. |
| `fileSize` | Kept for the same shape as the Google Images plugin. Always `null` for Yahoo. |
| `yahooImagesUrl` | Yahoo's image viewer link for the result. |
| `pagesFetched` / `hasMore` | Pages fetched (the billed number) and whether Yahoo has more results. |

## Errors

| Status | Meaning |
| - | - |
| `400` | Invalid parameters, e.g. a `proxy_country` that is not an ISO-2 code (or not available) or a `language` that is not an ISO-639-1 code. |
| `502` | Yahoo blocked the search, returned no results page, or the search did not finish in time. Retry. |

## What you can build

* **Rank tracking** - follow where your pages rank on Yahoo's regional sites next to Google, with one parser for both.
* **Ad intelligence** - see which advertisers show on your keywords in each country.
* **Keyword research** - collect related searches for content planning.
* **Image sourcing and monitoring** - find where an image appears, with the original file and the page that uses it.

## Next steps

<CardGroup cols={2}>
  <Card title="Open the plugins" icon="play" href="https://app.scrapeunblocker.com/dashboard/plugins">
    Run a Yahoo search and grab the JSON.
  </Card>

  <Card title="Get an API key" icon="key" href="https://scrapeunblocker.com/pricing">
    Free trial available on the pricing page.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.