A product, field by field
Last updated ยท Page 2 of 5
Every product a walk, a search or a product read returns has these fields; each one is also
described, with an example, in the API documentation. A field that can be
unknown is null, never left out.
| Field | What it holds | Example |
|---|---|---|
id | The product's id: the productId of a cart line | "e4d9fb19-3de1-4b36-8398-6d54f197a2e3" |
title | The offer's title as groupon.com shows it | "60-minute Tailored Deep-Tissue or Swedish Massage" |
shortDescription | A short plain-text summary, for a card or a list | "4.8-Star Rating, over 4,200 reviews." |
description | The offer's description, plain text | "A peaceful oasis in Lincoln Park." |
status | active, sold_out or expired; list only active | "active" |
availabilityRequired | true when the offer is booked, not put in a cart | false |
bookingUrl | Where a product a cart cannot take is bought; null for one you put in a cart | null |
categoryLabels | Groupon's category labels of the offer | ["Deep Tissue Massage", "Swedish Massage"] |
media | Every picture of the offer's page, each once per size (below) | [{"url": "https://img.grouponcdn.com/.../t300x182.jpg", "role": "medium", "width": 300, "height": 182, "index": 0}] |
locations | The places where the offer is used (below); empty for an offer used anywhere | [{"name": "Lincoln Park", "city": "Chicago", "state": "IL"}] |
options | The variants the shopper picks from (below) | [{"id": "a40bef0d-2309-4a38-9042-338601020219", "title": "One 60-Minute Massage"}] |
merchantRating | The merchant's rating: average 0 to 5 to one decimal, and count; null without ratings | {"average": 4.8, "count": 5315} |
bought | groupon.com's "bought" badge: atLeast (100, 1000, 5000 or 10000) as of asOf; null under 100 | {"atLeast": 1000, "asOf": "2026-10-13T18:41:36.005Z"} |
finePrint | Groupon's terms of redemption, as plain-text paragraphs; null when there are none | ["Appointment required.", "Limit 1 per person."] |
distanceKm, distanceMiles | A search's hits only: the nearest place's distance from near; null without near | 2.43, 1.51 |
Each entry of media:
| Field | What it holds | Example |
|---|---|---|
url | The picture's address on Groupon's image CDN, ready to show | "https://img.grouponcdn.com/.../v1/t300x182.jpg" |
role | The size: small, medium, large, extra_large or wide_crop | "medium" |
width, height | The picture's size in pixels; null when Groupon does not say | 300, 182 |
index | Which picture: 0 the main one, 1 and on the gallery, in the page's order | 0 |
Each entry of locations:
| Field | What it holds | Example |
|---|---|---|
id | Groupon's id of the place | "a780b4fd-2d25-bed3-9b7d-016814d7ad2e" |
name | The place's name, often its neighbourhood or branch | "Lincoln Park" |
street, city, postalCode | The address | "1136 West Armitage Avenue", "Chicago", "60614" |
state | The state's two-letter code | "IL" |
country | ISO 3166-1 alpha-2 | "US" |
latitude, longitude | The place's point, in degrees | 41.9182047, -87.6568705 |
openingHours | Its regular week, Sunday first: dayOfWeek (0 is Sunday), closed, opens, closes ("HH:MM"); null without hours | [{"dayOfWeek": 0, "closed": false, "opens": "10:00", "closes": "20:00"}] |
timeZone | The place's IANA time zone; null when unknown | "America/Chicago" |
Each entry of options:
| Field | What it holds | Example |
|---|---|---|
id | The optionId of a cart line | "a40bef0d-2309-4a38-9042-338601020219" |
title | What the shopper buys | "One 60-Minute Deep-Tissue or Swedish Massage" |
isDefault | true for the option Groupon's page shows first | true |
active | false is not sellable; null is unknown, treat it as sellable | true |
minUnits, maxUnits | The fewest and most units one cart line may hold; maxUnits null for no maximum | 1, 30 |
price | retail (what the shopper pays per unit, the expectedPrice of a cart line), original (the strike-through price), currency, currencyPrecision, in minor units | {"retail": 8460, "original": 13000, "currency": "USD", "currencyPrecision": 2} |
promotion | amount, promoCode and endsAt of a code that may lower the price on Groupon's checkout, if eligible; null without one | {"amount": 7190, "promoCode": "SAVE15", "endsAt": "2026-10-31T06:59:59Z"} |
selections | Choose-one attributes (attributeId, title, required, values of id and title); empty for most options | [] |
bookingUrl | Groupon's booking page with this option chosen, for a ticket booked on groupon.com; null otherwise | null |