Every result is a product with a price_summary, a price_insight and an array of offers; each offer carries its own coupons. Money fields end in _usd and are plain numbers. The field to rank on is offer.effective_price_usd.
What is in a product?
Field
Type
Description
id
string
Stable id, prd_….
slug, url
string
Readable identifier and the product's page on cart-route.com.
title, brand, category, subcategory
string
Descriptive fields.
identifiers
object
gtin, mpn, model. Offers are matched across retailers on these, never on title.
rating, review_count
number
Aggregate rating out of 5.
summary
string
An editorial note on buying this product, often about how its price behaves.
specs
object
Display-ready specifications. Only on get product.
Tracked redirect to the same place, via cart-route.com.
last_checked_at, freshness_seconds
When the price was last observed and how long ago.
How exactly is effective price calculated?
Start from price_usd.
Add shipping_usd to get landed_price_usd. Tax is excluded because it depends on the delivery address.
From the coupons that apply to this product and retailer, meet their minimum spend and need no eligibility, take the single largest saving. Coupons are never stacked. A percent coupon saves that share of the price; amount saves a fixed sum; shipping saves the shipping charge; gift_card saves nothing up front.
object (the response type), api_version, data_source, request_id (quote it to support), generated_at, and on metered calls credits. A replayed idempotent call adds idempotent_replay: true.