# Yahoo Search API — web results with ads, People also ask answers, local results, knowledge graph, news, images, videos and suggestions from search.yahoo.com and 36 country sites

> The Yahoo web results page (search.yahoo.com or a country site) as a person sees it: organic results with title, URL, displayed URL, site name, date, snippet, sitelinks and extra paragraphs; the paid ads above and below them with advertiser, landing URL, sitelinks and callouts; People also ask with Yahoo's written answer; local results (rating, reviews, price, type, address, phone, hours, website, menu, coordinates); a knowledge graph card; inline videos (incl. TikTok) and images; top stories; related and trending searches. 7 results a page (Yahoo's own size); `count` up to 35 fetches the following pages too.
> ReefAPI engine `yahoo-search` · 5 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/yahoo-search/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Clients that add connectors by URL, such as ChatGPT and the Claude app, connect with OAuth 2.1 (the user pastes their key once on a ReefAPI page; discovery at `/.well-known/oauth-protected-resource/mcp`). Config files send the key as `Authorization: Bearer <key>`. `?key=<key>` in the URL also works as a last-resort fallback.

## Endpoints

### POST https://api.reefapi.com/yahoo-search/v1/search — 2 credits
The Yahoo web results page (search.yahoo.com or a country site) as a person sees it: organic results with title, URL, displayed URL, site name, date, snippet, sitelinks and extra paragraphs; the paid ads above and below them with advertiser, landing URL, sitelinks and callouts; People also ask with Yahoo's written answer; local results (rating, reviews, price, type, address, phone, hours, website, menu, coordinates); a knowledge graph card; inline videos (incl. TikTok) and images; top stories; related and trending searches. 7 results a page (Yahoo's own size); `count` up to 35 fetches the following pages too.

