Discover/Continente API
live

Continente APIcontinente.pt

Access Continente.pt product data via API: search by keyword, browse categories, fetch product details, promotions, and new arrivals from Portugal's top supermarket.

Endpoint health
verified 3d ago
get_product_detail
search_products
get_category_products
get_promotions
get_novelties
5/5 passing latest checkself-healing
Endpoints
5
Updated
26d ago

What is the Continente API?

The Continente.pt API exposes 5 endpoints covering product search, category browsing, product detail pages, active promotions, and new arrivals from Portugal's largest supermarket chain. The search_products endpoint returns paginated results with up to 11 fields per product — including current price, PVPR, unit price, brand, promo badge, and image URL — making it straightforward to build price-tracking or product discovery tools against Continente's full catalog.

Try it
Search keyword (e.g. 'leite', 'pao', 'frango')
Pagination offset for results (increments of 24)
api.parse.bot/scraper/a780f8ac-a339-4881-91ad-a7ef7bf1935f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a780f8ac-a339-4881-91ad-a7ef7bf1935f/search_products?query=leite&start=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace continente-pt-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.continente.pt_api import Continente, Product

client = Continente()

# Search for milk products
for product in client.products.search(query="leite"):
    print(product.name, product.price, product.brand)
    break

# Get full product detail by URL
detail = client.products.get(url="https://www.continente.pt/produto/leite-uht-magro-mimosa-mimosa-2210947.html")
print(detail.name, detail.price, detail.description)
print(detail.breadcrumbs, detail.additional_info)

# Browse a category
for product in client.products.by_category(category="frescos/talho/"):
    print(product.name, product.price, product.unit_price)

# Check current promotions
for promo in client.products.promotions():
    print(promo.name, promo.price, promo.promo_badge)

# Check new arrivals
for novelty in client.products.novelties():
    print(novelty.name, novelty.brand, novelty.image_url)
All endpoints · 5 totalmissing one? ·

Full-text search over Continente.pt product catalog. Returns paginated product summaries matching the query keyword. Pagination offset advances in steps of 24 (the page size). total_count gives the full result count for the query.

Input
ParamTypeDescription
queryrequiredstringSearch keyword (e.g. 'leite', 'pao', 'frango')
startintegerPagination offset for results (increments of 24)
Response
{
  "type": "object",
  "fields": {
    "start": "integer pagination offset used",
    "products": "array of product objects with id, name, brand, category, price, pvpr, unit_price, quantity, promo_badge, url, image_url",
    "total_count": "integer total number of matching products"
  },
  "sample": {
    "data": {
      "start": 0,
      "products": [
        {
          "id": "2210947",
          "url": "https://www.continente.pt/produto/leite-uht-magro-mimosa-mimosa-2210947.html",
          "name": "Leite UHT Magro Mimosa",
          "pvpr": "1,00 EUR",
          "brand": "Mimosa",
          "price": 0.9,
          "category": "Laticnios e Ovos/Leite/Leite Magro",
          "quantity": "emb. 1 lt",
          "image_url": "https://www.continente.pt/dw/image/v2/BDVS_PRD/on/demandware.static/-/Sites-col-master-catalog/default/dw4ab2d449/images/col/221/2210947-frente.jpg",
          "unit_price": "0,90 EUR/lt",
          "promo_badge": "PVP Recomendado: 1,00 EUR/un"
        }
      ],
      "total_count": 1158
    },
    "status": "success"
  }
}

About the Continente API

Product Search and Category Browsing

The search_products endpoint accepts a query string and an optional start offset for pagination. Each result includes a total_count integer so you can determine how many pages to walk. Product objects in the response carry id, name, brand, category, price (current selling price in euros), pvpr (recommended retail price when it differs), unit_price, quantity, promo_badge, url, and image_url. The get_category_products endpoint works similarly but accepts a category slug corresponding to the URL path on the Continente site — for example, 'frescos/talho/' for the butchery subcategory. Note that not all category slugs are supported; some return a server error, so validate the slug against known working paths before relying on it in production.

Product Details, Promotions, and Novelties

get_product_detail takes a full product URL (typically sourced from the url field of any product object) and returns an expanded record that adds an images array containing multiple image URLs. This endpoint also surfaces nutritional data when the product page includes it. The get_promotions endpoint retrieves the current Oportunidades (deals) listing — all discounted products visible on that page at query time — and returns the same 11-field product shape with pagination support via start. Similarly, get_novelties pulls from Continente's Novidades section, returning newly launched products in the same paginated format.

