Piloterr Intermarche API
The Intermarche API from Piloterr — 2 operation(s) for intermarche.
The Intermarche API from Piloterr — 2 operation(s) for intermarche.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/piloterr-com:piloterr-com-intermarche-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Piloterr API Reference Intermarche API
description: Complete API reference documentation.
version: 1.0.0
servers:
- url: https://api.piloterr.com
description: API Server
tags:
- name: Intermarche
paths:
/v2/intermarche/product:
get:
summary: Intermarché Product
description: 'Get an Intermarché product sheet for a store (shop_id). Try an EAN or product URL with shop_id=11301. 3 credits per call.
**Credit cost:** 3 credits per call'
operationId: get-intermarche-product
security:
- ApiKeyAuth: []
parameters:
- name: query
in: query
required: true
description: 'Full Intermarché product URL, or an EAN barcode.
**Examples:**
```
https://www.intermarche.com/produit/flan-patissier-cuit-&-dore-au-four/3250391522828
```
```
3250391522828
```'
schema:
type: string
description: 'Full Intermarché product URL, or an EAN barcode.
**Examples:**
```
https://www.intermarche.com/produit/flan-patissier-cuit-&-dore-au-four/3250391522828
```
```
3250391522828
```'
- name: shop_id
in: query
required: true
description: 'Intermarché store id. Resolve a city with the [Stores Finder](https://www.piloterr.com/library/finder-intermarche-stores) (for example `query=Paris`).
**Example:**
```
11301
```'
schema:
type: string
description: 'Intermarché store id. Resolve a city with the [Stores Finder](https://www.piloterr.com/library/finder-intermarche-stores) (for example `query=Paris`).
**Example:**
```
11301
```'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/is_async'
- $ref: '#/components/parameters/soft_fail'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
ean:
type: string
url:
type: string
unit:
type: string
brand:
type: string
image:
type: string
price:
type: number
stock:
type: integer
title:
type: string
images:
type: array
items:
type: string
origin:
type: string
shop_id:
type: string
capacity:
type: integer
currency:
type: string
in_stock:
type: boolean
packaging:
type: string
was_price:
nullable: true
nutriscore:
type: string
unit_price:
type: number
description:
type: string
price_display:
type: string
examples:
Flan pâtissier in store 11301:
value:
ean: '3250391522828'
url: https://www.intermarche.com/produit/flan-patissier-cuit-&-dore-au-four/3250391522828
unit: €/Kg
brand: Pâturages, une marque Intermarché
image: https://assets-big.cdn-mousquetaires.com/medias/domain11815/media131044/9313237-larns7kgb4-ecommint.jpg
price: 3.06
stock: 8
title: Flan pâtissier, cuit & doré au four
images:
- https://assets-big.cdn-mousquetaires.com/medias/domain11815/media131044/9313237-larns7kgb4-ecommint.jpg
origin: France
shop_id: '11301'
capacity: 400
currency: EUR
in_stock: true
packaging: les 4 pots de 100 g - 400g
was_price: null
nutriscore: C
unit_price: 7.65
description: Flan Pâtissier
price_display: 3,06 €
'400':
description: Bad Request — missing or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Bad Request
'401':
description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalidKey:
value:
error: Invalid API Key
planRateLimit:
value:
error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
keyQuota:
value:
error: 'Rate limit exceeded for the API key: quota monthly'
'402':
description: Payment Required — your subscription or credit balance is insufficient.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Payment required
'500':
description: Internal Server Error — something went wrong on our side.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Internal Error
tags:
- Intermarche
post:
summary: Intermarché Product
description: 'Get an Intermarché product sheet for a store (shop_id). Try an EAN or product URL with shop_id=11301. 3 credits per call.
**Credit cost:** 3 credits per call'
operationId: post-intermarche-product
security:
- ApiKeyAuth: []
parameters:
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/is_async'
- $ref: '#/components/parameters/soft_fail'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
query:
type: string
description: 'Full Intermarché product URL, or an EAN barcode.
**Examples:**
```
https://www.intermarche.com/produit/flan-patissier-cuit-&-dore-au-four/3250391522828
```
```
3250391522828
```'
shop_id:
type: string
description: 'Intermarché store id. Resolve a city with the [Stores Finder](https://www.piloterr.com/library/finder-intermarche-stores) (for example `query=Paris`).
**Example:**
```
11301
```'
required:
- query
- shop_id
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
ean:
type: string
url:
type: string
unit:
type: string
brand:
type: string
image:
type: string
price:
type: number
stock:
type: integer
title:
type: string
images:
type: array
items:
type: string
origin:
type: string
shop_id:
type: string
capacity:
type: integer
currency:
type: string
in_stock:
type: boolean
packaging:
type: string
was_price:
nullable: true
nutriscore:
type: string
unit_price:
type: number
description:
type: string
price_display:
type: string
examples:
Flan pâtissier in store 11301:
value:
ean: '3250391522828'
url: https://www.intermarche.com/produit/flan-patissier-cuit-&-dore-au-four/3250391522828
unit: €/Kg
brand: Pâturages, une marque Intermarché
image: https://assets-big.cdn-mousquetaires.com/medias/domain11815/media131044/9313237-larns7kgb4-ecommint.jpg
price: 3.06
stock: 8
title: Flan pâtissier, cuit & doré au four
images:
- https://assets-big.cdn-mousquetaires.com/medias/domain11815/media131044/9313237-larns7kgb4-ecommint.jpg
origin: France
shop_id: '11301'
capacity: 400
currency: EUR
in_stock: true
packaging: les 4 pots de 100 g - 400g
was_price: null
nutriscore: C
unit_price: 7.65
description: Flan Pâtissier
price_display: 3,06 €
'400':
description: Bad Request — missing or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Bad Request
'401':
description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalidKey:
value:
error: Invalid API Key
planRateLimit:
value:
error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
keyQuota:
value:
error: 'Rate limit exceeded for the API key: quota monthly'
'402':
description: Payment Required — your subscription or credit balance is insufficient.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Payment required
'500':
description: Internal Server Error — something went wrong on our side.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Internal Error
tags:
- Intermarche
/v2/intermarche/search:
get:
summary: Intermarché Search
description: 'Search Intermarché products for a store (shop_id). Try query=lait and shop_id=11301. 3 credits per call.
**Credit cost:** 3 credits per call'
operationId: get-intermarche-search
security:
- ApiKeyAuth: []
parameters:
- name: query
in: query
required: true
description: 'Search keyword or full Intermarché search URL.
**Examples:**
```
lait
```
```
pates
```
```
https://www.intermarche.com/recherche/lait
```
Use the Product endpoint when you already have a product URL or EAN.'
schema:
type: string
description: 'Search keyword or full Intermarché search URL.
**Examples:**
```
lait
```
```
pates
```
```
https://www.intermarche.com/recherche/lait
```
Use the Product endpoint when you already have a product URL or EAN.'
- name: shop_id
in: query
required: true
description: 'Intermarché store id. Resolve a city with the [Stores Finder](https://www.piloterr.com/library/finder-intermarche-stores) (for example `query=Paris`).
**Example:**
```
11301
```'
schema:
type: string
description: 'Intermarché store id. Resolve a city with the [Stores Finder](https://www.piloterr.com/library/finder-intermarche-stores) (for example `query=Paris`).
**Example:**
```
11301
```'
- name: page
in: query
required: false
description: 'Page number starting at `1`. Use `pagination.total_pages` from a previous response to iterate.
**Example:** `2`'
schema:
type: number
description: 'Page number starting at `1`. Use `pagination.total_pages` from a previous response to iterate.
**Example:** `2`'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/is_async'
- $ref: '#/components/parameters/soft_fail'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
type: object
properties:
ean:
type: string
url:
type: string
brand:
type: string
image:
type: string
price:
type: number
title:
type: string
shop_id:
type: string
currency:
type: string
position:
type: integer
packaging:
type: string
unit_price:
type: string
price_display:
type: string
pagination:
type: object
properties:
next:
type: string
page:
type: integer
per_page:
type: integer
total_pages:
type: integer
total_results:
type: integer
examples:
Search 'lait' in store 11301:
value:
results:
- ean: '3533630097654'
url: https://www.intermarche.com/produit/grandlait-frais-lait-frais-de-montagne-entier/3533630097654
brand: Grandlait
image: https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140040/12012075-ubbxcayb3o-ecommint.jpg
price: 1.61
title: Grandlait frais - Lait frais de Montagne entier
shop_id: '11301'
currency: EUR
position: 1
packaging: la bouteille de 1 l
unit_price: 1,61 €/L
price_display: 1,61 €
- ean: '3451790000840'
url: https://www.intermarche.com/produit/candia-grandlait-lait-entier/3451790000840
brand: Candia
image: null
price: 1.29
title: Candia GrandLait - Lait entier
shop_id: '11301'
currency: EUR
position: 2
packaging: la bouteille de 1 l
unit_price: 1,29 €/L
price_display: 1,29 €
pagination:
next: https://www.intermarche.com/recherche/lait?page=2
page: 1
per_page: 40
total_pages: 15
total_results: 588
'400':
description: Bad Request — missing or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Bad Request
'401':
description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalidKey:
value:
error: Invalid API Key
planRateLimit:
value:
error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
keyQuota:
value:
error: 'Rate limit exceeded for the API key: quota monthly'
'402':
description: Payment Required — your subscription or credit balance is insufficient.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Payment required
'500':
description: Internal Server Error — something went wrong on our side.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Internal Error
tags:
- Intermarche
post:
summary: Intermarché Search
description: 'Search Intermarché products for a store (shop_id). Try query=lait and shop_id=11301. 3 credits per call.
**Credit cost:** 3 credits per call'
operationId: post-intermarche-search
security:
- ApiKeyAuth: []
parameters:
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/is_async'
- $ref: '#/components/parameters/soft_fail'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
query:
type: string
description: 'Search keyword or full Intermarché search URL.
**Examples:**
```
lait
```
```
pates
```
```
https://www.intermarche.com/recherche/lait
```
Use the Product endpoint when you already have a product URL or EAN.'
shop_id:
type: string
description: 'Intermarché store id. Resolve a city with the [Stores Finder](https://www.piloterr.com/library/finder-intermarche-stores) (for example `query=Paris`).
**Example:**
```
11301
```'
page:
type: number
description: 'Page number starting at `1`. Use `pagination.total_pages` from a previous response to iterate.
**Example:** `2`'
required:
- query
- shop_id
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
type: object
properties:
ean:
type: string
url:
type: string
brand:
type: string
image:
type: string
price:
type: number
title:
type: string
shop_id:
type: string
currency:
type: string
position:
type: integer
packaging:
type: string
unit_price:
type: string
price_display:
type: string
pagination:
type: object
properties:
next:
type: string
page:
type: integer
per_page:
type: integer
total_pages:
type: integer
total_results:
type: integer
examples:
Search 'lait' in store 11301:
value:
results:
- ean: '3533630097654'
url: https://www.intermarche.com/produit/grandlait-frais-lait-frais-de-montagne-entier/3533630097654
brand: Grandlait
image: https://assets-big.cdn-mousquetaires.com/medias/domain11815/media140040/12012075-ubbxcayb3o-ecommint.jpg
price: 1.61
title: Grandlait frais - Lait frais de Montagne entier
shop_id: '11301'
currency: EUR
position: 1
packaging: la bouteille de 1 l
unit_price: 1,61 €/L
price_display: 1,61 €
- ean: '3451790000840'
url: https://www.intermarche.com/produit/candia-grandlait-lait-entier/3451790000840
brand: Candia
image: null
price: 1.29
title: Candia GrandLait - Lait entier
shop_id: '11301'
currency: EUR
position: 2
packaging: la bouteille de 1 l
unit_price: 1,29 €/L
price_display: 1,29 €
pagination:
next: https://www.intermarche.com/recherche/lait?page=2
page: 1
per_page: 40
total_pages: 15
total_results: 588
'400':
description: Bad Request — missing or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Bad Request
'401':
description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
invalidKey:
value:
error: Invalid API Key
planRateLimit:
value:
error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
keyQuota:
value:
error: 'Rate limit exceeded for the API key: quota monthly'
'402':
description: Payment Required — your subscription or credit balance is insufficient.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Payment required
'500':
description: Internal Server Error — something went wrong on our side.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
error: Internal Error
tags:
- Intermarche
components:
parameters:
fields:
name: fields
in: query
required: false
description: Comma-separated list of response fields to return, with dot notation for nested fields (e.g. `name,location.city`).
schema:
type: string
is_async:
name: is_async
in: query
required: false
description: 'Run the request as a background job: the API answers `202` with a `job_id` to poll on `GET /v1/jobs/{id}`.'
schema:
type: boolean
default: false
soft_fail:
name: soft_fail
in: query
required: false
description: Return HTTP 200 even when the request fails; the error is in the `error` field of the body.
schema:
type: boolean
default: false
schemas:
ErrorResponse:
type: object
required:
- error
properties:
error:
type: string
description: Human-readable error message.
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Your API key. Include it in the x-api-key header for every request.