๐Ÿ‡ช๐Ÿ‡บ Pan-European Grocery API

25 Supermarkets.
One API. One Schema.

European grocery is fragmented by design โ€” every country has its own chains, pricing formats, and product catalogues. We unified them. One REST API returns consistent JSON for Tesco, Albert Heijn, Migros, Carrefour, Rewe, and 20 more โ€” without changing a single line of your integration code.

25+Grocery chains
11Countries
1JSON schema
DailyCatalog refresh

European grocery data is a mess. We cleaned it up.

Anyone who has tried to pull grocery data across Europe quickly discovers why nobody else has done this at scale.

๐Ÿ—บ๏ธ
25 chains. 25 different APIs.

Each supermarket has its own authentication, endpoints, rate limiting, and data format. Building even one integration takes weeks. Maintaining all 25 requires a dedicated team.

๐ŸŽด
Promotional pricing is buried and inconsistent.

Every chain surfaces deals differently โ€” weekly specials, own-brand tiers, limited-time cuts. We normalise promotional and standard prices into the same fields across every chain.

๐Ÿ”
Chains break their own integrations constantly.

Layout changes, auth token rotations, restructured categories โ€” any of these silently kills a DIY pipeline. Pepesto monitors and fixes every chain continuously.

๐ŸŒ
Multi-currency, multi-country by default.

GBP for UK chains, EUR across the continent, CHF for Switzerland, PLN for Poland, BGN for Bulgaria. Every response is normalised โ€” same fields, local currency, correct unit pricing.


Same request. Different country. Identical schema.

Change the chain parameter and you get the same JSON structure back โ€” whether you're hitting a UK supermarket or a Dutch one. Write your integration once.

๐Ÿ‡ฌ๐Ÿ‡ง Tesco UK โ€” tesco.com
// POST /api/catalog { "supermarket_domain": "tesco.com" }

// Response { “supermarket_domain”: “tesco.com”, “products”: [{ “name”: “Barilla Penne 500g”, “price”: 1.49, // GBP “unit_price”: 0.30, “unit_label”: “per 100g”, “availability”: “in_stock”, “nutrition”: { “energy_kcal”: 352, “protein_g”: 12.5 } }] }

๐Ÿ‡ณ๐Ÿ‡ฑ Albert Heijn โ€” ah.nl
// POST /api/catalog { “supermarket_domain”: “ah.nl” }

// Response โ€” same schema { “supermarket_domain”: “ah.nl”, “products”: [{ “name”: “Barilla Penne 500g”, “price”: 1.89, // EUR “unit_price”: 0.38, “unit_label”: “per 100g”, “availability”: “in_stock”, “nutrition”: { “energy_kcal”: 352, “protein_g”: 12.5 } }] }

Full API Reference โ†’

Every chain. Every country.

Click any supermarket for chain-specific documentation, data fields, and example responses.

๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom 5 chains
๐Ÿ‡ฎ๐Ÿ‡ช Ireland 3 chains
๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands 3 chains
๐Ÿ‡ง๐Ÿ‡ช Belgium 2 chains
๐Ÿ‡จ๐Ÿ‡ญ Switzerland 4 chains
๐Ÿ‡ฉ๐Ÿ‡ช Germany 1 chain
๐Ÿ‡ช๐Ÿ‡ธ Spain 1 chain
๐Ÿ‡ฎ๐Ÿ‡น Italy 2 chains
๐Ÿ‡ต๐Ÿ‡ฑ Poland 2 chains
๐Ÿ‡ง๐Ÿ‡ฌ Bulgaria 2 chains

How to get started

No approval process. No waiting. You can be making real API calls in under 5 minutes.

1๏ธโƒฃ
Buy a credit pack via Stripe

Pay-as-you-go from โ‚ฌ0.05 per request, all 25 chains included. No monthly subscription, no per-chain pricing. Buy as little or as much as you need.

2๏ธโƒฃ
Retrieve your API key instantly

After purchase, call the /link endpoint with your email address. Your API key is returned immediately โ€” no approval form, no waiting for access.

3๏ธโƒฃ
Make your first call

POST to /api/catalog with your API key and a supermarket_domain (e.g. "tesco.com" or "ah.nl"). Structured JSON comes back โ€” same schema for every chain.

4๏ธโƒฃ
Add more chains for free

The same API key works across all 25 supported supermarkets. Switch countries by changing the chain parameter. No new contracts, no new integrations.

Buy Credits โ€” Start Building   Full API Reference โ†’

After purchase, call /link with your email to retrieve your API key. No sign-up form, no approval delay.


Only possible with pan-European coverage.

Single-chain grocery APIs exist. What they can't do is this.

Cross-country
European price comparison

Compare the exact same product โ€” same EAN โ€” across Tesco, Albert Heijn, Rewe, and Migros in one query. Show your users where it's cheapest across the continent.

AI agents
Grocery agents that actually know Europe

Give your LLM-powered grocery agent real-time access to 25 chains. Ask "find me the cheapest pasta in the Netherlands" โ€” and get a real answer, not a hallucination.

Meal planning
Localised ingredient costing

A user in Zurich shops at Migros. A user in Amsterdam shops at Albert Heijn. Show each of them the real cost of a recipe at their local chain โ€” automatically.

Retail intelligence
Pan-European shelf analytics

Track how a brand's pricing, promotions, and product range vary across markets. Spot distribution gaps. Monitor competitor SKU introductions across 11 countries at once.

Food tech
Nutrition data at European scale

Access structured nutritional data โ€” calories, macros, allergens โ€” for millions of products across Europe. Power food logging apps that work wherever your users shop.

Commerce
Smart grocery list fulfilment

Route a shopping list to the cheapest available chain across all supported markets, using the same integration code regardless of country.

The entire European grocery market. One API key.

25 chains, 11 countries, consistent JSON โ€” live pricing, nutritional data, and full product catalogues. Start building in minutes.

Questions? Email orders@pepesto.com or book a call.

Try Pepesto's Integration Today!

Download on App Store
Get it on Google Play

ยฉ 2026 Pepesto. All rights reserved.

Made with โค๏ธ in Zurich, Switzerland.