Skip to content

Prices

Two endpoints per product: aggregated history stats and raw observations. Both take a product id (rp_ + 32 hex, verbatim from a search hit) and a date range, and require an API key.

Terminal window
curl -H "X-API-Key: $MEALCP_API_KEY" \
"https://api.mealcp.com/v1/prices/rp_01a0145398b47b208224e57d6f126eb1?from=2026-06-01"
Param Type Required Description
from date yes ISO date, inclusive lower bound
to date no Inclusive upper bound; defaults to today

Live response - a Hungarian UHT milk (Auchan Kedvenc UHT tej 2,8% 1 l) that dropped 24% over the window:

{
"id": "rp_01a0145398b47b208224e57d6f126eb1",
"name": "Auchan Kedvenc UHT tej 2,8% 1 l",
"brand": "Auchan",
"retailer_slug": "auchan-hu",
"currency": "HUF",
"from_date": "2026-06-01",
"to_date": "2026-08-20",
"observation_count": 36,
"store_count": 1,
"first_price": 315.0,
"last_price": 239.0,
"min_price": 229.0,
"max_price": 315.0,
"avg_price": 251.83,
"first_observed_at": "2026-07-11T08:36:08.301168Z",
"last_observed_at": "2026-08-20T05:30:31.624920Z",
"change": -76.0,
"change_pct": -24.13
}

Stats are pooled across every store carrying the product - store_count tells you how many contributed. change/change_pct are last - first relative to the first observation in the window. All stats fields are null when the product has no observations in range.

Terminal window
curl -H "X-API-Key: $MEALCP_API_KEY" \
"https://api.mealcp.com/v1/prices/rp_01a0145398b47b208224e57d6f126eb1/observations?from=2026-08-14&page_size=100"

Same from/to params as history, plus page (default 1) and page_size (default 100, max 100).

{
"id": "rp_01a0145398b47b208224e57d6f126eb1",
"name": "Auchan Kedvenc UHT tej 2,8% 1 l",
"brand": "Auchan",
"retailer_slug": "auchan-hu",
"from_date": "2026-08-14",
"to_date": "2026-08-20",
"found": 7,
"page": 1,
"page_size": 100,
"observations": [
{
"observed_at": "2026-08-14T05:31:15.949979Z",
"price": 239.0,
"currency": "HUF",
"unit_price": 239.0,
"unit_price_uom": "l",
"store_id": "st_01a015b29ab07c10b627ef8325164bdf",
"store_name": "Auchan HU online",
"store_city": null
}
]
}

Unmodified rows - product × store × observation run - at stored precision. Ordered by observed_at ascending (tiebreak: store). found is the total count for the window, not the page size. store_id (st_ + hex) is the stable grouping key across observations.