Endpoints & Pricing
Two Shopping Engines, One Endpoint
Choose Google or Yahoo for dedicated product search. Both engines return the same normalized fields and share the same price per tier.
Google Shopping
- engine=google product search
- Google-style fields: link, source & price
- Thumbnail per product
- Sponsored & snippet on each listing
- Country & language targeting
- Up to 100 products per request
Yahoo Shopping (default)
- engine=yahoo product search
- Yahoo-style fields: url, merchant & price
- Thumbnail per product
- Separate currency field on every priced item
- Country & language targeting
- Up to 100 products per request
Quick Start
Search Products in Seconds
One API call returns a structured product listing grid. Yahoo is the default engine — pass engine=google to switch.
# Search Google Shopping for nike running shoes curl "https://apiserpent.com/api/shopping?q=nike+running+shoes&engine=google&num=10" \ -H "X-API-Key: YOUR_API_KEY"
{
"success": true,
"query": "nike running shoes",
"type": "shopping",
"engine": "google",
"country": "us",
"results": {
"shopping": [
{
"position": 1,
"title": "Nike Vomero 18 Men's Road Running Shoes",
"link": "https://www.nike.com/...",
"source": "Nike",
"price": "$150.00",
"currency": "USD",
"thumbnail": "https://.../product.jpg",
"product_rating": 4.7,
"product_reviews": 128,
"sponsored": false,
"snippet": "A stable, responsive daily trainer..."
}
],
"totalResults": 10
},
"meta": {
"totalShopping": 10,
"elapsed": "4200ms",
"timestamp": "2026-08-04T10:30:00.000Z"
}
}
import requests resp = requests.get( "https://apiserpent.com/api/shopping", params={"q": "nike running shoes", "engine": "google", "num": 10}, headers={"X-API-Key": "YOUR_API_KEY"}, timeout=60, ) products = resp.json()["results"]["shopping"] for p in products: print(p["title"], p.get("price"), p.get("source"))
const res = await fetch( "https://apiserpent.com/api/shopping?q=nike+running+shoes&engine=google&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.source); }
Price and ratings are returned when the shopping source provides them. engine=google returns link/source/product_rating; engine=yahoo returns url/merchant/rating. Use format=simple for a lighter payload.
Data Fields
Structured Product Data from Every Engine
Each product result includes the fields you need for price monitoring, SKU 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)
- num (results count, 1-100)
- country (localization)
- language (2-letter code)
- format (full | simple)
Engine Comparison
- Google: engine=google
- Yahoo: engine=yahoo (default)
- Same normalized fields both engines
- Same price within each tier
- One API key, one endpoint
Use Cases
- Competitive price monitoring
- SKU & product matching
- Ecommerce market research
- Product feed validation
- Price-drop alerting
FAQ
Shopping API Questions
format=simple to get just position, title, price, merchant, URL, and thumbnail.
engine=google and engine=yahoo. Yahoo is the default. Both engines return the same normalized product fields and share the same pricing, so you can compare product availability across engines with the same call shape.
/api/shopping) is a dedicated product search endpoint that returns a product listing grid. The Web SERP API (/api/search) returns organic search results, which may include a Shopping carousel or product listings section among other SERP features. Use the dedicated endpoint when you want product data specifically.
Start using the Shopping API
Shopping requires paid credits from call 1. Search Google and Yahoo product listings for as little as $0.03 per 1,000 calls.
View Pricing Try the Playground







