Yahoo

Cheapest Yahoo Shopping API for Developers

Yahoo Shopping product results as JSON — titles, prices with currency, stores, links, images and ratings.

Get an API Key API Documentation View Pricing
engine=yahoo From $0.18/1K calls Price and currency fields Four engines, one endpoint

Run a live shopping search

One free run per day without signing up — a free account adds 10 free calls shared across services.

Yahoo Shopping Search API: One Call per Product Query

Price monitoring, SKU matching and ecommerce research all start from the same thing: the products a search shows for a query, as data rather than pixels. Send a product query to /api/shopping with engine=yahoo and you get them back as a ranked JSON list, one row per product.

Each row carries the title, the price as the listing shows it plus a numeric price and a currency code, the store, a product link and an image, with rating and review count where the listing has them. yahoo, ddg and brave share one card-style shape (url, merchant, store, extractedPrice, rating, reviews), while engine=google answers in Google-style keys (link, source, extracted_price, product_rating).

Add engine=yahoo. /api/shopping?q=<query>&engine=yahoo is a Yahoo Shopping search; without an engine the endpoint returns Google Shopping results.
cURL — Yahoo Shopping (engine=yahoo)
# Yahoo Shopping: "iphone 15 case"
curl "https://apiserpent.com/api/shopping?q=iphone+15+case&engine=yahoo&num=10&country=us" \
  -H "X-API-Key: YOUR_API_KEY"
Python (requests)
import os
import requests

resp = requests.get(
    "https://apiserpent.com/api/shopping",
    params={"q": "iphone 15 case", "engine": "yahoo", "num": 10, "country": "us"},
    headers={"X-API-Key": os.environ["SERPENT_API_KEY"]},
    timeout=60,
)
data = resp.json()
if not data.get("success"):
    raise SystemExit(data.get("message"))

for p in data["results"]["shopping"]:
    # extractedPrice is the price as a number (None when the listing shows no price)
    print(p["position"], p["title"], p["extractedPrice"], p["currency"], p["merchant"], p["url"])
Node.js (fetch)
// Node 18+ has fetch built in. Save as shopping.mjs and run: node shopping.mjs
const params = new URLSearchParams({ q: "iphone 15 case", engine: "yahoo", num: "10", country: "us" });
const res = await fetch(`https://apiserpent.com/api/shopping?${params}`, {
  headers: { "X-API-Key": process.env.SERPENT_API_KEY },
});
const data = await res.json();
if (!data.success) throw new Error(data.message);

// Cheapest priced product first; rows without a price are kept out of the sort.
const priced = data.results.shopping.filter((p) => p.extractedPrice != null);
priced.sort((a, b) => a.extractedPrice - b.extractedPrice);
for (const p of priced) console.log(p.extractedPrice, p.currency, p.title, p.merchant);
JSON Response (engine=yahoo, partial, values illustrative)
{
  "success": true,
  "query": "iphone 15 case",
  "type": "shopping",
  "engine": "yahoo",
  "country": "us",
  "results": {
    "shopping": [
      {
        "position": 1,
        "title": "Clear MagSafe Case for iPhone 15",
        "price": "$24.99",
        "extractedPrice": 24.99,
        "currency": "USD",
        "merchant": "Example Store",
        "store": "Example Store",
        "url": "https://www.example-store.com/product/12345",
        "thumbnail": "https://www.example-store.com/images/12345.jpg",
        "rating": 4.6,
        "reviews": 318,
        "sponsored": false
      }
    ],
    "totalResults": 10
  },
  "meta": {
    "totalShopping": 10,
    "elapsed": "2900ms",
    "timestamp": "2026-10-22T10:30:00.000Z"
  }
}

Price, currency, rating and review count are filled when the product listing shows them and null otherwise. Use format=simple for a lighter row of position, title, price, store, link and image.

Shopping API vs. the Web SERP API

The Web SERP API (/api/search?engine=yahoo) returns organic search results and the other blocks of a results page. When you specifically want product rows — for price feeds, SKU matching or price-drop alerts — use /api/shopping?engine=yahoo: every row is shaped as a product, and a priced row carries its currency code in its own field.

