Carrefour UAE APIcarrefouruae.com ↗
Retrieve product details, EAN barcodes, pricing, brand, origin, and images from Carrefour UAE's online catalog via two structured endpoints.
What is the Carrefour UAE API?
The Carrefour UAE API gives developers access to product data from carrefouruae.com across two endpoints. Use get_product to fetch a full product record by numeric ID — including EAN barcode, discounted price, brand, country of origin, and image URLs — or use search_by_barcode to look up any item in the catalog directly by its EAN string. Each response returns 10+ structured fields covering pricing, pack size, and category context.
curl -X POST 'https://api.parse.bot/scraper/36abb888-6165-4da1-a1ce-dcf164598806/get_product' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"product_id": "1590989"
}'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 carrefouruae-com-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: Carrefour UAE SDK — bounded, re-runnable; every call capped."""
from parse_apis.Carrefour_UAE_API import CarrefourUAE, ProductNotFound
client = CarrefourUAE()
# Fetch a product by its Carrefour UAE ID
product = client.products.get(product_id="1590989")
print(product.name, product.ean, product.price.currency, product.price.original_price)
# Access nested typed fields
for cat in product.categories:
print(cat.level, cat.name)
print(product.brand.name, product.origin, product.stock_status)
# Search by barcode/EAN to find a product
found = client.products.search_by_barcode(barcode="6291001014583")
print(found.name, found.ean, found.is_available)
# Typed error handling for a missing product
try:
missing = client.products.get(product_id="0000000000")
print(missing.name)
except ProductNotFound as e:
print("not found:", e.product_id)
print("exercised: products.get, products.search_by_barcode")
Retrieve full product details including barcode (EAN), pricing, availability, brand, origin, category hierarchy, and images for a given Carrefour UAE product ID. Returns a single product record or an error when the ID does not match any listed product.
| Param | Type | Description |
|---|---|---|
| product_idrequired | string | Carrefour UAE numeric product identifier (e.g. 1590989). |
{
"type": "object",
"fields": {
"id": "string — product ID",
"ean": "string — EAN/barcode",
"name": "string — product name",
"size": "string — pack size",
"type": "string — product type (e.g. FOOD)",
"unit": "object with unit of measure details",
"brand": "object containing id and name",
"price": "object with currency, original_price, discounted_price, discount_percentage",
"images": "array of image URLs",
"origin": "string — country of origin",
"is_bulk": "boolean",
"supplier": "string — seller name",
"food_type": "string — food category (e.g. DRY)",
"categories": "array of category objects (id, name, level)",
"is_express": "boolean",
"product_url": "string — relative product page URL",
"is_available": "boolean",
"max_quantity": "integer — max orderable quantity",
"stock_status": "string — stock level status",
"is_marketplace": "boolean"
},
"sample": {
"data": {
"id": "1590989",
"ean": "6291001014583",
"name": "Masafi Pure Drinking Water 330ml Pack of 12",
"size": "330mlx12",
"type": "FOOD",
"unit": {
"max": 10,
"min": 1,
"size": "330mlx12",
"unitItem": 0,
"maxToOrder": 10,
"incrementBy": 1,
"itemsPerUnit": 0,
"unitOfMeasure": "pieces"
},
"brand": {
"id": "01087",
"name": "Masafi"
},
"price": {
"currency": "AED",
"original_price": 7.19,
"formatted_price": "AED7.19",
"discounted_price": 5.99,
"discount_end_date": "8/6/2026, 7:59:00 PM",
"discount_percentage": 17,
"formatted_discounted_price": "AED5.99"
},
"images": [
"https://cdn.mafrservices.com/pim-content/UAE/media/product/1590989/1739906403/1590989_main.jpg?im=Resize=1700"
],
"origin": "United Arab Emirates",
"is_bulk": false,
"supplier": "Carrefour",
"food_type": "DRY",
"categories": [
{
"id": "F1500000",
"name": "Beverages",
"level": 1
},
{
"id": "F1570000",
"name": "Water",
"level": 2
},
{
"id": "F1570400",
"name": "Still Water",
"level": 3
}
],
"is_express": false,
"product_url": "/mafuae/en/still-water/masafi-330mlx12-special-offer-/p/1590989",
"is_available": true,
"max_quantity": 10,
"stock_status": "inStock",
"is_marketplace": false
},
"status": "success"
}
}About the Carrefour UAE API
Endpoints and Inputs
The API exposes two endpoints. get_product accepts a product_id string (the numeric ID in a Carrefour UAE product URL, e.g. 1590989) and returns the full product record for that listing. search_by_barcode accepts a barcode string (an EAN such as 6291001014583) and returns the matching product record from the Carrefour UAE catalog. Both endpoints return the same response shape, so you can pipeline barcode lookups and direct ID lookups into the same data model.
Response Fields
Every response includes id, ean, name, size, type (e.g. FOOD), a unit object with unit-of-measure details, a brand object with id and name, an images array of direct image URLs, and origin (country of origin). Pricing is returned inside a price object containing currency, original_price, discounted_price, and discount_percentage — useful for detecting promotional pricing without any additional requests.
Coverage and Behavior
get_product returns a single product record when the ID matches a live Carrefour UAE listing, or an error when no match exists. search_by_barcode searches the catalog using the barcode value, identifies the first matching product, and returns its complete record. This makes it practical for cross-referencing physical product barcodes against UAE retail pricing and availability data without needing to know Carrefour's internal product IDs in advance.
The Carrefour UAE API is a managed, monitored endpoint for carrefouruae.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when carrefouruae.com 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 carrefouruae.com 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Look up UAE retail prices for a product by EAN barcode for competitive price monitoring.
- Build a grocery price tracker that flags when
discount_percentageis non-zero on tracked items. - Enrich a product database with
origin,brand, andsizefields sourced from Carrefour UAE listings. - Validate that a physical product's EAN resolves to an active Carrefour UAE listing before stocking decisions.
- Aggregate
original_pricevsdiscounted_priceacross product IDs to analyze promotional patterns. - Fetch product images via the
imagesarray for catalog display or e-commerce feed generation. - Map Carrefour UAE
category hierarchydata to internal taxonomy for assortment planning tools.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does Carrefour UAE offer an official developer API?+
What does search_by_barcode return when multiple products share the same EAN?+
Does the API return stock availability or 'in stock' status?+
Is the API limited to UAE listings, or does it cover other Carrefour regional stores?+
What does the price object contain, and does it reflect real-time promotions?+
price object returns currency, original_price, discounted_price, and discount_percentage. These values reflect what is currently listed on the product page at the time of the request, so active promotions with a reduced price will appear in discounted_price with a non-zero discount_percentage.