**Parameters:**
- `query` (string, required) — What you would type into Yahoo's search box. Operators Yahoo itself understands ("exact phrase", site:, -word) are passed through unchanged.
- `country` (enum, optional, default "us") — Which Yahoo country site answers (search.yahoo.com, uk.search.yahoo.com, de.search.yahoo.com, …). Results, ads, news and suggestions are that site's own. [one of: us, uk, ca, ie, in, sg, ph, my, id, vn, tw, hk, za, fr, be, ch, de, at, es, it, nl, se, no, dk, fi, gr, ro, pl, tr, il, br, mx, ar, co, cl, pe, ve]
- `page` (integer, optional, default 1) — Result page, 7 results a page (Yahoo's own page size).
- `count` (integer, optional, default 7) — How many organic results to return (1-35). Yahoo prints 7 a page; above 7 the next pages are fetched at the same time (one Yahoo page per 7 results). Ads and the other blocks come from the first page.
- `time` (enum, optional, default "any") — Only pages updated within this period (Yahoo's time filter). [one of: any, day, week, month]
- `tld` (string, optional) — Only results from these top-level domains, comma separated (".gov", ".edu,.org", ".co.uk"). Yahoo's own TLD filter.

**Returns:** query, country, page, organic_results[]{position, title, url, displayed_url, domain, site_name, favicon, snippet, date, sitelinks[]{title, url}, extensions[]}, ads[]{position, block (top|bottom), title, url, displayed_url, advertiser, domain, description, sitelinks[], extensions[]}, people_also_ask[]{question, answer, answer_type}, local_results{location, places[]{position, place_id, title, rating, reviews, reviews_source, price, type, address, phone, status, hours, website, menu, thumbnail, gps_coordinates}}, knowledge_graph{title, type, description, image, website, source, facts{}, related[]}, inline_videos[], inline_images[], top_stories[], related_searches[], trending_searches[], total_results, pagination{current, has_next, next_page}

**Example request body:**
```json
{
  "query": "coinbase alternatives"
}
```

### POST https://api.reefapi.com/yahoo-search/v1/news — 1 credit
Yahoo News search (news.search.yahoo.com or a country site): 10 articles a page with headline, URL, publisher, the outlet it ran via, age, snippet and thumbnail. Time window and newest-first.

**Parameters:**
- `query` (string, required) — What you would type into Yahoo's search box. Operators Yahoo itself understands ("exact phrase", site:, -word) are passed through unchanged.
- `country` (enum, optional, default "us") — Which Yahoo country site answers (search.yahoo.com, uk.search.yahoo.com, de.search.yahoo.com, …). Results, ads, news and suggestions are that site's own. [one of: us, uk, ca, ie, in, sg, ph, my, id, vn, tw, hk, za, fr, be, ch, de, at, es, it, nl, se, no, dk, fi, gr, ro, pl, tr, il, br, mx, ar, co, cl, pe, ve]
- `page` (integer, optional, default 1) — Result page, 10 results a page (Yahoo's own page size).
- `time` (enum, optional, default "any") — Only articles from this period. [one of: any, day, week, month]
- `sort` (enum, optional, default "relevance") — Order of articles. [one of: relevance, date]

**Returns:** query, country, page, results[]{position, title, url, domain, source, via, published, snippet, thumbnail}, pagination{current, has_next, next_page}

**Example request body:**
```json
{
  "query": "federal reserve"
}
```

### POST https://api.reefapi.com/yahoo-search/v1/images — 2 credits
Yahoo image search: 60 images a page with the full-size image URL and its width/height, the page it is on, the site and the thumbnail; related searches. Size, colour, type, layout, people, time, usage-rights and SafeSearch filters.

**Parameters:**
- `query` (string, required) — What you would type into Yahoo's search box. Operators Yahoo itself understands ("exact phrase", site:, -word) are passed through unchanged.
- `country` (enum, optional, default "us") — Which Yahoo country site answers (search.yahoo.com, uk.search.yahoo.com, de.search.yahoo.com, …). Results, ads, news and suggestions are that site's own. [one of: us, uk, ca, ie, in, sg, ph, my, id, vn, tw, hk, za, fr, be, ch, de, at, es, it, nl, se, no, dk, fi, gr, ro, pl, tr, il, br, mx, ar, co, cl, pe, ve]
- `page` (integer, optional, default 1) — Result page, 60 results a page (Yahoo's own page size).
- `size` (enum, optional, default "any") — Image size. [one of: any, small, medium, large, extra_large]
- `color` (enum, optional, default "any") — Colour. [one of: any, color, black_and_white, red, orange, yellow, green, teal, blue, purple, pink, brown, black, gray, white]
- `type` (enum, optional, default "any") — Image type. [one of: any, photo, clipart, line_drawing, gif, transparent]
- `layout` (enum, optional, default "any") — Aspect ratio. [one of: any, square, wide, tall]
- `people` (enum, optional, default "any") — People in the image. [one of: any, faces, head_and_shoulders, no_people]
- `time` (enum, optional, default "any") — Found within this period. [one of: any, day, week, month, year]
- `license` (enum, optional, default "any") — Usage rights. [one of: any, creative_commons, public_domain, free_to_share_and_use, free_to_share_and_use_commercially, free_to_modify_share_and_use, free_to_modify_share_and_use_commercially]
- `safesearch` (enum, optional, default "moderate") — Yahoo SafeSearch. strict hides adult results (a query that only has adult results then answers NOT_FOUND saying so), off shows them. [one of: strict, moderate, off]

**Returns:** query, country, page, results[]{position, title, original, width, height, source_url, source, thumbnail}, related_searches[], pagination{current, has_next, next_page}

**Example request body:**
```json
{
  "query": "red panda"
}
```

### POST https://api.reefapi.com/yahoo-search/v1/videos — 2 credits
Yahoo video search across YouTube, TikTok, Dailymotion, Vimeo, news sites and more: 60 videos a page with watch URL, title, platform, duration, views, age, description and thumbnail. Length, time, resolution, source and SafeSearch filters.

**Parameters:**
- `query` (string, required) — What you would type into Yahoo's search box. Operators Yahoo itself understands ("exact phrase", site:, -word) are passed through unchanged.
- `country` (enum, optional, default "us") — Which Yahoo country site answers (search.yahoo.com, uk.search.yahoo.com, de.search.yahoo.com, …). Results, ads, news and suggestions are that site's own. [one of: us, uk, ca, ie, in, sg, ph, my, id, vn, tw, hk, za, fr, be, ch, de, at, es, it, nl, se, no, dk, fi, gr, ro, pl, tr, il, br, mx, ar, co, cl, pe, ve]
- `page` (integer, optional, default 1) — Result page, 60 results a page (Yahoo's own page size).
- `duration` (enum, optional, default "any") — Video length. [one of: any, short, medium, long]
- `time` (enum, optional, default "any") — Uploaded within this period. [one of: any, day, week, month, year]
- `resolution` (enum, optional, default "any") — Minimum resolution. [one of: any, 360p, 480p, 720p, 1080p]
- `source` (enum, optional, default "any") — Only videos from this site. [one of: any, youtube, dailymotion, vimeo, mtv, cbs, fox, cnn, msn]
- `safesearch` (enum, optional, default "moderate") — Yahoo SafeSearch. strict hides adult results (a query that only has adult results then answers NOT_FOUND saying so), off shows them. [one of: strict, moderate, off]

**Returns:** query, country, page, results[]{position, title, url, platform, duration, views, published, description, thumbnail}, related_searches[], pagination{current, has_next, next_page}

**Example request body:**
```json
{
  "query": "coinbase alternatives"
}
```

### POST https://api.reefapi.com/yahoo-search/v1/suggest — 1 credit
Yahoo search-box suggestions (autocomplete) for what has been typed so far, from the chosen country's own suggestion service.

**Parameters:**
- `query` (string, required) — What has been typed so far.
- `country` (enum, optional, default "us") — Which Yahoo country site answers (search.yahoo.com, uk.search.yahoo.com, de.search.yahoo.com, …). Results, ads, news and suggestions are that site's own. [one of: us, uk, ca, ie, in, sg, ph, my, id, vn, tw, hk, za, fr, be, ch, de, at, es, it, nl, se, no, dk, fi, gr, ro, pl, tr, il, br, mx, ar, co, cl, pe, ve]

**Returns:** query, country, suggestions[]

**Example request body:**
```json
{
  "query": "best lapt"
}
```

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=yahoo-search
- Human docs page: https://reefapi.com/docs/yahoo-search
- Overview page: https://reefapi.com/yahoo-search-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
