How to Get Yahoo Shopping Product Data in 2026 (Tested)

By Anurag Pathak · · 8 min read

Most "Yahoo Shopping API" coverage is either Google-first vendor copy or a tutorial that quietly assumes Yahoo has the same product data Google does. So I ran product queries through /api/shopping?engine=yahoo myself in early August 2026 and wrote down what came back — including the parts that break.

In saved August 2026 examples, Yahoo returned compact product-card lists. Prices, ratings and review counts were conditional: early runs had prices on 0/10, 0/10 and 1/11 cards, while a next-day check found 6–8 of 10. Use those as dated examples, not a guaranteed result count or current endpoint proof.

The Shopping API is live. GET /api/shopping returns real product listings — title, price, currency, store, link, image, and rating where the listing shows one — on engine=google, yahoo, ddg or brave. Not every listing shows a price, so code for a missing one. Rates are on the Shopping API page.

How I tested

I ran five product queries through /api/shopping with engine=yahoo: sony wh-1000xm5, iphone 15 case, nike running shoes, breville barista express, and kindle paperwhite. From the United States, English, num=10 and num=100, August 3–4, 2026.

I logged which fields were populated, how often prices were null, how long the result list actually was, and which fields never appeared. Two runs of the same query set let me see how stable the price field is.

Which fields actually come back

FieldReturned whenObserved coverage
positionAlwaysEvery listing
titleAlwaysEvery listing
merchant / storeAlwaysEvery listing
urlAlwaysEvery listing
thumbnailAlmost alwaysNearly every listing
priceWhen the card renders one0/10, 0/10, 1/11 on first runs; 6–8/10 on re-test
extractedPriceWith a priceTracks price coverage (numeric)
rating / reviewsWhen the source shows themOften null
sponsoredAlwaysWhen a supported ad indicator is present
snippetSometimesShort description when present

The stable core is position, title, merchant/store, url, and thumbnail. Yahoo is the only card engine that also gives you a ready numeric extractedPrice alongside the display string — handy when you want to skip a string-parsing step.

What a Yahoo product rail actually is

Yahoo Shopping can display product cards with names, thumbnails, merchants and, when available, prices. A card’s position does not establish its commercial status. Count an ad only when the page or response supplies a reliable label; keep other cards unclassified.

Yahoo's cards are well-structured — the placement is stable and consistent across queries, so the returned fields stay predictable.

The endpoint: /api/shopping with engine=yahoo

The Shopping endpoint is /api/shopping. Add engine=yahoo to get Yahoo Shopping results. A plain request without an engine returns Google Shopping results, which use Google-style field names (link, source, extracted_price).

ParameterWhat it does
qThe product query (“iphone 15 case”)
engineyahoo (set it for Yahoo results; google is the default)
numRequested products per call, up to 100 — in our October 2026 measurement a call returned at most 20
countryTwo-letter ISO code to localize product results
languageOptional two-letter language code
formatfull (default) or simple

A first request looks like this:

https://apiserpent.com/api/shopping?q=iphone+15+case&engine=yahoo&num=10&country=us

A working Node.js example

Here is the whole thing in Node.js with fetch — query Yahoo Shopping, then print each product's title, price, and 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 json = await res.json();

for (const p of json.results.shopping) {
  console.log(p.position, p.title, p.price ?? 'no price', p.merchant);
}

Five lines. No parser to maintain, no HTML to clean — the product cards arrive as JSON objects ready to store in a database, compare, or feed into a price-alerting loop.

The response shape and the honest price field

Each product result carries the fields that make up the card. A typical item looks like this:

{
  "position": 1,
  "title": "Spigen Mag Armor MagFit for iPhone 15",
  "price": "$49.99",
  "extractedPrice": 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..."
}

Now the honest caveat, with numbers. On August 3, 2026 I ran the five queries and prices came back null on 0, 0, and 1 of the placements across my runs. When I re-ran the same queries on August 4, 6–8 of 10 placements carried a price. The price field is real when it is there — but it is not guaranteed on any given read.

This is not a bug in the API. Yahoo hydrates the price footer asynchronously after the card renders, so a small share of placements can appear without a displayed price at the moment the results are read. The API returns null rather than inventing a number. Build your pipeline to treat null prices as expected (use p.price ?? 'no price', or skip nulls when averaging).

Depth ceiling and the dead classic URL

The second hard limit is depth. In our October 2026 measurement a call returned up to 20 listings (about 17 on average). There is no pagination on this source, and requesting more does not conjure extra listings.

Build against the documented /api/shopping contract. Historical search-page URLs are outside the API contract.

What you do NOT get

None of these are API defects — they are properties of the source. The honest framing is that Yahoo Shopping data is a useful second opinion on a market, not a complete one. For a deeper comparison of what the engines return, see our Google product-SERP field audit and the Shopping API hub.

Price monitoring with Yahoo Shopping

Because each result is a merchant offer at a price (where one renders), Yahoo data slots into the same shopping price-monitoring playbook as the other engines: query on a schedule, read extractedPrice (a number, no parsing needed), and track the lowest offer per product over time. When the minimum drops below a threshold, you have a price-drop signal. Our price-drop alerts post shows how to turn that into a notification.

Yahoo Shopping product cards, as JSON.

Serpent returns Yahoo Shopping product listings — titles, prices, merchants, URLs, and thumbnails — through one endpoint, with Google Shopping one parameter away. Pay-as-you-go, credits never expire, no subscription. Try it with the free API key.

Get Your Free API Key

Explore: Yahoo Shopping API · Shopping API · Docs · Playground

FAQ

What Yahoo Shopping data does the API return?

A compact rail of product cards as JSON: position, title, url, merchant and store names, and thumbnail on every listing; price, extractedPrice, currency, rating, reviews, sponsored, and snippet when the source provides them. In our October 2026 measurement a call returned up to 20 listings (about 17 on average), and roughly 12 of them showed a price.

Is Yahoo the default engine for the Shopping API?

No. Google Shopping is the default. Pass engine=yahoo for Yahoo Shopping's stable, well-structured product-card listings; every engine costs the same.

Is a price always returned for every product?

No. In my first runs prices were null on most placements (0/10, 0/10, then 1/11); a re-test returned prices on 6–8 of 10. Yahoo hydrates the price footer after the card renders, so some placements appear without a displayed price at read time. Always handle null prices rather than assuming every result has one.

Which URL should my client call?

Use the documented Shopping API route. Historical search-page URLs and internal interfaces are outside this API contract.

How many Yahoo Shopping results do you actually get per query?

Up to 20 listings per call: about 17 on average in our October 2026 measurement, and not every listing shows a price. There is no pagination on this source, so treat the response length as the ceiling.

How much does the Yahoo Shopping API cost?

Yahoo Shopping search is $0.35 per 1,000 requests on the Default tier, $0.32 per 1,000 on Growth, and $0.25 per 1,000 on Scale. Credits never expire and there is no monthly subscription.