Skip to content

Coverage

Returns per-country catalogue coverage: which retailers are indexed, how many products each has, and when each was last refreshed.

Terminal window
curl "https://api.mealcp.com/v1/coverage"
{
"generated_at": "2026-08-24T08:09:47.279412Z",
"countries": [
{
"country_code": "AT",
"retailer_list": [
{
"slug": "billa-at",
"name": "BILLA AT",
"products": 11994,
"last_updated_at": "2026-08-24T04:02:03.506232Z"
}
]
},
{
"country_code": "HU",
"retailer_list": [
{
"slug": "auchan-hu",
"name": "Auchan HU",
"products": 24091,
"last_updated_at": "2026-08-24T06:06:50.786320Z"
},
{
"slug": "tesco-hu",
"name": "Tesco HU",
"products": 20645,
"last_updated_at": "2026-08-24T05:26:34.067279Z"
}
]
}
]
}
Field Type Description
generated_at string RFC 3339 timestamp of the snapshot
country_code string ISO 3166-1 alpha-2 country code
retailer_list[].slug string Stable retailer identifier
retailer_list[].name string Retailer display name
retailer_list[].products number Products indexed for this retailer
retailer_list[].last_updated_at string RFC 3339 timestamp of the last refresh

The endpoint is public - no API key and no credits - and cached server-side, so it is safe to call on page load or poll on a schedule.

  • Building a country or retailer picker from live data instead of a hardcoded list.
  • Deciding which country values to pass to search.
  • Monitoring catalogue growth and freshness across markets over time.

last_updated_at is per retailer, not per country - retailers inside one country can differ by hours. Treat the response as a freshness map: schedule your own refresh jobs around it rather than assuming every market updates on the same cadence.

Countries with no indexed data are omitted from the response entirely, so an absent country_code means “no data yet”, not an empty retailer list.