Structured Yahoo Shopping Product Data

Every product row carries the fields price monitoring, product matching and ecommerce research need, at one flat rate per call.

Product Fields

  • shopping[].position
  • shopping[].title
  • shopping[].price
  • shopping[].extractedPrice
  • shopping[].currency
  • shopping[].merchant, .store
  • shopping[].url
  • shopping[].thumbnail
  • shopping[].rating
  • shopping[].reviews

Request Parameters

  • q (product query, required)
  • engine=yahoo
  • num (1–100; up to num)
  • country (2-letter code)
  • language (2-letter code)
  • format (full | simple)

Use Cases

  • Price monitoring
  • Store coverage checks
  • Product & SKU matching
  • Ecommerce market research
  • Price-drop alerting

Shopping pricing

  • Default: $0.35/1K calls
  • Growth: $0.32/1K calls
  • Scale: $0.25/1K calls
  • Enterprise: $0.21/1K calls
  • Enterprise Plus: $0.18/1K calls
  • Same rate on all four engines
  • Credits never expire

Yahoo Shopping API Questions

One call to /api/shopping with engine=yahoo returns a ranked list of products as JSON: position, title, price as shown plus a numeric price and currency code, the store, the product link, an image, and rating and review count where the listing shows them. num sets how many rows you want, from 1 to 100 (20 when you leave it out). You get up to num and a short answer says so. format=simple trims each row to position, title, price, store, link and image.
Shopping search is $0.35 per 1,000 calls on the Default tier, $0.32 per 1,000 on Growth after one $100 deposit, $0.25 per 1,000 on Scale after one $500 deposit, $0.21 per 1,000 on Enterprise after one $1,000 deposit and $0.18 per 1,000 on Enterprise Plus after one $1,250 deposit. All four engines cost the same within each tier, there is no monthly subscription, and credits never expire. One free run per day without signing up — a free account adds 10 free calls shared across services.
No. A row carries a price when the product listing shows one, and then price holds the listing’s own text, the numeric field holds the amount and currency the currency code. When a listing shows no price, those fields are null and the row is still returned; rating and review count follow the same rule. A query that is not about a buyable product can come back with few or no priced rows, so filter on the numeric price before you compare anything.
Not in the request: /api/shopping takes q, engine, country, language, num and format, with no price-range or sort parameter. Every priced row carries a numeric extractedPrice with its currency, so cheapest-first sorting or a price band is one line in your own code — the Node example above sorts by price, and keeping rows between 50 and 150 is a single filter on the same field.
No. Google Shopping is the default, so /api/shopping?q=<query> on its own returns Google Shopping results. Pass engine=yahoo for Yahoo Shopping cards; engine=ddg and engine=brave are also available, and the price is the same for all four.
The Shopping API (/api/shopping?engine=yahoo) is a dedicated product endpoint: every row is shaped as a product, with price, currency and store fields. The Web SERP API (/api/search?engine=yahoo) returns organic search results and the other blocks of a results page. Use the Shopping endpoint when you want product data specifically.
Yes. Pass a 2-letter country code and an optional 2-letter language code to aim the product search at a market. Prices come back in local currency, with the currency code in its own field, so you do not have to parse a currency symbol.

Start using the Yahoo Shopping API

One free run per day without signing up — a free account adds 10 free calls shared across services. Yahoo Shopping product results from $0.18 per 1,000 calls, the same rate on every engine.

Get an API Key API Documentation

Related guides

More shopping and search APIs.

Shopping APIFour-engine product search (google · yahoo · ddg · brave) in one endpoint. Google Shopping APIGoogle Shopping product search via /api/shopping. DuckDuckGo Shopping APIDuckDuckGo product search via /api/shopping?engine=ddg. Brave Shopping APIBrave product search via /api/shopping?engine=brave. Price Monitoring with SERP APIBuild a price monitoring tool with a SERP API. All SERP APIsWeb, news, images, and video across five engines.