Kroger
Kroger Digital Coupons API
The digital coupons offered at one Kroger, QFC or Fred Meyer store (store_id, or the banner's store nearest a ZIP), 24 per page, optionally one department or a text match. Each coupon: id, brand, title, description, terms, savings (type, amount in cents, percent), minimum quantity, categories, tags, where it is valid (pickup, delivery, in store), redemption limit, start, clip-by and expiry dates and image. Listing only: coupons are not clipped and no account is used. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonstore_idstringA store's 8-digit location_id (stores[].location_id of the stores endpoint). Send store_id or zip, not both.
Example: 70100011
zipstringA 5-digit ZIP: the banner's nearest store is used.
Example: 98101
bannerenum<string>The store banner. Optional with store_id: QFC ids start with 705, Fred Meyer ids with 701, anything else is kroger. A banner that contradicts the id is a 400.
Example: qfc
kroger— Kroger (kroger.com). The default.qfc— QFC (qfc.com): Washington and Oregon.fred_meyer— Fred Meyer (fredmeyer.com): the Pacific Northwest and Alaska, grocery plus general merchandise, apparel and home.
pageintegerdefault:1Page of coupons, 24 per page, 1-50.
Example: 2
categorystringOnly coupons in one department: a name from the response's categories list (Dairy, Beverages, Snacks, Health...).
Example: Dairy
querystringOnly coupons whose brand or text matches, 2-100 characters.
Example: coffee
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Every coupon at one Fred Meyer store, 24 per page.
page, coupons = 1, []
while True:
r = client.kroger.coupons(store_id="70100011", page=page)["data"]
coupons += r["coupons"]
if not r["has_more"]:
break
page += 1
print(len(coupons), "of", r["total_at_store"])Response