Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Intermarché API page →
E-commerce & Marketplaces

Intermarché API & Scraper

Intermarché prices are set per store.

3 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

On 2026-11-03 the same search for milk listed 492 products at Intermarché Super Elne and 235 at a Marseille Express, and Grandlait fresh milk 1 l cost 1.62 € in Elne and 1.83 € in Marseille. Every call therefore names its store (store_id from the stores action) and the answer says which store it was priced for. `product` takes an EAN barcode and a store and returns the price charged now, the unit price per kg or litre, the struck price on an immediate reduction, the previous price and the lowest recent price the site publishes, the VAT rate, loyalty-card offers with their percentage, credited amount and end date, the store's stock count, and the food facts: nutrition per 100 g/ml, ingredients, allergens, manufacturer, origin and storage. `search` returns 33 to 40 products per page with the same prices, offers and stock, plus the site's brand and category counts for narrowing a search. `stores` finds Intermarché stores from a French postcode, a town name or a point.

Reference

What an Intermarché field actually contains

Fields that read differently from how they look. Every row was measured against live intermarche.com responses on 2026-11-03.

FieldWhat it holds
store, store_defaultedThe store the prices, assortment and stock belong to. Without store_id the answer is priced for Intermarché Super Elne (06829) and store_defaulted is true.
priceThe price charged now for one unit at that store. Lactel Matin Léger 6 × 1 l: 10.39 in Elne, 10.38 in Marseille.
was_price, discount_percentOnly on an immediate reduction, the struck price: 4.93 to 3.45, discount_percent 30.0. Null otherwise (4 of 155 search rows had one).
promotions[], loyalty_offerEach offer with type, percent, end date and, for loyalty-card offers, loyalty_amount: money credited to the card after purchase. Loyalty offers never lower price.
loyalty_amountThe credited amount exactly as the site publishes it. It can disagree with the percentage (5 % of 6.00 € published as 0.00); both are returned as they are.
previous_price, lowest_recent_priceThe site's previous price and its lowest recent price for the product. previous_price was published on 81 of 155 search rows.
unit_price, unitThe comparison price per kg, l or piece: 1.73 per l for the 6 × 1 l pack.
stock_quantityThe store's stock count for the product: 28 in Elne and 2 in Marseille for the same pack.
product_idThe EAN-13 barcode. A search row's product_id goes straight into product, which returned the same price and stock 10 times out of 10.

