Piloterr Picard API
The Picard API from Piloterr — 2 operation(s) for picard.
The Picard API from Piloterr — 2 operation(s) for picard.
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-picard-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 Picard API
description: Complete API reference documentation.
version: 1.0.0
servers:
- url: https://api.piloterr.com
description: API Server
tags:
- name: Picard
paths:
/v2/picard/product:
get:
summary: Picard Product
description: 'Picard Product API. Fetch full frozen food product data from a Picard URL or reference. Returns pricing, images, description, Nutri-Score, Planet-Score, breadcrumb and reviews.
**Credit cost:** 1 credit per call'
operationId: get-picard-product
security:
- ApiKeyAuth: []
parameters:
- name: query
in: query
required: true
description: 'Picard product URL or numeric reference.
**Examples:**
```
050314
```
```
https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
```'
schema:
type: string
description: 'Picard product URL or numeric reference.
**Examples:**
```
050314
```
```
https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
```'
- name: return_page_source
in: query
required: false
description: 'When `true`, return the raw HTML as `{"result": "..."}` instead of structured JSON. Defaults to `false`.'
schema:
type: boolean
description: 'When `true`, return the raw HTML as `{"result": "..."}` instead of structured JSON. Defaults to `false`.'
- $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:
url:
type: string
gtin:
type: string
brand:
type: string
label:
type: string
price:
type: number
range:
type: string
title:
type: string
images:
type: array
items:
type: string
origin:
type: string
rating:
type: number
category:
type: string
currency:
type: string
image_url:
type: string
packaging:
type: string
reference:
type: string
breadcrumb:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
position:
type: integer
nutriscore:
type: string
product_id:
type: string
unit_price:
type: number
description:
type: string
planetscore:
type: string
subcategory:
type: string
availability:
type: string
subcategory2:
type: string
reviews_count:
type: integer
unit_price_text:
type: string
examples:
Purée de patate douce (050314) on picard.fr:
value:
url: https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
gtin: '3270160503148'
brand: Picard
label: Convient aux végétariens
price: 2.6
range: Purées
title: Purée de patate douce
images:
- https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sh=200
- https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sw=672&sh=392&q=30&frz-v=115
origin: Produit élaboré en France à partir de patate douce cultivée en Espagne et au Portugal
rating: 4.7
category: Légumes et fruits
currency: EUR
image_url: https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sh=200
packaging: la boîte de 450 g
reference: '050314'
breadcrumb:
- url: https://www.picard.fr/
name: Accueil
position: 1
- url: https://www.picard.fr/rayons
name: Rayons
position: 2
- url: https://www.picard.fr/rayons/legumes-et-fruits
name: Légumes et fruits
position: 3
- url: https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
name: Purée de patate douce
position: 6
nutriscore: A
product_id: '000000000000050314'
unit_price: 5.77
description: Redécouvrez un légume oublié avec cette purée de patate douce au petit goût de châtaigne.
planetscore: C
subcategory: Légumes cuisinés
availability: InStock
subcategory2: Purées
reviews_count: 336
unit_price_text: 'Prix au kilo
5,77 €/kg'
'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:
- Picard
post:
summary: Picard Product
description: 'Picard Product API. Fetch full frozen food product data from a Picard URL or reference. Returns pricing, images, description, Nutri-Score, Planet-Score, breadcrumb and reviews.
**Credit cost:** 1 credit per call'
operationId: post-picard-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: 'Picard product URL or numeric reference.
**Examples:**
```
050314
```
```
https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
```'
return_page_source:
type: boolean
description: 'When `true`, return the raw HTML as `{"result": "..."}` instead of structured JSON. Defaults to `false`.'
required:
- query
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
url:
type: string
gtin:
type: string
brand:
type: string
label:
type: string
price:
type: number
range:
type: string
title:
type: string
images:
type: array
items:
type: string
origin:
type: string
rating:
type: number
category:
type: string
currency:
type: string
image_url:
type: string
packaging:
type: string
reference:
type: string
breadcrumb:
type: array
items:
type: object
properties:
url:
type: string
name:
type: string
position:
type: integer
nutriscore:
type: string
product_id:
type: string
unit_price:
type: number
description:
type: string
planetscore:
type: string
subcategory:
type: string
availability:
type: string
subcategory2:
type: string
reviews_count:
type: integer
unit_price_text:
type: string
examples:
Purée de patate douce (050314) on picard.fr:
value:
url: https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
gtin: '3270160503148'
brand: Picard
label: Convient aux végétariens
price: 2.6
range: Purées
title: Purée de patate douce
images:
- https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sh=200
- https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sw=672&sh=392&q=30&frz-v=115
origin: Produit élaboré en France à partir de patate douce cultivée en Espagne et au Portugal
rating: 4.7
category: Légumes et fruits
currency: EUR
image_url: https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sh=200
packaging: la boîte de 450 g
reference: '050314'
breadcrumb:
- url: https://www.picard.fr/
name: Accueil
position: 1
- url: https://www.picard.fr/rayons
name: Rayons
position: 2
- url: https://www.picard.fr/rayons/legumes-et-fruits
name: Légumes et fruits
position: 3
- url: https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
name: Purée de patate douce
position: 6
nutriscore: A
product_id: '000000000000050314'
unit_price: 5.77
description: Redécouvrez un légume oublié avec cette purée de patate douce au petit goût de châtaigne.
planetscore: C
subcategory: Légumes cuisinés
availability: InStock
subcategory2: Purées
reviews_count: 336
unit_price_text: 'Prix au kilo
5,77 €/kg'
'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:
- Picard
/v2/picard/search:
get:
summary: Picard Search
description: 'Picard Search API. Search frozen food listings on picard.fr by keyword or URL. Parses SFCC Search-UpdateGrid HTML; returns prices, Nutri-Score, ratings and pagination.
**Credit cost:** 1 credit per call'
operationId: get-picard-search
security:
- ApiKeyAuth: []
parameters:
- name: query
in: query
required: true
description: 'Search keyword or full Picard search URL.
**Examples:**
```
patate douce
```
```
https://www.picard.fr/recherche?q=patate&lang=fr_FR
```
Use **Picard Product** on any result `url` or `product_id` for full PDP data.'
schema:
type: string
description: 'Search keyword or full Picard search URL.
**Examples:**
```
patate douce
```
```
https://www.picard.fr/recherche?q=patate&lang=fr_FR
```
Use **Picard Product** on any result `url` or `product_id` for full PDP data.'
- name: page
in: query
required: false
description: '1-based page number (24 results per page via SFCC `Search-UpdateGrid`). Default: `1`.'
schema:
type: number
minimum: 1
maximum: 500
description: '1-based page number (24 results per page via SFCC `Search-UpdateGrid`). Default: `1`.'
- name: return_page_source
in: query
required: false
description: 'When `true`, return the raw HTML as `{"result": "..."}` instead of structured JSON. Defaults to `false`.'
schema:
type: boolean
description: 'When `true`, return the raw HTML as `{"result": "..."}` instead of structured JSON. Defaults to `false`.'
- $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:
url:
type: string
price:
type: number
title:
type: string
rating:
type: number
category:
type: string
currency:
type: string
image_url:
type: string
packaging:
type: string
reference:
type: string
nutriscore:
type: string
product_id:
type: string
subcategory:
type: string
availability:
type: string
reviews_count:
nullable: true
unit_price_text:
type: string
pagination:
type: object
properties:
next:
nullable: true
page:
type: integer
count:
type: integer
has_next:
type: boolean
per_page:
type: integer
examples:
Search 'patate douce' on picard.fr (page 1):
value:
results:
- url: https://www.picard.fr/produits/inedites-patate-douce-patates-douce-enrobees-000000000000050935.html
price: 3.4
title: Inédites à la patate douce, patates douce enrobées
rating: 4.56
category: Légumes et fruits
currency: EUR
image_url: https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dw8a619f76/produits/000000000000050935_E.jpg?sw=258&sh=151&q=30
packaging: le sachet de 500 g
reference: '50935'
nutriscore: C
product_id: 000000000000050935
subcategory: Féculents
availability: en stock
reviews_count: null
unit_price_text: 6,80 €/kg
- url: https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
price: 2.6
title: Purée de patate douce
rating: 4.7
category: Légumes et fruits
currency: EUR
image_url: https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sw=258&sh=151&q=30
packaging: la boîte de 450 g
reference: '50314'
nutriscore: A
product_id: '000000000000050314'
subcategory: Légumes cuisinés
availability: en stock
reviews_count: null
unit_price_text: 5,77 €/kg
pagination:
next: null
page: 1
count: 21
has_next: false
per_page: 24
'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:
- Picard
post:
summary: Picard Search
description: 'Picard Search API. Search frozen food listings on picard.fr by keyword or URL. Parses SFCC Search-UpdateGrid HTML; returns prices, Nutri-Score, ratings and pagination.
**Credit cost:** 1 credit per call'
operationId: post-picard-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 Picard search URL.
**Examples:**
```
patate douce
```
```
https://www.picard.fr/recherche?q=patate&lang=fr_FR
```
Use **Picard Product** on any result `url` or `product_id` for full PDP data.'
page:
type: number
minimum: 1
maximum: 500
description: '1-based page number (24 results per page via SFCC `Search-UpdateGrid`). Default: `1`.'
return_page_source:
type: boolean
description: 'When `true`, return the raw HTML as `{"result": "..."}` instead of structured JSON. Defaults to `false`.'
required:
- query
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
type: object
properties:
url:
type: string
price:
type: number
title:
type: string
rating:
type: number
category:
type: string
currency:
type: string
image_url:
type: string
packaging:
type: string
reference:
type: string
nutriscore:
type: string
product_id:
type: string
subcategory:
type: string
availability:
type: string
reviews_count:
nullable: true
unit_price_text:
type: string
pagination:
type: object
properties:
next:
nullable: true
page:
type: integer
count:
type: integer
has_next:
type: boolean
per_page:
type: integer
examples:
Search 'patate douce' on picard.fr (page 1):
value:
results:
- url: https://www.picard.fr/produits/inedites-patate-douce-patates-douce-enrobees-000000000000050935.html
price: 3.4
title: Inédites à la patate douce, patates douce enrobées
rating: 4.56
category: Légumes et fruits
currency: EUR
image_url: https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dw8a619f76/produits/000000000000050935_E.jpg?sw=258&sh=151&q=30
packaging: le sachet de 500 g
reference: '50935'
nutriscore: C
product_id: 000000000000050935
subcategory: Féculents
availability: en stock
reviews_count: null
unit_price_text: 6,80 €/kg
- url: https://www.picard.fr/produits/puree-patate-douce-000000000000050314.html
price: 2.6
title: Purée de patate douce
rating: 4.7
category: Légumes et fruits
currency: EUR
image_url: https://www.picard.fr/dw/image/v2/AAHV_PRD/on/demandware.static/-/Sites-catalog-picard/default/dwea0e1bd9/produits/legumes/edition/000000000000050314_E1.jpg?sw=258&sh=151&q=30
packaging: la boîte de 450 g
reference: '50314'
nutriscore: A
product_id: '000000000000050314'
subcategory: Légumes cuisinés
availability: en stock
reviews_count: null
unit_price_text: 5,77 €/kg
pagination:
next: null
page: 1
count: 21
has_next: false
per_page: 24
'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:
- Picard
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.