Jump to content

API/Read: Difference between revisions

30,212 bytes removed ,  30 March 2018
no edit summary
No edit summary
No edit summary
Line 53: Line 53:
If the results include links to products, those links will use a new subdomain that corresponds to the overrides.
If the results include links to products, those links will use a new subdomain that corresponds to the overrides.


=== Reading a product ===
The requested subdomain will be the locale fetched. (fr.openfoodfacts will fetch FR, world.openfoodfacts EN, world-fr FR products from the whole world)


==== Structure of the call ====
=== Viewing a product ===


* https://world.openfoodfacts.org/api/v0/product/737628064502.xml
[[API/Read/Product]]
* https://world.openfoodfacts.org/api/v0/product/737628064502.json
Β 
The final number must be a valid barcode.
Β 
==== Status codes ====
===== If a product is not found =====
<pre>
{Β 
Β  "status_verbose":"product not found",
Β  "code":"32421",
Β  "status":0
}
</pre>
Β 
===== If the product is found properly =====
Β 
See a full example: [[API/Full JSON example]]
Β 
==== Fields within a product ====
==== Name ====
* product_name : name of the product : Coca Cola
* generic_name : name that shouldn't contain brands : Cola soda
* generic_name_LANG_CODE : name that shouldn't contain brands:
** generic_name_fr:soda au cola
** generic_name_en:cola soda
Β 
====Barcodes====
* code : barcode of the product (can be EAN-13 or internal codes for some food stores), for products without a barcode, Open Food Facts assigns a number starting with the 200 reserved prefix
=====List of List of barcodes beginning with a given number =====
* https://world.openfoodfacts.org/codes.json
* https://world.openfoodfacts.org/codes.xml
=====List of barcodes beginning with 3596710 =====
* https://world.openfoodfacts.org/code/3596710xxxxxx.json
* https://world.openfoodfacts.org/code/3596710xxxxxx.xml
Β 
==== Quantity and unit ====
* quantity : quantity and unit
==== URL of the product page ====
* url : url of the product page on Open Food Facts
Β 
====Brands====
* brands
* brands_tags
=====List of Brands=====
* https://world.openfoodfacts.org/brands.json
* https://world.openfoodfacts.org/brands.xml
=====Individual Brand=====
* https://world.openfoodfacts.org/brand/monoprix.json
* https://world.openfoodfacts.org/brand/monoprix.xml
Β 
==== Product images ====
* Images ensure the reliability of Open Food Facts data. It provides a primary source and proof of all the structured data. You may therefore want to display it along the structured information.
* We encourage you to let your users upload images for products that don't exist yet, and for existing products as well (packaging and information changes over time).
* We have different scales of images. Use them wisely to save bandwidth, both for your users and Open Food Facts.
Β 
===== Raw images =====
* image_small_url
* image_thumb_url
* image_url
===== Front image =====
* "image_front_url"
* "image_front_small_url"
* "image_front_thumb_url"
===== Ingredients image =====
* "image_ingredients_url"
* "image_ingredients_small_url"
* "image_ingredients_thumb_url"
===== Nutrition image =====
* "image_nutrition_url"
* "image_nutrition_small_url"
* "image_nutrition_thumb_url"
Β 
==== Languages ====
Languages on the packaging of the product.
=====List of languages present on packaging =====
* https://world.openfoodfacts.org/languages.json
* https://world.openfoodfacts.org/languages.xml
=====List of products with given language on packaging =====
* https://world.openfoodfacts.org/language/italian.json
* https://world.openfoodfacts.org/language/italian.xml
=====List of products in Italian and Chinese =====
* https://world.openfoodfacts.org/language/italian/language/chinese.json
===== List of multilingual products =====
* https://world.openfoodfacts.org/language/multilingual.json
* https://world.openfoodfacts.org/language/multilingual.xml
===== List of products by language count =====
* https://world.openfoodfacts.org/language/1.json
* https://world.openfoodfacts.org/language/1.xml
* https://world.openfoodfacts.org/language/2.json
* https://world.openfoodfacts.org/language/2.xml
* https://world.openfoodfacts.org/language/3.json
* https://world.openfoodfacts.org/language/3.xml
=====Getting suggestions for languages=====
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=languages&string=a
Β 
Β 
====Labels====
===== Labels =====
* labels
* labels_fr
===== Label tags =====
* labels_tags
* labels_debug_tags
* labels_prev_tags
* labels_next_tags
Β 
===== Label hierarchy =====
* labels_hierarchy
* labels_prev_hierarchy
* labels,labels_next_hierarchy
Β 
Β 
For a list of all taxonomized values in all supported languages, please refer to the [[Global labels taxonomy]]
=====List of labels=====
* https://world.openfoodfacts.org/labels.json
* https://world.openfoodfacts.org/labels.xml
=====Individual label=====
* https://world.openfoodfacts.org/label/utz-certified.json
* https://world.openfoodfacts.org/label/utz-certified.xml
Β 
===== Label images =====
No format API is currently available. However, they are predictable:
<pre>
https://static.openfoodfacts.org/images/lang/en/labels/eu-organic.135x90.svg
</pre>
Β 
A full list is available at:
<pre>
https://github.com/openfoodfacts/openfoodfacts-server/tree/master/html/images/lang/fr/labels
https://github.com/openfoodfacts/openfoodfacts-server/tree/master/html/images/lang/en/labels
https://github.com/openfoodfacts/openfoodfacts-server/tree/master/html/images/lang/de/labels
</pre>
Β 
=====Getting suggestions for labels=====
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=labels&string=a
Β 
====Categories====
For a list of all possible values in all supported languages, please refer to the [[Global categories taxonomy]]
* categories
* categories_tags
* categories_fr
* main_category
* main_category_fr
===== Hierarchy =====
The categories_hierarchy is sorted by the "level" of each category. Level 0 means the category has no children, level 1 means it has children that do not have other children, level 2 is when it has children that have children that do not have children etc.
Β 
=====List of categories=====
* https://world.openfoodfacts.org/categories.json
* https://world.openfoodfacts.org/categories.xml
=====Individual category=====
* https://world.openfoodfacts.org/category/baby-foods.json
* https://world.openfoodfacts.org/category/baby-foods.xml
=====Getting suggestions for categories=====
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=categories&string=a
Β 
==== Location of a product (from country to store) ====
===== Origins of ingredients =====
Β 
* origins : origins of ingredients
* origins_tags
Β 
===== Manufacturing Places =====
* manufacturing_places : places where manufactured or transformed
* manufacturing_places_tags
Β 
===== Cities =====
* cities
* cities_tags
Β 
=====Country of products=====
* countries : list of countries where the product is sold
* countries_tags
* countries_fr
======List of Countries ======
* https://world.openfoodfacts.org/countries.json
* https://world.openfoodfacts.org/countries.xml
======Individual Country ======
* https://world.openfoodfacts.org/country/france.json
* https://world.openfoodfacts.org/country/france.xml
======Getting suggestions for Countries======
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=countries&string=f
=====Purchase place of products=====
* purchase_places
======List of purchase places ======
* https://world.openfoodfacts.org/purchase-places.json
* https://world.openfoodfacts.org/purchase-places.xml
======Individual purchase place ======
* https://world.openfoodfacts.org/purchase-place/marseille-5.json
* https://world.openfoodfacts.org/purchase-place/marseille-5.xml
=====Store of products=====
* stores
======List of Stores======
* https://world.openfoodfacts.org/stores.json
* https://world.openfoodfacts.org/stores.xml
======Individual Store======
* https://world.openfoodfacts.org/store/super-u.json
* https://world.openfoodfacts.org/store/super-u.xml
Β 
==== Composition of a product : ingredients, detected ingredients, traces, allergens ====
Β 
===== Ingredients =====
<pre>Do not make the assumption that the ingredient is or is not present based on this. Parsing errors happen.</pre>
====== List of ingredients on a specific product ======
* On a product '''ingredients_text''' contains the text of the ingredients.
** ingredients_text_fr, ingredients_text_nl… (the package of a product may be multilingual)
** ingredients_text_with_allergens_fr (same with HTML markup around allergens)
* This list is parsed and we construct an '''ingredients''' and '''ingredients_tags''' list, but those will contain synonyms etc. We do not have a full taxonomy for ingredients yet. It's a work in progress.
** ingredients
*** percent: possible detected percentage (still unreliable)
*** rank: the order of the ingredient in the ingredient list
*** id: a slug version of the detected ingredient
*** text: the raw text of the detected ingredient
** ingredients_tags
* The ingredients are not yet taxonomized on [https://world.openfoodfacts.org Open Food Facts]. They are taxonomized on [https://world.openbeautyfacts.org Open Beauty Facts]
* The taxonomies of ingredients need expansion:Β  [[Global ingredients taxonomy]] (OFF), [https://en.wiki.openbeautyfacts.org/Global_ingredients_taxonomy Global ingredients taxonomy Open Beauty Facts]
====== List of detected ingredients ======
* https://world.openfoodfacts.org/ingredients.json
* https://world.openfoodfacts.org/ingredients.xml
====== List of products where a specific ingredient has been detected ======
* https://world.openfoodfacts.org/ingredient/sucre.xml
* https://world.openfoodfacts.org/ingredient/sucre.json
======Getting suggestions for ingredients (ONLY FOR OBF at the moment) ======
* https://world.openbeautyfacts.org/cgi/suggest.pl?lc=fr&tagtype=ingredients&string=f
Β 
Β 
===== Vitamins and minerals detection =====
Β 
Β 
====== Vitamins ======
<pre>"vitamins_tags":["en:vitamin-a","en:cholecalciferol","en:vitamin-e","en:vitamin-c","en:thiamin","en:riboflavin","en:niacin","en:vitamin-b6","en:folic-acid","en:vitamin-b12","en:biotin","en:phylloquinone"]</pre>
====== Minerals ======
<pre>"minerals_tags":["en:calcium-citrate","en:potassium-citrate","en:sodium-citrate","en:magnesium-chloride","en:calcium-phosphate","en:potassium-phosphate","en:ferrous-sulphate","en:zinc-sulphate","en:cupric-sulphate","en:manganese-sulphate","en:sodium-carbonate","en:potassium-iodide"]</pre>
Β 
====== Amino acids ======
<pre>"amino_acids_tags":["en:l-tryptophan"]</pre>
Β 
====== Other nutritional substances =====
<pre>"other_nutritional_substances_tags":["en:taurine","en:inositol","en:choline-citrate","en:taurine","en:inositol","en:choline-citrate","en:taurine","en:inositol","en:choline-citrate"]<pre>
Β 
===== Palm Oil Detection =====
* ingredients_from_palm_oil_n
* ingredients_from_palm_oil
* ingredients_from_palm_oil_tags
* ingredients_that_may_be_from_palm_oil_n
* ingredients_that_may_be_from_palm_oil
* ingredients_that_may_be_from_palm_oil_tags
====== Ingredients from palm oil ======
======= List of ingredients from palm oil =======
* https://world.openfoodfacts.org/ingredients-from-palm-oil.json
* https://world.openfoodfacts.org/ingredients-from-palm-oil.xml
======= List of products where a specific ingredient from palm oil has been detected =======
* https://world.openfoodfacts.org/ingredients-from-palm-oil/huile-de-palme.json
* https://world.openfoodfacts.org/ingredients-from-palm-oil/huile-de-palme.xml
Β 
====== Ingredients that may be from palm oil ======
======= List of ingredients that may be from palm oil =======
* https://world.openfoodfacts.org/ingredients-that-may-be-from-palm-oil.json
* https://world.openfoodfacts.org/ingredients-that-may-be-from-palm-oil.xml
Β 
======= List of products where a specific ingredient that may be from palm oil has been detected =======
* https://world.openfoodfacts.org/ingredients-that-may-be-from-palm-oil/e470b-stearate-de-magnesium.json
* https://world.openfoodfacts.org/ingredients-that-may-be-from-palm-oil/e470b-stearate-de-magnesium.xml
Β 
=====Trace of products=====
* traces
* traces_tags
======List of Traces ======
* https://world.openfoodfacts.org/traces.json
* https://world.openfoodfacts.org/traces.xml
======Individual Trace ======
* https://world.openfoodfacts.org/trace/eggs.json
* https://world.openfoodfacts.org/trace/eggs.xml
Β 
======Getting suggestions for traces ======
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=traces&string=m
Β 
===== Food (or cosmetic) additives =====
* additives_n : number of food additives
* additives
* additives_tags
For a list of all taxonomized values in all supported languages, please refer to the [[Global additives taxonomy]]
====== List of Additives ======
* https://world.openfoodfacts.org/additives.json
* https://world.openfoodfacts.org/additives.xml
====== Individual Additive ======
* https://world.openfoodfacts.org/additive/e301-sodium-ascorbate.json
* https://world.openfoodfacts.org/additive/e301-sodium-ascorbate.xml
====== Getting suggestions for additives ======
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=additives&string=e
Β 
=====Allergens of products=====
======List of allergens======
* https://world.openfoodfacts.org/allergens.json
* https://world.openfoodfacts.org/allergens.xml
======Individual allergen======
* https://world.openfoodfacts.org/allergen/fish.json
* https://world.openfoodfacts.org/allergen/fish.xml
Β 
======Getting suggestions for allergens ======
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=allergens&string=a
Β 
==== Nutrition values ====
===== Nutrition data =====
====== General structure ======
The nutrition facts are presented by multiple fields per nutrition fact. Each nutrition fact is presented by a key, i.e. "salt", "fat", etc. The fields can also be found in the taxonomy translation file.
Β 
The fields can have the following structure:
* key (string) - the value for the nutrition fact key (eg in json: "fiber":"0.5");
* key_serving (string) -Β  the value of a serving for type key (eg: in json "carbohydrates_serving":"5.82"). The size of the servig is found in the serving field;
* key_value (string)Β  - the standardized value of a serving of 100g (100ml) for type key (eg in json: "salt_100g":"0.19");
* key_100g (string) - the standardized value of a serving of 100g (100ml) for type key (eg in json: "salt_100g":"0.19");
* key_unit (string) - the units used in the other fields (eg in json: "carbohydrates_unit":"g"). Possible values are "kg", "g", "mg, "Β΅g", "l", "ml", "%" or "";
* key_label (string) - a more user friendly text explaining the
Β 
Only the nutrition facts that are actually found on the packaging are present in the interface.
Β 
====== List of nutrition keys ======
The following nutrition keys are supported:
* energy
* proteins
* casein
* serum-proteins
* nucleotides
* carbohydrates
* sugars
* sucrose
* glucose
* fructose
* lactose
* maltose
* maltodextrins
* starch
* polyols
* fat
* saturated-fat
* butyric-acid
* caproic-acid
* caprylic-acid
* capric-acid
* lauric-acid
* myristic-acid
* palmitic-acid
* stearic-acid
* arachidic-acid
* behenic-acid
* lignoceric-acid
* cerotic-acid
* montanic-acid
* melissic-acid
* monounsaturated-fat
* polyunsaturated-fat
* omega-3-fat
* alpha-linolenic-acid
* eicosapentaenoic-acid
* docosahexaenoic-acid
* omega-6-fat
* linoleic-acid
* arachidonic-acid
* gamma-linolenic-acid
* dihomo-gamma-linolenic-acid
* omega-9-fat
* oleic-acid
* elaidic-acid
* gondoic-acid
* mead-acid
* erucic-acid
* nervonic-acid
* trans-fat
* cholesterol
* fiber
* sodium
* alcohol: % vol of alcohol
* vitamin-a
* vitamin-d
* vitamin-e
* vitamin-k
* vitamin-c
* vitamin-b1
* vitamin-b2
* vitamin-pp
* vitamin-b6
* vitamin-b9
* vitamin-b12
* biotin
* pantothenic-acid
* silica
* bicarbonate
* potassium
* chloride
* calcium
* phosphorus
* iron
* magnesium
* zinc
* copper
* manganese
* fluoride
* selenium
* chromium
* molybdenum
* iodine
* caffeine
* taurine
Β 
====== Specific nutrition keys ======
* carbon-footprint_100g : carbon footprint (indicated on some products)
* ph_100g : pH (no unit)
* cocoa - minimal cacao content of the product in %. Note the TYPO.
* fruits-vegetables-nuts_100g : % of fruits, vegetables and nuts (excluding potatoes, yams, manioc)
* fruits_vegetables_nuts_estimate_100g : estimate by manually looking at the list of ingredients
Β 
Β 
* nutrition-score-fr_100g : experimental nutrition score derived from the UK FSA score and adapted for the French market (formula defined by the team of Professor Hercberg)
* nutrition-score-uk_100g : nutrition score defined by the UK Food Standards Administration (FSA)
Β 
===== Nutrition grades (Nutriscore, UK grades) =====
* For more details, see [https://fr.openfoodfacts.org/score-nutritionnel-experimental-france the page explaining the grade computation]
* nutrition_score_debug: lets you see the calculations made
<pre>"nutrition_score_debug":" -- energy 3 + sat-fat 6 + fr-sat-fat-for-fats 6 + sugars 0 + sodium 6 - fruits 0% 0 - fiber 0 - proteins 5 -- fsa 15 -- fr 15"</pre>
* Nutrition Grade Value
<pre>
"nutrition_grades":"d"
"nutrition_grades_tags":["d"]
"nutrition_grade_fr":"d"
</pre>
====== Nutrition Grade Images ======
No formal API is available, but you can use:
<pre>
https://static.openfoodfacts.org/images/misc/nutriscore-a.svg
https://static.openfoodfacts.org/images/misc/nutriscore-b.svg
https://static.openfoodfacts.org/images/misc/nutriscore-c.svg
https://static.openfoodfacts.org/images/misc/nutriscore-d.svg
https://static.openfoodfacts.org/images/misc/nutriscore-e.svg
</pre>
====== List of all nutrition grades ======
* https://world.openfoodfacts.org/nutrition-grades.json
* https://world.openfoodfacts.org/nutrition-grades.xml
Β 
====== List of products with a given nutrition grade (from A to E, including unknown) ======
* https://world.openfoodfacts.org/nutrition-grade/a.json
* https://world.openfoodfacts.org/nutrition-grade/a.xml
* https://world.openfoodfacts.org/nutrition-grade/e.json
* https://world.openfoodfacts.org/nutrition-grade/e.xml
* https://world.openfoodfacts.org/nutrition-grade/unknown.json
* https://world.openfoodfacts.org/nutrition-grade/unknown.xml
Β 
===== Nutrients levels =====
====== List of all nutrition levels ======
Β 
* https://world.openfoodfacts.org/nutrient-levels.json
* https://world.openfoodfacts.org/nutrient-levels.xml
Β 
====== List of products with fat in low quantity ======
* https://world.openfoodfacts.org/nutrient-level/fat-in-low-quantity.json
* https://world.openfoodfacts.org/nutrient-level/fat-in-low-quantity.xml
Β 
===== Unknown Nutrients =====
They might be unknown for a good reason…
======List of Unknown Nutrients ======
*https://world.openfoodfacts.org/unknown-nutrients.json
* https://world.openfoodfacts.org/unknown-nutrients.xml
======Individual Unknown Nutrients======
* https://world.openfoodfacts.org/unknown-nutrient/sulfates.json
* https://world.openfoodfacts.org/unknown-nutrient/sulfates.xml
Β 
====Packaging====
* packaging : shape, material
* packaging_tags
* Packaging are not taxonomized yet.
=====List of Packagings=====
* https://world.openfoodfacts.org/packaging.json
* https://world.openfoodfacts.org/packaging.xml
=====Individual Packaging=====
* https://world.openfoodfacts.org/packaging/cardboard.json
* https://world.openfoodfacts.org/packaging/cardboard.xml
Β 
===== Packaging images =====
No API is currently available. As a workaround, you can use the images from the server, or those folders.
<pre>
https://github.com/openfoodfacts/openfoodfacts-server/tree/master/html/images/lang/jp/packaging
https://github.com/openfoodfacts/openfoodfacts-server/tree/master/html/images/lang/de/packaging
</pre>
Β 
=====Packager codes=====
* emb_codes
* emb_codes_tags
* first_packaging_code_geo : coordinates corresponding to the first packaging code indicated
======List of Packager codes ======
* https://world.openfoodfacts.org/packager-codes.json
* https://world.openfoodfacts.org/packager-codes.xml
======List of products with given Packager code ======
====== EMB (France specific) ======
* https://world.openfoodfacts.org/packager-code/emb-35069c.json
* https://world.openfoodfacts.org/packager-code/emb-35069c.xml
Β 
=======EU Codes (Europe-wide) =======
* https://world.openfoodfacts.org/packager-code/fr-38-012-001-ec.json
* https://world.openfoodfacts.org/packager-code/fr-38-012-001-ec.xml
======= Note =======
Other codes might be present, but we don't have specific support yet
======List of Packaging cities ======
* https://world.openfoodfacts.org/cities.json
* https://world.openfoodfacts.org/cities.xml
======List of products with given Packaging city ======
* https://world.openfoodfacts.org/city/argenteuil-val-d-oise-france.json
* https://world.openfoodfacts.org/city/argenteuil-val-d-oise-france.xml
Β 
Β 
==== Contributors ====
===== Contributors =====
* https://world.openfoodfacts.org/contributor/teolemon.json
* https://world.openfoodfacts.org/contributors.json
===== Photographers =====
* https://world.openfoodfacts.org/photographer/teolemon.json
* https://world.openfoodfacts.org/photographers.json
===== Informers =====
* https://world.openfoodfacts.org/informer/teolemon.json
* https://world.openfoodfacts.org/informers.json
Β 
==== Product status & modification history ====
* creator : contributor who first added the product
* created_t : date that the product was added (UNIX timestamp format)
* created_datetime : date that the product was added (iso8601 format: yyyy-mm-ddThh:mn:ssZ)
* last_modified_t : date that the product page was last modified
* last_modified_datetime
Β 
=====Status of products=====
For all possible values, please refer to the [[Global states taxonomy]]
======List of States ======
* https://world.openfoodfacts.org/states.json
* https://world.openfoodfacts.org/states.xml
======Individual Status ======
* https://world.openfoodfacts.org/state/complete.json
* https://world.openfoodfacts.org/state/complete.xml
======Getting suggestions for states======
* https://world.openfoodfacts.org/cgi/suggest.pl?lc=fr&tagtype=states&string=a
===== Last Edit Dates =====
====== List of Last Edit Dates ======
* https://world.openfoodfacts.org/last-edit-dates.json
* https://world.openfoodfacts.org/last-edit-dates.xml
====== List of products with a given last edit date ======
* https://world.openfoodfacts.org/last-edit-date/2014.json
* https://world.openfoodfacts.org/last-edit-date/2016-08.json
* https://world.openfoodfacts.org/last-edit-date/2016-05-19.json
* https://world.openfoodfacts.org/last-edit-date/2014.xml
* https://world.openfoodfacts.org/last-edit-date/2016-08.xml
* https://world.openfoodfacts.org/last-edit-date/2016-05-19.xml
===== Entry dates=====
====== List of entry dates ======
* https://world.openfoodfacts.org/entry-dates.json
* https://world.openfoodfacts.org/entry-dates.xml
====== List of products with a given entry date ======
* https://world.openfoodfacts.org/entry-dates/2014.xml
* https://world.openfoodfacts.org/entry-dates/2016-08.xml
* https://world.openfoodfacts.org/entry-dates/2016-05-19.xml
* https://world.openfoodfacts.org/entry-dates/2014.json
* https://world.openfoodfacts.org/entry-dates/2016-08.json
* https://world.openfoodfacts.org/entry-dates/2016-05-19.json


=== Searching for products ===
=== Searching for products ===
===== Generic Search =====
====== Core principle: Combine tags to get custom results ======
'''Combining tags is really powerful, letting you create thousands of custom APIs for your use case.'''
* https://world.openfoodfacts.org/packager-code/emb-35069c/brand/sojasun.json
===== Advanced Search =====
====== Query examples ======
<pre>https://world.openfoodfacts.org/cgi/search.pl?search_terms=coke&search_simple=1&jqm=1</pre>
<pre>https://world.openfoodfacts.org/cgi/search.pl?search_terms=banania&search_simple=1&action=process&json=1</pre>
<pre>https://world.openfoodfacts.org/cgi/search.pl?search_terms=banania&search_simple=1&action=process&xml=1</pre>
<pre>https://world.openfoodfacts.org/cgi/search.pl?search_terms=banania&search_simple=1&action=process&rss=1</pre>
====== Parameters ======
You can basically use all the parameters you'd use in a [https://world.openfoodfacts.org/cgi/search.pl?action=display&sort_by=unique_scans_n&page_size=20&action=display graphical advanced search on the site]<br>
<pre>
search_url = "https://world.openfoodfacts.org/cgi/search.pl"
search_terms2 # search terms
# FIRST CRITERIA (TAG0)
tagtype_0
search_tag # choose a criterion...
# CRITERION
brands # brands
categories # categories
packaging # packaging
labels # labels
origins # origins of ingredients
manufacturing_places # manufacturing or processing places
emb_codes # packager codes
purchase_places # purchase places
stores # stores
countries # countries
additives # additives
allergens # allergens
traces # traces
nutrition_grades # Nutrition grades
states # states
# Contains or Not
tag_contains_0
contains
does_not_contain
# Value of Tag (free text)
tag_0
#additives
additives
without # without_additives
with # with_additives
indifferent # indifferent_additives
# Ingredients from palm oil
ingredients_from_palm_oil
without
with
indifferent
# Ingredients that may be from palm oil
ingredients_that_may_be_from_palm_oil
without
with
indifferent
#ingredients_from_or_that_may_be_from_palm_oi
ingredients_from_or_that_may_be_from_palm_oil
without
with
indifferent
# Nutrients
nutriment_0
search_nutriment # choose a nutriment...
energy # Energy
energy-from-fat # Energy from fat
fat # Fat
saturated-fat # Saturated fat
butyric-acid # Butyric acid (4:0)
caproic-acid # Caproic acid (6:0)
caprylic-acid # Caprylic acid (8:0)
capric-acid # Capric acid (10:0)
lauric-acid # Lauric acid (12:0)
myristic-acid # Myristic acid (14:0)
palmitic-acid # Palmitic acid (16:0)
stearic-acid # Stearic acid (18:0)
arachidic-acid # Arachidic acid (20:0)
behenic-acid # Behenic acid (22:0)
lignoceric-acid # Lignoceric acid (24:0)
cerotic-acid # Cerotic acid (26:0)
montanic-acid # Montanic acid (28:0)
melissic-acid # Melissic acid (30:0)
monounsaturated-fat # Monounsaturated fat
polyunsaturated-fat # Polyunsaturated fat
omega-3-fat # Omega 3 fatty acids
alpha-linolenic-acid # Alpha-linolenic acid / ALA (18:3 n-3)
eicosapentaenoic-acid # Eicosapentaenoic acid / EPA (20:5 n-3)
docosahexaenoic-acid # Docosahexaenoic acid / DHA (22:6 n-3)
omega-6-fat # Omega 6 fatty acids
linoleic-acid # Linoleic acid / LA (18:2 n-6)
arachidonic-acid # Arachidonic acid / AA / ARA (20:4 n-6)
gamma-linolenic-acid # Gamma-linolenic acid / GLA (18:3 n-6)
dihomo-gamma-linolenic-acid # Dihomo-gamma-linolenic acid / DGLA (20:3 n-6)
omega-9-fat # Omega 9 fatty acids
oleic-acid # Oleic acid (18:1 n-9)
elaidic-acid # Elaidic acid (18:1 n-9)
gondoic-acid # Gondoic acid (20:1 n-9)
mead-acid # Mead acid (20:3 n-9)
erucic-acid # Erucic acid (22:1 n-9)
nervonic-acid # Nervonic acid (24:1 n-9)
trans-fat # Trans fat
cholesterol # Cholesterol
carbohydrates # Carbohydrate
sugars # Sugars
sucrose # Sucrose
glucose # Glucose
fructose # Fructose
lactose # Lactose
maltose # Maltose
maltodextrins # Maltodextrins
starch # Starch
polyols # Sugar alcohols (Polyols)
fiber # Dietary fiber
proteins # Proteins
casein # casein
serum-proteins # Serum proteins
nucleotides # Nucleotides
salt # Salt
sodium # Sodium
alcohol # Alcohol
vitamin-a # Vitamin A
beta-carotene # Beta carotene
vitamin-d # Vitamin D
vitamin-e # Vitamin E
vitamin-k # Vitamin K
vitamin-c # Vitamin C (ascorbic acid)
vitamin-b1 # Vitamin B1 (Thiamin)
vitamin-b2 # Vitamin B2 (Riboflavin)
vitamin-pp # Vitamin B3 / Vitamin PP (Niacin)
vitamin-b6 # Vitamin B6 (Pyridoxin)
vitamin-b9 # Vitamin B9 (Folic acid / Folates)
vitamin-b12 # Vitamin B12 (cobalamin)
biotin # Biotin
pantothenic-acid # Pantothenic acid / Pantothenate (Vitamin B5)
silica # Silica
bicarbonate # Bicarbonate
potassium # Potassium
chloride # Chloride
calcium # Calcium
phosphorus # Phosphorus
iron # Iron
magnesium # Magnesium
zinc # Zinc
copper # Copper
manganese # Manganese
fluoride # Fluoride
selenium # Selenium
chromium # Chromium
molybdenum # Molybdenum
iodine # Iodine
caffeine # Caffeine
taurine # Taurine
ph # pH
fruits-vegetables-nuts # Fruits, vegetables and nuts (minimum)
collagen-meat-protein-ratio # Collagen/Meat protein ratio (maximum)
cocoa # Cocoa (minimum)
chlorophyl # Chlorophyl
carbon-footprint # Carbon footprint / CO2 emissions
nutrition-score-fr # Experimental nutrition score
nutrition-score-uk # Nutrition score - UK
# Comparison of nutrients
# Nutriment to compare
nutriment_compare_0
# Operator
lt # less than
lte # less than or equal
gt # greater than
gte # greater than or equal
eq # equal to
# Value to compare the nutrients to
nutriment_value_0
# Output
sort_by # sort_by
unique_scans_n # Popularity
product_name # Product name
created_t # Add date
last_modified_t # Edit date
# Results per page
page_size # page_size
20 # 20
50 # 50
100 # 100
250 # 250
500 # 500
1000 # 1000
#Pagination
page=1
#Format
json=1
xml=1
#to search results pages on the web site to get results in a jQuery Mobile format.
jqm=1
</pre>
=== Linked Data ===
==== Link to Wikipedia and Wikidata ====
Whenever possible, Open Food Facts entities are linked to Wikidata, and in turn to Wikipedia. What this means is that you get access to a trove of additional encyclopedic knowledge about food. You can for instance get: Wikipedia articles about Camembert, the translation of salt in many languages, the molecular structure of a cosmetic ingredient…<br>
We provide the Wikidata QID, which is an unambiguous, stable and reliable identifier for a concept that will be useful to actually retrieve info from Wikipedia and Wikidata.
===== Example =====
https://world.openfoodfacts.net/categories.json
<pre>
{"linkeddata":{"wikidata:en":"Q40050"},"url":"https://world.openfoodfacts.net/category/beverages","name":"Beverages","id":"en:beverages","products":14196}
</pre>
Beverages >> https://world.openfoodfacts.org/category/beverages >> Q40050 >> https://www.wikidata.org/wiki/Q40050<br>
As you see, you'll get a beautiful image, information about the Quality label… As Wikidata is a Wiki, the knowledge you'll be able to retrieve will increase over time.
==== Retrieving info from Wikipedia and Wikidata ====
You can use the Wikipedia and Wikidata APIs to get the information you want<br>
* https://www.wikidata.org/wiki/Wikidata:Data_access
* https://en.wikipedia.org/w/api.php


==== Examples of things you can do ====
[[API/Read/Search]]
* Provide more context and more information about a specific Product, a Category of products, a Quality label, a Geography, a Brand, a Packaging material, an ingredient…
* Perform checks or computations by mixing Wikidata information and Open Food Facts information (and possibly other APIs)