Prices are in euros including VAT, as on intermarche.com. The price is the store's online ordering price; a separate shelf price is not published.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/intermarche/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "lait",
    "store_id": "06829"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "intermarche",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 6101.1,
    "record_count": 38,
    "bytes": 529509,
    "cache_hit": false,
    "tiles_dropped": 2,
    "store_id": "06829",
    "store_defaulted": false,
    "upstream_requests": 3,
    "refusals": 1,
    "session_opens": "[redacted-secret]",
    "charged_credits": 3,
    "version": "0.1.1",
    "request_id": "221ec62917784017",
    "queue_ms": 1.2,
    "fetched_at": "2026-11-03T17:29:09.446Z"
  },
  "data": {
    "products": [
      {
        "position": 1,
        "product_id": "3533630097654",
        "ean": "3533630097654",
        "item_id": "127871",
        "name": "Grandlait frais - Lait frais de Montagne entier",
        "brand": "Grandlait",
        "pack_size": "la bouteille de 1 l",
        "net_volume": 1000,
        "url": "https://www.intermarche.com/produit/grandlait-frais-lait-frais-de-montagne-entier/3533630097654",
        "image": "https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140040/12012075-ubbxcayb3o-ecommint.jpg",
        "images": [
          "https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140040/12012075-ubbxcayb3o-ecommint.jpg",
          "https://cdn.intermarche.com/fr/Content/images/pim/03533630097654/d8652149b5084e5fbc19683d2e21fb1b.jpg"
        ],
        "price": 1.62,
        "currency": "EUR",
        "was_price": null,
        "discount_percent": null,
        "unit_price": 1.62,
        "unit": "l",
        "previous_price": 1.64,
        "lowest_recent_price": 1.62,
        "price_decreasing": false,
        "promotions": [],
        "loyalty_offer": false,
        "banner": null,
        "stock_quantity": 2,
        "available": true,
        "max_quantity": 2,
        "flags": [
          "contenance moyenne"
        ],
        "category_id": "5963",
        "department_id": "2233",
        "seller": "Intermarché",
        "sponsored": false,
        "online_exclusive": false,
        "is_lot": false
      },
      {
        "position": 2,
        "product_id": "3250390153825",
        "ean": "3250390153825",
        "item_id": "6315",
        "name": "Lait demi-écrémé stérilisé UHT",
        "brand": "Pâturages, une marque Intermarché",
        "pack_size": "les 6 briques de 1l - 6l",
        "net_volume": 6000,
        "url": "https://www.intermarche.com/produit/lait-demi-ecreme-sterilise-uht/3250390153825",
        "image": "https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140403/12121191-pgo67a2g0n-ecommint.jpg",
        "images": [
          "https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140403/12121191-pgo67a2g0n-ecommint.jpg",
          "https://cdn.intermarche.com/fr/Content/images/boitmal/produit/zoom/48EEE155FF66B195AC9E46E435840C28.jpg"
        ],
        "price": 6,
        "currency": "EUR",
        "was_price": null,
        "discount_percent": null,
        "unit_price": 1,
        "unit": "l",
        "previous_price": null,
        "lowest_recent_price": 6,
        "price_decreasing": false,
        "promotions": [
          {
            "type": "[trimmed-depth]",
            "code": "[trimmed-depth]",
            "loyalty": "[trimmed-depth]",
            "percent": "[trimmed-depth]",
            "value": "[trimmed-depth]",
            "value_unit": "[trimmed-depth]",
            "loyalty_amount": "[trimmed-depth]",
            "amount": "[trimmed-depth]",
            "min_quantity": "[trimmed-depth]",
            "max_uses": "[trimmed-depth]",
            "end_date": "[trimmed-depth]",
            "flash_sale": "[trimmed-depth]",
            "card_reward_type": "[trimmed-depth]"
          }
        ],
        "loyalty_offer": true,
        "banner": "Le quotidien à prix bas",
        "stock_quantity": 65,
        "available": true,
        "max_quantity": 65,
        "flags": [
          "100% lait français"
        ],
        "category_id": "5961",
        "department_id": "2233",
        "seller": "Intermarché",
        "sponsored": false,
        "online_exclusive": false,
        "is_lot": false
      },
      {
        "position": 3,
        "product_id": "3250390012054",
        "ean": "3250390012054",
        "item_id": "6317",
        "name": "Lait demi-écrémé stérilisé UHT",
        "brand": "Pâturages, une marque Intermarché",
        "pack_size": "les 6 bouteilles de 1L",
        "net_volume": 6000,
        "url": "https://www.intermarche.com/produit/lait-demi-ecreme-sterilise-uht/3250390012054",
        "image": "https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140819/12245973-yag9pvas9i-ecommint.jpg",
        "images": [
          "https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140819/12245973-yag9pvas9i-ecommint.jpg",
          "https://cdn.intermarche.com/fr/Content/images/boitmal/produit/zoom/C86D9CA4C78A27E1D2170FDE83318126.jpg"
        ],
        "price": 6.36,
        "currency": "EUR",
        "was_price": null,
        "discount_percent": null,
        "unit_price": 1.06,
        "unit": "l",
        "previous_price": null,
        "lowest_recent_price": 6.36,
        "price_decreasing": false,
        "promotions": [
          {
            "type": "[trimmed-depth]",
            "code": "[trimmed-depth]",
            "loyalty": "[trimmed-depth]",
            "percent": "[trimmed-depth]",
            "value": "[trimmed-depth]",
            "value_unit": "[trimmed-depth]",
            "loyalty_amount": "[trimmed-depth]",
            "amount": "[trimmed-depth]",
            "min_quantity": "[trimmed-depth]",
            "max_uses": "[trimmed-depth]",
            "end_date": "[trimmed-depth]",
            "flash_sale": "[trimmed-depth]",
            "card_reward_type": "[trimmed-depth]"
          }
        ],
        "loyalty_offer": true,
        "banner": null,
        "stock_quantity": 127,
        "available": true,
        "max_quantity": 99,
        "flags": [
          "100% lait français"
        ],
        "category_id": "5961",
        "department_id": "2233",
        "seller": "Intermarché",
        "sponsored": false,
        "online_exclusive": false,
        "is_lot": false
      }
    ],
    "total": 492,
    "pagination": {
      "page": 1,
      "per_page": 40,
      "last_page": 13,
      "has_more": true
    },
    "facets": {
      "selection": [
        {
          "id": "3",
          "label": "Promotions",
          "count": 14
        },
        {
          "id": "2",
          "label": "Produits Intermarché",
          "count": 129
        },
        {
          "id": "4",
          "label": "Nouveauté",
          "count": 3
        }
      ],
      "categories": [
        {
          "id": "5462",
          "label": "Lait et Soin corps",
          "count": 83
        },
        {
          "id": "5961",
          "label": "Laits demi-écrémés",
          "count": 38
        },
        {
          "id": "16594",
          "label": "Chèvres et Brebis",
          "count": 32
        }
      ],
      "promotion_types": [
        {
          "id": "4",
          "label": "Avantages fidélités",
          "count": 103
        },
        {
          "id": "3",
          "label": "Les remises",
          "count": 6
        },
        {
          "id": "2",
          "label": "Les Lots",
          "count": 4
        }
      ],
      "brands": [
        {
          "id": "11303",
          "label": "Pâturages, une marque Intermarché",
          "count": 84
        },
        {
          "id": "2954",
          "label": "Lactel",
          "count": 37
        },
        {
          "id": "3704",
          "label": "Mixa",
          "count": 29
        }
      ],
      "preferences": [
        {
          "id": "569",
          "label": "Producteurs d'ici",
          "count": 2
        },
        {
          "id": "156",
          "label": "Sans lactose",
          "count": 12
        },
        {
          "id": "162",
          "label": "Sans gluten",
          "count": 5
        }
      ]
    },
    "store": {
      "store_id": "06829",
      "name": "Intermarche Super Alimentaire Elne",
      "banner": "INTERMARCHE",
      "format": "SUPER ALIMENTAIRE",
      "address": "10 Boulevard Jacques Albert",
      "postal_code": "66200",
      "city": "Elne",
      "latitude": 42.605464,
      "longitude": 2.977313,
      "distance_km": null,
      "online_services": [
        "A_DOMICILE",
        "DRIVE"
      ],
      "url": "https://www.intermarche.com/magasins/06829/x/infos-pratiques"
    },
    "store_defaulted": false,
    "filters": {},
    "query": "lait"
  }
}
Actions

