Discover/Hipercor API
live

Hipercor APIhipercor.es ↗

Retrieve Hipercor.es supermarket product listings with prices, promotions, unit prices, EAN barcodes, and delivery availability. 24 products per page.

Endpoint health
verified 3h ago
list_products
1/1 passing latest checkself-healing
Endpoints
1
Updated
3h ago

What is the Hipercor API?

The Hipercor supermarket API exposes one endpoint — list_products — that returns up to 24 products per page from any category on hipercor.es. Each response includes 10+ fields per product: product ID, name, brand, package size, current and regular prices, promotional price, unit price, EAN barcode, and home-delivery availability. It covers the full /supermercado/ section of the Hipercor online store.

This call costs10 credits / call— charged only on success
Try it
1-based listing page; each page holds up to 24 products.
Listing sort order from the site's sort menu.
Category path as it appears in the site URL after /supermercado/, lowercase slugs separated by slashes (e.g. alimentacion/alimentacion-general/aceites for oils, alimentacion/alimentacion-general/conservas-vegetales). Omitted = the oils category.
→ api.parse.bot/scraper/4a712023-0bd7-47eb-b2c0-890f081328d9/<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/4a712023-0bd7-47eb-b2c0-890f081328d9/list_products?category_path=alimentacion%2Falimentacion-general%2Faceites' \
  -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 hipercor-es-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.

"""Walkthrough: Hipercor supermarket — browse category products with prices."""
from parse_apis.hipercor_es_api import Hipercor, SortOrder, CategoryNotFound

client = Hipercor()

# List cheapest oils first, capped at 10 products total.
for product in client.products.list(
    category_path="alimentacion/alimentacion-general/aceites",
    sort=SortOrder.PRICE_ASC,
    limit=10,
):
    on_sale = f" (was {product.regular_price:.2f}€)" if product.promotional_price else ""
    print(f"{product.brand} — {product.name}: {product.current_price:.2f}€{on_sale}")

# Drill into the first best-seller to inspect full detail.
try:
    hit = client.products.list(
        category_path="alimentacion/alimentacion-general/conservas-vegetales",
        sort=SortOrder.BEST_SELLERS,
        limit=1,
    ).first()
except CategoryNotFound:
    hit = None
    print("Category not found — check the path slug.")

if hit is not None:
    print(f"\nTop seller: {hit.name} ({hit.brand})")
    print(f"  EAN: {hit.ean}")
    print(f"  Size: {hit.package_size}")
    print(f"  Unit price: {hit.unit_price}")
    print(f"  In stock: {hit.is_available} ({hit.available_units} units)")
    print(f"  Link: {hit.product_url}")

print("\nexercised: products.list (two categories, two sort orders, limit, first, error catch)")
All endpoints · 1 totalmissing one? ·

