Open Prices
Open Prices is a RESTful API, linked to the data.gouv.fr platform, that allows contributors to enrich a collaborative database of product prices. It supports authentication for managing API access, and provides endpoints for retrieving, adding, and modifying product information as well as associated price entries. The service is built around a crowdsourced model similar to Open Food Facts, enabling users to submit price observations tied to specific products and locations. It is aimed at developers and contributors wishing to build tools or analyses based on retail price data collected from the public.L'API RESTful d'Open Prices vous permet d'enrichir la base de données en ajoutant des informations sur les prix des produits. **Fonctionnalités principales :** * **Authentification :** Gérez votre accès à l'API. * **Produits :** Obtenez, ajoutez ou modifiez des informations sur les produits. * **…
Trust score
How is this computed?Weighted across five axes. Tap a ring for what it measures.
Data schema (163 fields)
| Field | Type | Description |
|---|---|---|
| format | string | Response format requested for the API output.Response format requested for the API output. |
| lang | string | Language code used for localized content.Language code used for localized content. |
| order_byOrder by | string | Which field to use when ordering the results. |
| page | integer | A page number within the paginated result set. |
| size | integer | Number of results to return per page. |
| id | integer | Unique identifier for the record.A unique integer value identifying this Badge. |
| end_date__gtEnd date gt | string (date) | Filter records with an end date after this date.Filter records with an end date after this date. |
| end_date__gteEnd date gte | string (date) | Filter records with an end date on or after this date.Filter records with an end date on or after this date. |
| end_date__ltEnd date lt | string (date) | Filter records with an end date before this date.Filter records with an end date before this date. |
| end_date__lteEnd date lte | string (date) | Filter records with an end date on or before this date.Filter records with an end date on or before this date. |
| end_date__monthEnd date month | number | Filter records by the month of their end date.Filter records by the month of their end date. |
| end_date__yearEnd date year | number | Filter records by the year of their end date.Filter records by the year of their end date. |
| is_publishedIs published | boolean | Filter records by whether they are published.Filter records by whether they are published. |
| start_date__gtStart date gt | string (date) | Filter records with a start date after this date.Filter records with a start date after this date. |
| start_date__gteStart date gte | string (date) | Filter records with a start date on or after this date.Filter records with a start date on or after this date. |
| start_date__ltStart date lt | string (date) | Filter records with a start date before this date.Filter records with a start date before this date. |
| start_date__lteStart date lte | string (date) | Filter records with a start date on or before this date.Filter records with a start date on or before this date. |
| start_date__monthStart date month | number | Filter records by the month of their start date.Filter records by the month of their start date. |
| start_date__yearStart date year | number | Filter records by the year of their start date.Filter records by the year of their start date. |
| status | string | Current status of the item, e.g. draft, upcoming, ongoing or completed.* `DRAFT` - DRAFT * `UPCOMING` - UPCOMING * `ONGOING` - ONGOING * `COMPLETED` - COMPLETED |
| content_typeContent type | array | Type of content the record relates to, price or proof.* `PRICE` - Price * `PROOF` - Proof |
| object_idObject id | integer | Identifier of the related object referenced by content_type.Identifier of the related object referenced by content_type. |
| reason | array | Reason given for flagging the record.* `WRONG_TYPE` - Wrong type * `WRONG_PRICE_VALUE` - Wrong price value * `WRONG_CURRENCY` - Wrong currency * `WRONG_PRODUCT` - Wrong product * `WRONG_LOCATION` - Wrong location * `WRONG_DATE` - Wrong date * `OTHER` - Other |
| osm_address_city__likeOsm address city like | string | Filter locations by a partial match on city name.Filter locations by a partial match on city name. |
| osm_address_country__likeOsm address country like | string | Filter locations by a partial match on country name.Filter locations by a partial match on country name. |
| osm_name__likeOsm name like | string | Filter locations by a partial match on OSM name.Filter locations by a partial match on OSM name. |
| price_countPrice count | integer | Number of prices associated with this record.Number of prices associated with this record. |
| price_count__gtePrice count gte | integer | Filter records with at least this many prices.Filter records with at least this many prices. |
| price_count__ltePrice count lte | integer | Filter records with at most this many prices.Filter records with at most this many prices. |
| type | string | Type of location, either OSM-sourced or online.* `OSM` - OSM * `ONLINE` - ONLINE |
| date__gteDate gte | string (date) | Filter prices with date greater than or equal to this date (YYYY-MM-DD).Filter prices with date greater than or equal to this date (YYYY-MM-DD) |
| date__lteDate lte | string (date) | Filter prices with date less than or equal to this date (YYYY-MM-DD).Filter prices with date less than or equal to this date (YYYY-MM-DD) |
| location_id_aLocation id a | integer | Identifier of the first location being compared.Identifier of the first location being compared. |
| location_id_bLocation id b | integer | Identifier of the second location being compared.Identifier of the second location being compared. |
| price_is_discountedPrice is discounted | boolean | Filter to keep only discounted or non-discounted prices.Filter to keep only discounted or non-discounted prices |
| lat | number (float) | Latitude of the center point (decimal degrees, -90 to 90).Latitude of the center point (decimal degrees, -90 to 90) |
| lon | number (float) | Longitude of the center point (decimal degrees, -180 to 180).Longitude of the center point (decimal degrees, -180 to 180) |
| radius_kmRadius km | number (float) | Search radius in kilometers (must be positive).Search radius in kilometers (must be positive) |
| osm_idOsm id | integer | OpenStreetMap identifier of the location.OpenStreetMap identifier of the location. |
| osm_typeOsm type | string | OpenStreetMap element type, such as node, way or relation.OpenStreetMap element type, such as node, way or relation. |
| country_codeCountry code | string | ISO country code used to filter results.ISO country code used to filter results. |
| created__gteCreated gte | string (date-time) | Filter records created on or after this date and time.Filter records created on or after this date and time. |
| created__lteCreated lte | string (date-time) | Filter records created on or before this date and time.Filter records created on or before this date and time. |
| prediction_countPrediction count | integer | Number of predictions associated with this record.Number of predictions associated with this record. |
| prediction_count__gtePrediction count gte | integer | Filter records with at least this many predictions.Filter records with at least this many predictions. |
| prediction_count__ltePrediction count lte | number | Filter records with at most this many predictions.Filter records with at most this many predictions. |
| price_idPrice id | integer | Identifier of the related price record.Identifier of the related price record. |
| proof__location__osm_address_country_codeProof location osm address country code | string | Filter proofs by the country code of their location.Filter proofs by the country code of their location. |
| proof__ownerProof owner | string | Filter proofs by the username of their owner.Filter proofs by the username of their owner. |
| proof__ready_for_price_tag_validationProof ready for price tag validation | boolean | Filter proofs marked as ready for price tag validation.Filter proofs marked as ready for price tag validation. |
| proof_idProof id | integer | Identifier of the related proof record.Identifier of the related proof record. |
| status__isnullStatus isnull | boolean | Filter records where the status field is empty.Filter records where the status field is empty. |
| tags__containsTags contains | string | Filter records whose tags contain the given value.Filter records whose tags contain the given value. |
| tags__not_containsTags not contains | string | Filter records whose tags do not contain the given value.Filter records whose tags do not contain the given value. |
| category_tagCategory tag | string | Filter records by a specific category tag.Filter records by a specific category tag. |
| currency | string | Currency code of the price, using ISO 4217 codes.* `ADP` - ADP * `AED` - AED * `AFA` - AFA * `AFN` - AFN * `ALK` - ALK * `ALL` - ALL * `AMD` - AMD * `ANG` - ANG * `AOA` - AOA * `AOK` - AOK * `AON` - AON * `AOR` - AOR * `ARA` - ARA * `ARL` - ARL * `ARM` - ARM * `ARP` - ARP * `ARS` - ARS * `ATS` - ATS * `AUD` - AUD * `AWG` - AWG * `AZM` - AZM * `AZN |
| date | string (date) | Date associated with the price record.Date associated with the price record. |
| date__gtDate gt | string (date) | Filter records with a date after this date.Filter records with a date after this date. |
| date__ltDate lt | string (date) | Filter records with a date before this date.Filter records with a date before this date. |
| date__monthDate month | number | Filter records by the month of their date.Filter records by the month of their date. |
| date__yearDate year | number | Filter records by the year of their date.Filter records by the year of their date. |
| discount_typeDiscount type | string | Type of discount applied to the price, e.g. sale or loyalty program.* `QUANTITY` - QUANTITY * `SALE` - SALE * `SEASONAL` - SEASONAL * `LOYALTY_PROGRAM` - LOYALTY_PROGRAM * `EXPIRES_SOON` - EXPIRES_SOON * `PICK_IT_YOURSELF` - PICK_IT_YOURSELF * `SECOND_HAND` - SECOND_HAND * `OTHER` - OTHER |
| duplicate_of__isnullDuplicate of isnull | boolean | Filter records that do not reference another record as a duplicate.Filter records that do not reference another record as a duplicate. |
| kind | string | Kind of price entry, either community-contributed or consumption-based.* `COMMUNITY` - COMMUNITY * `CONSUMPTION` - CONSUMPTION |
| labels_tags__containsLabels tags contains | string | Filter records whose product label tags contain the given value.Filter records whose product label tags contain the given value. |
| location__osm_name__containsLocation osm name contains | string | Filter records whose location OSM name contains the given value.Filter records whose location OSM name contains the given value. |
| location__typeLocation type | string | Type of the associated location, either OSM-sourced or online.* `OSM` - OSM * `ONLINE` - ONLINE |
| location_idLocation id | integer | Identifier of the associated location.Identifier of the associated location. |
| location_id__inLocation id in | array | Filter records matching any of the given location IDs, comma-separated.Multiple values may be separated by commas. |
| location_id__isnullLocation id isnull | boolean | Filter records where the location is not set.Filter records where the location is not set. |
| location_osm_idLocation osm id | integer | OpenStreetMap identifier of the associated location.OpenStreetMap identifier of the associated location. |
| location_osm_typeLocation osm type | string | OpenStreetMap element type of the location, node, way or relation.* `NODE` - NODE * `WAY` - WAY * `RELATION` - RELATION |
| origins_tags__containsOrigins tags contains | string | Filter records whose product origin tags contain the given value.Filter records whose product origin tags contain the given value. |
| owner | string | Username of the person who created the record.Username of the person who created the record. |
| price | number | Monetary value of the recorded price.Monetary value of the recorded price. |
| price__gtPrice gt | number | Filter records with a price greater than this value.Filter records with a price greater than this value. |
| price__gtePrice gte | number | Filter records with a price greater than or equal to this value.Filter records with a price greater than or equal to this value. |
| price__ltPrice lt | number | Filter records with a price less than this value.Filter records with a price less than this value. |
| price__ltePrice lte | number | Filter records with a price less than or equal to this value.Filter records with a price less than or equal to this value. |
| product__categories_tags__containsProduct categories tags contains | string | Filter records whose product category tags contain the given value.Filter records whose product category tags contain the given value. |
| product__categories_tags__overlapProduct categories tags overlap | array | Filter records whose product category tags overlap with the given values, comma-separated.Multiple values may be separated by commas. |
| product__sourceProduct source | string | Source database of the associated product.* `off` - off * `obf` - obf * `opff` - opff * `opf` - opf |
| product__source__isnullProduct source isnull | boolean | Filter records where the product source is not set.Filter records where the product source is not set. |
| product_codeProduct code | string | Barcode of the associated product.Barcode of the associated product. |
| product_code__inProduct code in | array | Filter records matching any of the given product codes, comma-separated.Multiple values may be separated by commas. |
| product_code__isnullProduct code isnull | boolean | Filter records where the product code is not set.Filter records where the product code is not set. |
| product_idProduct id | integer | Identifier of the associated product.Identifier of the associated product. |
| product_id__inProduct id in | array | Filter records matching any of the given product IDs, comma-separated.Multiple values may be separated by commas. |
| product_id__isnullProduct id isnull | boolean | Filter records where the product ID is not set.Filter records where the product ID is not set. |
| product_nameProduct name | string | Name of the associated product.Name of the associated product. |
| proof__typeProof type | array | Type of proof document, such as a price tag or receipt.* `PRICE_TAG` - PRICE_TAG * `RECEIPT` - RECEIPT * `GDPR_REQUEST` - GDPR_REQUEST * `SHOP_IMPORT` - SHOP_IMPORT |
| proof_id__inProof id in | array | Filter records matching any of the given proof IDs, comma-separated.Multiple values may be separated by commas. |
| proof_id__isnullProof id isnull | boolean | Filter records where the proof is not set.Filter records where the proof is not set. |
| brands__likeBrands like | string | Filter products by a partial match on brand name.Filter products by a partial match on brand name. |
| brands_tags__containsBrands tags contains | string | Filter records whose brand tags contain the given value.Filter records whose brand tags contain the given value. |
| categories_tags__containsCategories tags contains | string | Filter records whose category tags contain the given value.Filter records whose category tags contain the given value. |
| code | string | Barcode or unique code of the product.Barcode or unique code of the product. |
| creator | string | Username of the person who created the record.Username of the person who created the record. |
| ecoscore_gradeEcoscore grade | string | Eco-Score environmental grade of the product.Eco-Score environmental grade of the product. |
| nova_groupNova group | integer | NOVA food processing classification group of the product.NOVA food processing classification group of the product. |
| nutriscore_gradeNutriscore grade | string | Nutri-Score nutritional grade of the product.Nutri-Score nutritional grade of the product. |
| product_name__likeProduct name like | string | Filter products by a partial match on product name.Filter products by a partial match on product name. |
| source | string | Source database the record originates from.* `off` - off * `obf` - obf * `opff` - opff * `opf` - opf |
| source__isnullSource isnull | boolean | Filter records where the source is not set.Filter records where the source is not set. |
| unique_scans_n__gteUnique scans n gte | integer | Filter products with at least this many unique scans.Filter products with at least this many unique scans. |
| image_md5_hashImage md5 hash | string | MD5 hash of the associated image file.MD5 hash of the associated image file. |
| ready_for_price_tag_validationReady for price tag validation | boolean | Filter records marked as ready for price tag validation.Filter records marked as ready for price tag validation. |
| user_idUser id | string | A unique value identifying this user.A unique value identifying this User. |
| nameBadge | string | Name of the badge.Name of the badge. |
| descriptionBadge | string | Text describing the badge's purpose or criteria.Text describing the badge's purpose or criteria. |
| image_urlBadge | string (uri) | URL of the badge's image.URL of the badge's image. |
| metricBadge | object | Metric used to determine eligibility for the badge.Metric used to determine eligibility for the badge. |
| thresholdBadge | integer | Value the metric must reach to earn the badge.Value the metric must reach to earn the badge. |
| user_countBadge | integer | Number of users who have earned the badge.Number of users who have earned the badge. |
| createdBadge | string (date-time) | Date and time the badge record was created.Date and time the badge record was created. |
| updatedBadge | string (date-time) | Date and time the badge record was last updated.Date and time the badge record was last updated. |
| userBadgeUser | unknown | User associated with this badge achievement.User associated with this badge achievement. |
| achieved_atBadgeUser | string (date-time) | Date and time the badge was achieved by the user.Date and time the badge was achieved by the user. |
| badgeBadgeUser | integer | Identifier of the badge earned.Identifier of the badge earned. |
| locationsChallenge | array<object> | Locations associated with the challenge.Locations associated with the challenge. |
| tagChallenge | string | Tag identifying the challenge.Tag identifying the challenge. |
| titleChallenge | string | Title of the challenge.Title of the challenge. |
| iconChallenge | string | Icon associated with the challenge.Icon associated with the challenge. |
| subtitleChallenge | string | Subtitle text of the challenge.Subtitle text of the challenge. |
| start_dateChallenge | string (date) | Date the challenge starts.Date the challenge starts. |
| end_dateChallenge | string (date) | Date the challenge ends.Date the challenge ends. |
| categoriesChallenge | array<string> | Restrict to one or multiple categories (optional).Restrict to one or multiple categories (optional) |
| categories_fullChallenge | array<string> | Full category tags with parents, used for matching and stats (read-only).Full category tags with parents, used for matching & stats (readonly) |
| example_proof_urlChallenge | string | URL of an example proof image for the challenge.URL of an example proof image for the challenge. |
| statsChallenge | unknown | Statistics computed for the challenge.Statistics computed for the challenge. |
| country_code_2Country | string | ISO 3166-1 alpha-2 code of the country.ISO 3166-1 alpha-2 code of the country. |
| osm_nameCountry | string | Name of the country as recorded in OpenStreetMap.Name of the country as recorded in OpenStreetMap. |
| location_countCountry | integer | Number of locations recorded in the country.Number of locations recorded in the country. |
| bounding_boxesDraftProofAnonymizeRequest | array<array<number (double)>> | Coordinate boxes marking areas to anonymize in a proof image.Coordinate boxes marking areas to anonymize in a proof image. |
| commentFlag | string | Text comment explaining the reason for the flag.Text comment explaining the reason for the flag. |
| content_objectFlagCreate | string | Reference to the object being flagged.Reference to the object being flagged. |
| osm_brand_logo_urlLocation | string | URL of the brand's logo from OpenStreetMap.URL of the brand's logo from OpenStreetMap. |
| osm_display_nameLocation | string | Full display name of the location from OpenStreetMap.Full display name of the location from OpenStreetMap. |
| osm_tag_keyLocation | string | OpenStreetMap tag key describing the location.OpenStreetMap tag key describing the location. |
| osm_tag_valueLocation | string | OpenStreetMap tag value describing the location.OpenStreetMap tag value describing the location. |
| osm_brandLocation | string | Brand name associated with the location in OpenStreetMap.Brand name associated with the location in OpenStreetMap. |
| osm_address_postcodeLocation | string | Postal code of the location from OpenStreetMap.Postal code of the location from OpenStreetMap. |
| osm_address_cityLocation | string | City name of the location from OpenStreetMap.City name of the location from OpenStreetMap. |
| osm_address_countryLocation | string | Country name of the location from OpenStreetMap.Country name of the location from OpenStreetMap. |
| osm_address_country_codeLocation | string | Country code of the location from OpenStreetMap.Country code of the location from OpenStreetMap. |
| osm_latLocation | number (double) | Latitude of the location from OpenStreetMap.Latitude of the location from OpenStreetMap. |
| osm_lonLocation | number (double) | Longitude of the location from OpenStreetMap.Longitude of the location from OpenStreetMap. |
| osm_versionLocation | integer | Version number of the location's OpenStreetMap element.Version number of the location's OpenStreetMap element. |
| website_urlLocation | string (uri) | Website URL of the location.Website URL of the location. |
| product_countLocation | integer | Number of products recorded at this location.Number of products recorded at this location. |
| proof_countLocation | integer | Number of proofs recorded at this location.Number of proofs recorded at this location. |
| location_aLocationCompare | object | First location included in the comparison.First location included in the comparison. |
| location_bLocationCompare | object | Second location included in the comparison.Second location included in the comparison. |
| shared_productsLocationCompare | unknown | Products common to both compared locations.Products common to both compared locations. |
| total_sum_location_aLocationCompare | number (double) | Total price sum recorded for the first location.Total price sum recorded for the first location. |
| total_sum_location_bLocationCompare | number (double) | Total price sum recorded for the second location.Total price sum recorded for the second location. |
| distance_kmLocationNearby | number (double) | Distance in kilometers to the nearby location.Distance in kilometers to the nearby location. |
| usernameLogin | string | Username used to log in.Username used to log in. |
| passwordLogin | string | Password used to log in.Password used to log in. |
| access_tokenLogin | string | Authentication token issued after login.Authentication token issued after login. |
| itemsPaginatedBadgeList | array<object> | List of badge records returned in the page.List of badge records returned in the page. |
| pagesPaginatedBadgeList | integer | Total number of pages.Total number of pages |
| totalPaginatedBadgeList | integer | Total number of items.Total number of items |
Schema captured from openapi 23 days ago.
Verification Status
Using the API
Configuration
- Base URL
- https://prices.openfoodfacts.org/api/docs
- Format
- openapi
License
Terms stated by the source (not a recognized license):
https://www.gnu.org/licenses/agpl-3.0.en.html
Query examples
curl -s 'https://prices.openfoodfacts.org/api/schema' -H 'Accept: application/json'Machine-readable API description (use it to generate clients).
Machine-readable & source
Embed this badge in a README or wiki — it always shows the latest verification state and quality tier.