What the Intermarché API does

ActionDescriptionConcrete use caseKey params
searchSearch intermarche.com by keyword for one store, with the site's filters (promotion, loyalty-card offer, brand, category). 40 per page on the site, 35-40 products per page here.Pricing teams call search to search intermarche.com by keyword for one store, with the site's filters (promotion, loyalty-….query, store_id, page, on_promotion, loyalty_offer, ...
productOne Intermarché product in full by EAN for one store: price, struck price, previous and lowest recent price, unit price, VAT rate, loyalty-card offers with start and end dates, stock, Nutri-Score, Yuka score, nutrition per 100 g/ml, ingredients, allergens, manufacturer, origin, storage, labels, images.Marketplace operators call product to get one Intermarché product in full by EAN for one store.ean, store_id
storesIntermarché stores near a French postcode, a town or a point, with the store_id the other actions take, format, address and (for a point) distance.Catalog enrichment teams call stores to get intermarché stores near a French postcode, a town or a point, with the store_id the other act….postal_code, city, latitude, longitude
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/intermarche/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"lait","store_id":"06829"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.intermarche.search with {"query":"lait","store_id":"06829"}.
Use cases

Who uses this API and why

  • Refresh a fixed list of EANs every day at the Intermarché stores your users shop at.
  • Compare an Intermarché basket with Carrefour, E.Leclerc and Auchan in the same town.
  • Track Intermarché immediate reductions and loyalty-card offers with their end dates.
  • Build a French grocery product base with EAN, nutrition, ingredients and allergens.
  • Map Intermarché stores and their formats around a set of postcodes.
FAQ

Questions developers ask before integrating

Do I need an Intermarché account or loyalty card?

No. The data is what a visitor sees on intermarche.com after choosing a store: prices, offers, stock and product facts.

How do I get prices for one Intermarché store?

Call stores with a town (Marseille returns 27 stores, Elne 1) or a postcode (66200), take the store_id and pass it to product or search.

Can I look a product up by EAN?

Yes. product takes the EAN and a store_id. Typing an EAN into the site's search finds nothing, so EAN lookups go through product, one call per product and store.

Do prices really differ between Intermarché stores?

Yes. On 2026-11-03 Grandlait fresh milk 1 l was 1.62 € in Elne and 1.83 € in Marseille, and the milk search listed 492 products in Elne against 235 in a Marseille Express.

Is the loyalty-card offer included in the price?

No. Loyalty offers are credited to the card after purchase, so they are returned in promotions with their percentage, amount and end date, and price stays the till price.

Which filters work?

on_promotion (milk at Elne: 492 to 12), loyalty_offer (103), brand_id (Lactel: 36) and category_id (semi-skimmed milk: 38), each checked against the unfiltered result. The brand and category ids come back in facets with their product counts.

How many products can I page through?

The site lists 40 per page; recipe and editorial tiles are removed, so a page carries 33 to 40 products. Milk at Elne ran to 13 pages, with no product repeated across pages 1 to 3. A page past the last returns no product.

How fresh is the data?

Every call reads intermarche.com live; nothing is cached.

What is the Intermarché API?

Intermarché API is a ReefAPI endpoint group for intermarché store prices by ean and search, with loyalty offers, stock, nutrition and a store finder. It returns live JSON through POST requests under /intermarche/v1.

Is the Intermarché API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Intermarché calls use the same shared credit balance as every other ReefAPI engine.

Do I need an Intermarché login or account?

No login to Intermarché 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 Intermarché 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 Intermarché API use?

Intermarché 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 Intermarché from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call intermarche actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / intermarche

Intermarché

Intermarché store prices by EAN and search, with loyalty offers, stock, nutrition and a store finder.

base /intermarche/v13 endpoints
post/intermarche/v1/product2 credits

One Intermarché product in full by EAN for one store: price, struck price, previous and lowest recent price, unit price, VAT rate, loyalty-card offers with start and end dates, stock, Nutri-Score, Yuka score, nutrition per 100 g/ml, ingredients, allergens, manufacturer, origin, storage, labels, images.

ParameterAllowed / rangeDescription
eanrequired—The product's EAN-13 barcode (8-14 digits) — the product_id of a search row.
store_idoptional—Intermarché store code from the `stores` action (5 digits, e.g. 06829 = Intermarché Super Elne). Price, assortment, promotions and stock are that store's. Without it the engine uses its default store 06829 (Intermarché Super Elne, 66200) and returns store_defaulted: true.
Try in playground →
post/intermarche/v1/stores1 credit

Intermarché stores near a French postcode, a town or a point, with the store_id the other actions take, format, address and (for a point) distance.

ParameterAllowed / rangeDescription
postal_codeoptional—French 5-digit postcode: the stores of the towns that carry it. Give postal_code, city, or latitude and longitude.
cityoptional—Town name ('Marseille' -> 27 stores, 'Elne' -> 1).
latitudeoptional—Latitude of the point to search around (with longitude); stores within 10 km, nearest first, with distance.
longitudeoptional—Longitude of the point to search around (with latitude).
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.