Brave Shopping Data
Brave's Product Module, As Structured JSON
Brave surfaces a rich set of product listings for shopping queries — merchants, prices, ratings, and product images all in one place. The Serpent Shopping API turns that into structured JSON you can query with the rest of your product data.
Pass engine=brave and the endpoint returns Brave product listings with the same normalized card fields as the other card-based engines (url, merchant, store, rating, reviews) — so switching between card-based engines is a one-parameter change. Brave coverage is strongest for US product queries.
engine=google|yahoo|ddg|brave. Yahoo is the default — a bare call to /api/shopping?q=<query> returns Yahoo Shopping results.# Search Brave Shopping for iphone 15 case curl "https://apiserpent.com/api/shopping?q=iphone+15+case&engine=brave&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": "brave", "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=brave&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": "brave",
"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-06T10:30:00.000Z"
}
}
Price, rating, and review count are returned when the underlying shopping source provides them.
Why a fourth shopping engine matters
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 Brave 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.06/1K
- Scale: $0.03/1K
- Included in 10 shared free calls
- Credits never expire
FAQ
Brave Shopping API Questions
num to request up to 20 products per call.
google, yahoo (default), ddg, and brave. Brave results use the same normalized card fields as Yahoo and DuckDuckGo (url, merchant, store, price, rating, reviews), while engine=google returns Google-style fields (link, source, product_rating). Switching engines is a one-parameter change.
Start using the Brave Shopping API
Pull Brave product listings as structured JSON for as little as $0.03 per 1,000 calls.
View Pricing Try the Playground


