# E.Leclerc Drive prices

> Find E.Leclerc Drive stores near a point, a French postal code or a town. Give latitude+longitude, or postal_code, or town. The store_id it returns is what search, category and product take.
> ReefAPI engine `leclerc-drive` · 4 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/leclerc-drive/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free except verified SHEIN NOT_FOUND on product/detail and price (4 credits).
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Send the key as `Authorization: Bearer <key>`, or put it in the URL (`?key=<key>`) when the client has no header field, as ChatGPT does.

## Endpoints

### POST https://api.reefapi.com/leclerc-drive/v1/stores — 1 credit
Find E.Leclerc Drive stores near a point, a French postal code or a town. Give latitude+longitude, or postal_code, or town. The store_id it returns is what search, category and product take.

**Parameters:**
- `latitude` (number, optional) — Latitude (with longitude).
- `longitude` (number, optional) — Longitude (with latitude).
- `postal_code` (string, optional) — French postal code (5 digits).
- `town` (string, optional) — Town or store name, e.g. "Vitrolles".

**Returns:** Stores: store_id, name, postal_code, distance_km, coordinates, service_type, home_delivery + postal codes served, shop_url; plus the resolved search point.

**Example request body:**
```json
{
  "latitude": 43.2965,
  "longitude": 5.3698
}
```

### POST https://api.reefapi.com/leclerc-drive/v1/search — 3 credits
Search one E.Leclerc Drive store catalogue: shelf price, unit price, promotions, Ticket E.Leclerc offers, stock units, Nutri-Score, rating. Prices are those of that store.

**Parameters:**
- `store_id` (string, required) — Drive store id from the stores action (noPL-noPR, e.g. 031301-031301). Required: prices differ between stores.
- `query` (string, required) — Search text (max 100 characters).
- `filters` (array, optional) — Facet values from the `facets` of a previous answer for the same store (e.g. "2-1657357" = Les promotions, a brand, a label or a Nutri-Score value; "4-<id>" = a sub-category). Several values are combined the way the site combines them.
- `sort` (enum, optional, default "relevance") — Order of the returned rows (applied to the rows the source returned, as the site does). [one of: relevance, price_asc, price_desc, unit_price_asc, unit_price_desc, rating_desc]

**Returns:** products (max 200, the site's own cap), source_total, total_capped, facets (categories with counts + filter values), store.

**Example request body:**
```json
{
  "store_id": "031301-031301",
  "query": "lait"
}
```

### POST https://api.reefapi.com/leclerc-drive/v1/category — 3 credits
List one category (family) of an E.Leclerc Drive store: all its products with store prices. Family ids come from category.family_id of any product row, or from facets.

**Parameters:**
- `store_id` (string, required) — Drive store id from the stores action.
- `category_id` (integer, required) — Family id (category.family_id of a product row).
- `filters` (array, optional) — Facet values from the `facets` of a previous answer for the same store (e.g. "2-1657357" = Les promotions, a brand, a label or a Nutri-Score value; "4-<id>" = a sub-category). Several values are combined the way the site combines them.
- `sort` (enum, optional, default "relevance") — Order of the returned rows (applied to the rows the source returned, as the site does). [one of: relevance, price_asc, price_desc, unit_price_asc, unit_price_desc, rating_desc]

**Returns:** products of that family with store prices, facets, store.

**Example request body:**
```json
{
  "store_id": "031301-031301",
  "category_id": 284370
}
```

### POST https://api.reefapi.com/leclerc-drive/v1/product — 3 credits
Full E.Leclerc Drive product sheet in one store: price, promotions, EAN, brand, Nutri-Score, ingredients, allergens, nutrition table, storage, VAT rate, images.

**Parameters:**
- `store_id` (string, required) — Drive store id from the stores action.
- `product_id` (string, required) — Product id (`id` of a search row) or a Leclerc Drive product URL.

**Returns:** The row fields plus gtin, brand, ingredients, allergens, nutrition, storage, vat_rate, images, store.

**Example request body:**
```json
{
  "store_id": "031301-031301",
  "product_id": "2613"
}
```

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=leclerc-drive
- Human docs page: https://reefapi.com/docs/leclerc-drive
- Overview page: https://reefapi.com/leclerc-drive-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
