Yahoo Shopping Data
One of Four Shopping Sources, in the Same Endpoint
Nearly every Shopping API on the market is Google-only. The Serpent Shopping API spreads across four engines — Google, Yahoo, DuckDuckGo, and Brave — so you can compare what each surfaces for the same product query without juggling a different API per source.
Serpent's Shopping API returns Yahoo product listings as structured JSON. Yahoo is the default engine, so a plain call to /api/shopping returns Yahoo results without any extra parameters — switch to engine=google, engine=ddg, or engine=brave when you want a different engine.
/api/shopping?q=<query> returns Yahoo Shopping results — no engine parameter needed.# Search Yahoo Shopping for iphone 15 case (engine defaults to yahoo) curl "https://apiserpent.com/api/shopping?q=iphone+15+case&num=10&country=us" \ -H "X-API-Key: YOUR_API_KEY"
import requests resp = requests.get( "https://apiserpent.com/api/shopping", params={"q": "iphone 15 case", "engine": "yahoo", "num": 10}, headers={"X-API-Key": "YOUR_API_KEY"}, timeout=60, ) for p in resp.json()["results"]["shopping"]: print(p["title"], p.get("price"), p.get("merchant"))
const res = await fetch( "https://apiserpent.com/api/shopping?q=iphone+15+case&engine=yahoo&num=10", { headers: { "X-API-Key": "YOUR_API_KEY" } }, ); const { results } = await res.json(); for (const p of results.shopping) { console.log(p.title, p.price, p.merchant); }
{
"success": true,
"query": "iphone 15 case",
"type": "shopping",
"engine": "yahoo",
"country": "us",
"results": {
"shopping": [
{
"position": 1,
"title": "Spigen Mag Armor MagFit for iPhone 15",
"price": "$49.99",
"currency": "USD",
"merchant": "spigen.com",
"store": "spigen.com",
"url": "https://spigen.com/products/...",
"thumbnail": "https://.../product.jpg",
"rating": 4.5,
"reviews": 342,
"sponsored": true,
"snippet": "Shockproof military-grade case with built-in MagSafe..."
}
],
"totalResults": 10
},
"meta": {
"totalShopping": 10,
"elapsed": "4100ms",
"timestamp": "2026-08-04T10:30:00.000Z"
}
}
Price, rating, and review count are returned when the underlying shopping source provides them.
Why multiple shopping engines matter
Google, Yahoo, DuckDuckGo, and Brave are independent sources. The same query can surface different merchants, different prices, and different product availability in each. Querying all four gives you a broader, more representative view of the market — and lets you cross-check price movements instead of trusting a single source.
Because all four engines flow through the same endpoint with the same normalized fields, switching between them is a one-parameter change (engine=google, engine=yahoo, engine=ddg, or engine=brave).
Data Fields
Structured Yahoo Shopping Product Data
Every product result includes the fields you need for price monitoring, product matching, and ecommerce research.
Product Fields
- shopping[].position
- shopping[].title
- shopping[].price
- shopping[].merchant
- shopping[].store
- shopping[].url
- shopping[].thumbnail
- shopping[].rating
- shopping[].reviews
Request Parameters
- q (product query)
- engine (google | yahoo | ddg | brave)
- num (results count, up to 20)
- country (localization)
- language (2-letter code)
- format (full | simple)
Use Cases
- Cross-engine price monitoring
- Merchant coverage comparison
- Product & SKU matching
- Ecommerce market research
- Price-drop alerting
Pricing
- Default: $0.60/1K
- Growth: $0.54/1K
- Scale: $0.42/1K
- Paid from call 1
- Credits never expire
FAQ
Yahoo Shopping API Questions
num to request up to 20 products per call.
engine=google, engine=ddg, or engine=brave.
google, yahoo (default), ddg, and brave. Yahoo is one of them, using the card-style field shape (url, merchant, store, rating, reviews). Querying multiple engines gives you a broader view of the market for a product.
Start using the Yahoo Shopping API
Pull Yahoo Shopping product listings as structured JSON for as little as $0.42 per 1,000 calls.
View Pricing Try the Playground


