Structured Search Results
Read organic result positions, titles, URLs, snippets and source details from JSON instead of parsing Yahoo search HTML yourself.
Turn Yahoo web search results into structured JSON. Collect titles, links, snippets and sitelinks, plus top stories and related searches when Yahoo includes them on the page.
{
"organic_results": [
{
"position": 1,
"title": "The 15 Best Running Shoes of 2026, Tested by Runner's World",
"link": "https://www.runnersworld.com/gear/a19663621/best-running-shoes/",
"displayed_link": "https://www.runnersworld.com › best-running-shoes",
"source": "Runner's World",
"date": "Aug 3, 2026",
"snippet": "Find the best running shoes of 2026, including Runner's World-tested picks from Adidas, Brooks, New Balance, Nike, Hoka, Asics, and more.",
"favicon": "https://s.yimg.com/pv/static/search_favicon/images/40x40_runnersworld.png"
}
],
"related_searches": [
{
"query": "best running shoes for men",
"link": "https://search.yahoo.com/search?p=best+running+shoes+for+men"
}
],
"top_stories": [
{
"position": 1,
"title": "The 9 Best Running Shoes, According to Podiatrists",
"link": "https://www.instyle.com/best-running-shoes-8745291",
"source": "InStyle",
"date": "2 days ago",
"thumbnail": "https://s.yimg.com/uu/api/res/1.2/..."
}
]
}curl "https://api.scrapingdog.com/yahoo/search?api_key=APIKEY&query=best+running+shoes&country=us&language=en"
import requests
url = "https://api.scrapingdog.com/yahoo/search"
params = {
"api_key": "APIKEY",
"query": "best running shoes",
"country": "us",
"language": "en"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
for item in data["organic_results"]:
print(item["position"], item["title"], item["link"])
else:
print(f"Request failed with status code: {response.status_code}")const axios = require('axios');
axios.get('https://api.scrapingdog.com/yahoo/search', {
params: { api_key: 'APIKEY', query: 'best running shoes', country: 'us', language: 'en' }
}).then(response => console.log(response.data.organic_results))
.catch(error => console.error(error.message));<?php
$url = 'https://api.scrapingdog.com/yahoo/search?' . http_build_query([
'api_key' => 'APIKEY',
'query' => 'best running shoes',
'country' => 'us',
'language' => 'en',
]);
echo file_get_contents($url);require 'net/http'
require 'uri'
url = URI.parse("https://api.scrapingdog.com/yahoo/search")
url.query = URI.encode_www_form('api_key' => 'APIKEY', 'query' => 'best running shoes', 'country' => 'us', 'language' => 'en')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
puts http.request(Net::HTTP::Get.new(url)).bodyimport java.io.*;
import java.net.*;
public class Main {
public static void main(String[] args) throws Exception {
String apiUrl = "https://api.scrapingdog.com/yahoo/search?api_key=APIKEY&query=best+running+shoes&country=us&language=en";
URL url = new URL(apiUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) System.out.println(line);
conn.disconnect();
}
}positiontitlelinkdisplayed_linksourcedatesnippetfaviconsitelinkstop_storiespositiontitlelinksourcedatethumbnailrelated_searchesquerylinkRead organic result positions, titles, URLs, snippets and source details from JSON instead of parsing Yahoo search HTML yourself.
Pair country with language to request results for your target market. Yahoo also uses the outgoing IP address, so country alone does not guarantee local results.
Pass page=1, page=2 and beyond. The API converts the page number into the result offset Yahoo expects.
Restrict results to the past day, week or month with time. Use safesearch to pass Yahoo's adult-content filtering setting.
Supply a full Yahoo search URL with url when you want to fetch a search page you have already configured.
Set html=true to receive Yahoo's raw HTML instead of parsed JSON when your workflow needs the original page.
Record organic positions for your target queries and compare how your pages appear in Yahoo search over time.
Compare ranking domains, page titles, snippets and sitelinks to see which competitors appear for your keywords.
Use related searches when available to find adjacent questions and topics for your editorial research.
Collect top stories when Yahoo shows them and use time filters to focus searches on recent content.
Feed source links and snippets into research assistants and retrieval workflows that need structured web search data.
Explore queries across country and language settings to study the sources and content visible to different audiences.
Sign up for Scrapingdog to start testing your Yahoo search workflow.
Copy your API key from the dashboard and pass it as api_key with each request.
Call /yahoo/search with query. Add country and language together, or use page and time to refine the search.
Read organic_results and check for top_stories, related_searches and sitelinks when the search page includes them.
Start your web scraping journey with 100 free credits. Test our service and upgrade to one of the plans below. Cancel anytime.
The API returns Yahoo web search results as structured JSON. Organic results include position, title, link, displayed link, source, date, snippet and favicon. Sitelinks, top_stories and related_searches are included when Yahoo shows them on the page.
Send a GET request to https://api.scrapingdog.com/yahoo/search with your api_key and query. You can supply a full Yahoo search url instead of a query. See the Yahoo Search API documentation for parameters and code examples.
Yes. Pass a two-letter country code and a language code together, such as country=de&language=de. Country selects Yahoo's country host, but Yahoo also uses the outgoing IP address for localization. Country alone can still return results from another market.
Use page, starting at 1. The API converts it to Yahoo's result offset. The results parameter is a hint: Yahoo usually returns 7 to 10 results regardless of the requested count.
Use time=d for the past day, time=w for the past week, or time=m for the past month. The safesearch parameter passes Yahoo's filtering value through; r is the value used by Yahoo's strict-search links.
Yes. Set html=true to receive the raw Yahoo HTML instead of parsed JSON. The default is false.
This API handles Yahoo web search. For image results, use the Yahoo Images API, which returns full-size image URLs, dimensions, thumbnails and source pages.
Get 100 free credits to spin the API. No credit card required!