Returns one page (24 products) of a Hipercor supermarket category listing. Each row is one sellable product: product_id (site code starting with 'B'), name and brand (the brand is the trailing upper-case maker name the site appends to the product label; name is the remaining label, which the site itself sometimes truncates), package_size (format | quantity, null when the site shows none), current_price (euros, promotional price when one is active otherwise regular_price), regular_price, promotional_price (null when no promotion), unit_price (site text such as '3,59 € / Litro'), product_url, image_url, ean (GTIN-13 barcode), availability (site purchase status code; 'ADD' means purchasable), is_available (home delivery available at the site's default delivery centre) and available_units. Two site requests per call (listing page plus a stock/barcode lookup); if the stock lookup fails the ean/availability fields are null and the cause is listed in errors. total_products and total_pages come from the site; paginate by incrementing page while has_more is true. A page beyond the last returns an empty products list with total_pages null. An unknown category path yields a stale_input error because the site redirects to a parent section. Prices are in EUR as shown for the default Madrid delivery area.

Input
ParamTypeDescription
pageinteger1-based listing page; each page holds up to 24 products.
sortstringListing sort order from the site's sort menu.
category_pathstringCategory path as it appears in the site URL after /supermercado/, lowercase slugs separated by slashes (e.g. alimentacion/alimentacion-general/aceites for oils, alimentacion/alimentacion-general/conservas-vegetales). Omitted = the oils category.
Response
{
  "type": "object",
  "fields": {
    "page": "page number returned",
    "errors": "array of error strings for partial failures (empty on a clean run)",
    "has_more": "true when a further page exists",
    "products": "array of product rows: product_id, name, brand, package_size, current_price, regular_price, promotional_price, unit_price, product_url, image_url, ean, availability, is_available, available_units",
    "total_pages": "site-reported page count for the category (null when the page is beyond the last)",
    "category_path": "echo of the category path queried",
    "products_found": "number of products in this page",
    "total_products": "site-reported product count for the category (null when the page is beyond the last)"
  },
  "sample": {
    "data": {
      "page": 1,
      "errors": [],
      "has_more": true,
      "products": [
        {
          "ean": "8410010009689",
          "name": "aceite de oliva suave 0,4º",
          "brand": "CARBONELL",
          "image_url": "https://cdn.grupoelcorteingles.es/SGFM/dctm/MEDIA03/202504/08/00118044800037____1__325x325.jpg",
          "product_id": "B001018044800037",
          "unit_price": "3,59 € / Litro",
          "product_url": "https://www.hipercor.es/supermercado/B001018044800037-carbonell-aceite-de-oliva-suave-04-garrafa-5-l/",
          "availability": "ADD",
          "is_available": true,
          "package_size": "garrafa | 5 l",
          "current_price": 17.95,
          "regular_price": 22.95,
          "available_units": 54,
          "promotional_price": 17.95
        }
      ],
      "total_pages": 8,
      "category_path": "alimentacion/alimentacion-general/aceites",
      "products_found": 24,
      "total_products": 189
    },
    "status": "success"
  }
}

About the Hipercor API

What list_products Returns

The list_products endpoint returns a paginated slice of a Hipercor supermarket category. Each call covers one page of up to 24 products and includes pagination metadata: page, total_pages, total_products, products_found, and has_more to signal whether a subsequent page exists. If the requested page exceeds the last available page, total_pages and total_products return null.

Product Fields

Each entry in the products array carries: product_id (the site's internal code, prefixed with 'B'), name, brand (extracted from the trailing uppercase maker label), package_size, current_price, regular_price, promotional_price, unit_price (for per-kg or per-litre comparison), and a flag for home-delivery availability. EAN barcodes are also returned where present, making the data directly joinable with external product databases.

Filtering and Sorting

The endpoint accepts three optional parameters. category_path takes the URL slug path after /supermercado/ — for example, lacteos-y-huevos/leche — to scope results to a specific category. page is a 1-based integer for stepping through results. sort mirrors the ordering options from the site's own listing menu, allowing results to be ordered consistently with what a shopper would see. The errors array in the response surfaces any partial failures without a full call failure.

Data Coverage

Coverage maps to the Hipercor online supermarket catalogue under the /supermercado/ section. Promotional pricing (promotional_price) is returned alongside regular_price, so price-drop detection is possible without a secondary lookup. The unit_price field enables cross-pack comparison for grocery price intelligence use cases.

Reliability & maintenanceVerified

The Hipercor API is a managed, monitored endpoint for hipercor.es — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hipercor.es 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 hipercor.es 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
3h ago
Latest check
1/1 endpoint 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 regular vs. promotional price changes for grocery products over time using current_price and regular_price.
  • Build a unit-price comparison tool across pack sizes using the unit_price field.
  • Monitor which Hipercor products have active promotions by filtering on promotional_price.
  • Enrich an internal product database by matching EAN barcodes returned in the products array.
  • Check home-delivery availability across a product category before surfacing items in a delivery-focused app.
  • Index Hipercor's supermarket catalogue by iterating category_path slugs and paginating with has_more.
  • Identify brand-level product ranges by grouping results on the brand field within a category.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Hipercor offer an official developer API?+
Hipercor does not publish a public developer API or API documentation for its supermarket catalogue. Access to structured product data is available through this Parse API.
How do I paginate through an entire category?+
Set category_path to the slug from the site URL (e.g. 'bebidas/agua'), start with page 1, and continue incrementing page while has_more is true. total_pages and total_products give the full scope of the category on the first call.
Does the API return product reviews or nutritional information?+
Not currently. The API covers pricing, promotions, unit prices, EAN barcodes, brand, package size, and delivery availability per product. You can fork it on Parse and revise to add an endpoint targeting individual product detail pages for nutritional or review data.
What does the sort parameter control?+
sort mirrors the ordering options shown in the Hipercor listing interface — such as relevance or price order. The accepted values correspond to what the site's own sort menu exposes; passing an unsupported value will surface an entry in the errors array.
Is historical price data available through this API?+
The API returns the current state of the listing at call time: current_price, regular_price, and promotional_price as they appear now. Historical price tracking is not built in. You can fork it on Parse and revise to add a persistence layer that records prices across repeated calls.
Page content last updated . Spec covers 1 endpoint from hipercor.es.
Related APIs in Food DiningSee all →
carrefour.es API
Access data from carrefour.es.
dia.es API
Browse and search products across Día supermarket's catalog, view product details, categories, and current offers available on dia.es. Find specific items, explore product categories and subcategories, and discover active promotions.
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.
delhaize.be API
Access data from delhaize.be.
carrefour.com.ar API
Search for products across Carrefour's online store and access detailed product information, categories, and news articles about the retailer. You can also retrieve financial data about Carrefour to stay informed on company performance and market news.
continente.pt API
Browse and retrieve product data from Continente.pt, Portugal's leading supermarket chain. Search by keyword, browse categories, fetch full product details including nutritional info, and access current promotions and new arrivals.
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.
evarueda.com API
evarueda.com API