Pricing Fields Explained

Several endpoints return both price and pvpr. price is the current selling price (a number in euros); pvpr is the recommended retail price as a string and is only meaningful when a discount is active. The unit_price field (e.g. "€1.20/kg") enables comparison across different package sizes. The promo_badge field carries any promotional label text shown on the listing, such as a percentage discount or a campaign name.

Reliability & maintenanceVerified

The Continente API is a managed, monitored endpoint for continente.pt — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when continente.pt changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official continente.pt API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price changes on specific products over time by polling get_product_detail and comparing the price and pvpr fields.
  • Build a Portuguese grocery price comparison tool using search_products results across multiple supermarkets.
  • Monitor active deals by periodically calling get_promotions and alerting when new items appear or promo_badge values change.
  • Populate a recipe cost estimator by querying search_products for ingredients and using unit_price to normalize across package sizes.
  • Catalog new product launches in the Portuguese market using get_novelties on a daily schedule.
  • Build a category-level inventory snapshot for the butchery, bakery, or other departments via get_category_products with known slugs.
  • Aggregate nutritional data from get_product_detail responses to analyze supermarket product composition by category.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Continente.pt have an official developer API?+
Continente does not publish a public developer API or documented data feed for external use. There is no official API portal or developer program listed on the Continente or Sonae websites as of mid-2025.
What does `get_product_detail` return that the search and category endpoints don't?+
get_product_detail returns an images array with multiple product image URLs rather than a single image_url, and it includes nutritional information when that data is present on the product page. The search and category endpoints return only a single image_url and omit nutritional fields entirely.
Are there limitations with the category slug used in `get_category_products`?+
Yes. Not every category path slug resolves correctly — some return a server error from the source site. The slug must match the URL path segment exactly as it appears on continente.pt. Confirmed working examples include 'frescos/talho/'. It's worth testing slugs interactively before building automated pipelines that depend on them.
Does the API return product reviews or ratings?+
Not currently. The endpoints cover pricing, product metadata, promotions, and when available nutritional data, but no user review text, star ratings, or review counts are returned by any endpoint. You can fork this API on Parse and revise it to add a review-scraping endpoint for product pages that expose that data.
Can I retrieve the full Continente category tree to discover all valid slugs programmatically?+
Not currently. The API does not include a category-listing or sitemap endpoint that would enumerate valid slugs. You can fork this API on Parse and revise it to add a category-discovery endpoint that returns the full navigation tree.
Page content last updated . Spec covers 5 endpoints from continente.pt.
Related APIs in Food DiningSee all →
pingodoce.pt API
Access current promotions, search and explore products with detailed information, locate nearby Pingo Doce stores, and discover recipes from Portugal's leading supermarket. Browse product categories, view digital leaflets, and find the best deals all in one place.
carrefour.eu API
Search and browse Carrefour's European online product catalog to access pricing, promotions, availability, and detailed product information including nutritional data. Retrieve comprehensive product details across categories to compare prices and find current deals in real-time.
carrefour.it API
Search and browse Carrefour Italy's product catalog across categories, view detailed product information, find nearby store locations, and discover current promotions all in one place. Explore online grocery selections and compare products by price, brand, and availability.
tottus.com.pe API
Search and browse products across Tottus Peru's supermarket catalog, view detailed product information with filtering and pagination, and discover current promotions and product categories. Find exactly what you're looking for with comprehensive product details and up-to-date promotional offers.
leroymerlin.pt API
Search and browse Leroy Merlin Portugal's product catalog with detailed information, pricing, and categories, while also discovering upcoming workshops and store-specific schedules. Find exactly what you need across their inventory and plan your DIY projects with their available training sessions.
compraonline.alcampo.es API
Search and browse Alcampo's online product catalog, view detailed product information, explore categories, check current promotions, and find nearby store locations across Spain. Access real-time data from Alcampo's online shopping platform to discover products, compare prices, and locate physical stores.
carrefour.fr API
carrefour.fr API
ocado.com API
Search and browse Ocado UK's grocery catalog, view detailed product information including nutritional data, and discover related items to add to your cart. Get instant search suggestions and manage your shopping cart contents all in one place.