Continente prices, discounts and product labels as JSON
Continente is Portugal's largest supermarket chain and continente.pt its online shop.
6 active endpoints, on 1 and 3 credit tiers.
- POST/continente/v1/search
- POST/continente/v1/category
- POST/continente/v1/promotions
- POST/continente/v1/product
- POST/continente/v1/categories
- POST/continente/v1/store
What Continente endpoints does ReefAPI ship?
6 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Continente API
4 of 6 endpoints, ready to run
Milk prices at Continente
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the Continente API works
Continente is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 530 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
From a search term to a priced, labelled product
Search, narrow to what is on discount, then read the full product.
Products with price, price unit, struck-through price or PVPR, discount badge, price per litre, pack size and availability, plus Continente's own total.
Only the products on discount now, with discount percent or euros and multi-buy deals.
EANs, discount dates, order limits, category, images and the label with ingredients, allergens and the nutrition table.
A Portuguese grocery price feed that keeps shelf price, was price, recommended price and multi-buy deals apart.
curl -X POST https://api.reefapi.com/continente/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"leite"}'{
"ok": true,
"data": { … },
"meta": {
"api": "continente",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}What a Continente field actually contains
Fields that read differently from how they look. Every row was measured against live continente.pt responses on 2026-10-15.
| Field | What it holds |
|---|---|
| price, price_unit | The price anyone pays now, in euros, per price_unit. Fruit, vegetables, meat and fish sold by weight are priced per kg (Clementina: 1.79 per kg), most packs per unit (un). |
| regular_price | The struck-through price of an immediate discount (Clementina: 1.99 before a 10 % discount). Empty when nothing is struck through. |
| recommended_retail_price | The manufacturer's recommended price (PVPR) that the shop prints next to some products. It is not a former Continente price: Leite Mimosa 6 x 1 l showed price 5.34 and PVPR 6.00 with no discount running. |
| discount | The shop's discount badge as kind, text, value and unit, for example immediate_discount, 10, %. On product calls it adds the start and end date of the promotion. |
| multibuy | Multi-buy deals such as "Leve 7 Pague 6" (buy 7, pay 6), kept apart from price. The product call adds the shop's conditions text with the campaign dates. |
| unit_price, unit_price_unit | The second price the shop prints: per litre or kg for packs (0.89 per lt for 6 x 1 l milk), per unit for products priced by weight (0.27 per un for clementines). |
| available, max_order_quantity | Whether the shop can sell the product now, and the most units one order may hold. Continente publishes no stock count. |
| store | Which delivery store's range the rows come from. The range changes with the post code ('fruta': 3,187 products for 1500-392 Lisboa, 3,237 for 4000-322 Porto, 1,802 for 9000-018 Funchal); prices on the same product were equal in every store compared. |
Cartão Continente loyalty-card discounts are not shown on the shop's public product listings, so no card price is returned; price is what any shopper pays.
Continente coverage, measured
Every number below was read from live continente.pt responses on 2026-10-15: searches in 8 product groups, 10 products read three ways, filters, 4 delivery stores.
66,004 products in the shop on 2026-10-15; 28,732 of them on discount.
Same minute, 'leite': 558 unfiltered, 45 Mimosa, 9 organic, 50 lactose free, 23 vegan, 216 between 2 and 4 euros, 201 in the milk category.
10 products: the search row, the product call and the shop's own product page agreed on price 10 of 10 times.
'fruta': 3,187 products for Lisboa 1500-392, 3,237 Porto 4000-322, 1,802 Funchal 9000-018; on 335 product and store pairs across 4 stores the price was the same.
35 products per page (the shop's maximum); no stock counts; no loyalty-card prices; labels as complete as the producer filed them.
What people build with Continente
The jobs this data is most often used for.
endpoints
credits per call
Track Continente shelf prices and weekly discounts with their end dates.
Compare Portuguese grocery prices per kg or litre across brands and own labels.
Build a Portuguese grocery catalogue with EANs, brands, ingredients, allergens and nutrition.
Monitor multi-buy deals and immediate discounts by category.
What Continente data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 530 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/continente/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"leite"}'import requests
r = requests.post(
"https://api.reefapi.com/continente/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "leite"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Continente.
Get a free key →Do I need a Continente account or a Cartão Continente?▾
No. Everything is read logged out: the prices, discounts and product labels any visitor sees.
Are loyalty-card (Cartão Continente) discounts included?▾
No. They are not published on the public product listings, so the API does not invent a card price. price is the shelf price, regular_price the struck-through price of an immediate discount.
What is the difference between regular_price and recommended_retail_price?▾
regular_price is what Continente charged before a running discount. recommended_retail_price is the manufacturer's recommended price (PVPR), which Continente prints for comparison; the product was not necessarily ever sold at it.
Do prices depend on the post code?▾
The range does: each delivery store sells its own selection, so pass postal_code to see what the store serving that address sells. On the 335 product and store pairs we compared across Lisboa, Porto, Faro and Funchal the price was the same.
Which filters work?▾
category, brand, one dietary attribute and min_price / max_price, plus sorting. Each was checked against the unfiltered count in the same minute: 'leite' went from 558 products to 45 Mimosa, 9 organic, 50 lactose free, 23 vegan and 216 between 2 and 4 euros.
How many products per page, and how deep?▾
Up to 35 per page, Continente's own maximum. Page through the whole list; past the last page the answer is empty with has_more false.
Does the product call include nutrition and ingredients?▾
Yes, when Continente publishes them: regulated name, producer, ingredients, allergens, storage, origin, net content and the nutrition table per serving. Some labels are incomplete at the source and are returned as they are.
How fresh is the data?▾
Every call reads continente.pt live; nothing is cached. Discounts run in weekly windows and the product call returns each one's end date.
What is the Continente API?▾
Continente API is a ReefAPI endpoint group for portuguese supermarket prices from continente.pt: shelf price, discounts and was price, pvpr, multi-buy deals, price per kg or litre, eans and nutrition. It returns live JSON through POST requests under /continente/v1.
Is the Continente API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Continente calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Continente login or account?▾
No login to Continente is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Continente data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Continente API use?▾
Continente actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Continente from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call continente actions with the same key, credit pool and JSON envelope used by normal REST requests.
266 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Continente, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 529 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-15.