Nevermore: a Poet's Mantra

    nutrient-data-laboratory

    1.4.1 • Public • Published

    Node.js | USDA Nutrient Data Laboratory API


    Summary

    Node.js API wrapper for the USDA Nutrient Data Laboratory REST API

    For more information, visit https://ndb.nal.usda.gov/ndb/api/doc

    Installation

    npm install nutrient-data-laboratory --save

    Usage

    NutrientDataLaboratory#foodReports()

    Parameters

    Parameter Required Default Description
    api_key y n/a Must be a data.gov registered API key
    ndbno y n/a NDB no. May send as a list of NDB nos. up to a maixum of 20 per request
    type n b (basic) Report type: [b]asic or [f]ull or [s]tats
    format n JSON Report format: xml or json

    Example

    let ndl = new NutrientDataLaboratory('DEMO_KEY')
     
    ndl.foodReports({
      ndbno: '01009',
      type: 'b'
    }, (err, res) => {
      if (err) console.error(err)
      else console.log(res)
    })

    NutrientDataLaboratory#lists()

    Parameters

    Parameter Required Default Description
    api_key y n/a Must be a data.gov registered API key
    lt n f list type(lt): f = food , n = all nutrients, ns = speciality nutrients, nr = standard release nutrients only,g = food group
    max n 50 maximum number of items to return
    offset n 0 beginning item in the result set
    sort n n sort order: n=name or id (Meaning of id varies by list type: nutrient number for a nutrient list, NDBno for a foods list ,food group id for a food group list
    format n JSON report format: JSON or XML

    Example

    let ndl = new NutrientDataLaboratory('DEMO_KEY')
     
    ndl.lists({
      lt: 'f',
      sort: 'n'
    }, (err, res) => {
      if (err) console.error(err)
      else console.log(res)
    })

    NutrientDataLaboratory#nutrientReports()

    Parameters

    Parameter Required Default Description
    api_key y n/a Must be a data.gov registered API key
    fg n "" limit your nutrients to one or more food groups by providing a list of food group ID's via the fg parameter. The default is a blank list meaning no food group filtering will be applied. Up to 10 food groups may be specified.
    format n JSON Report format: xml or json
    max n 50 Number of rows to return. The maximum per request is 1,500.
    offset n 0 beginning row in the result set to begin
    nbno n n/a Report the nutrients for a single food identified by it's unique id -- nutrient number
    nutrients y n/a a list of up to a maximum of 20 nutrient_id's to include in the report
    sort n f Sort the list of foods by (f)ood name or nutrient (c)ontent. If you are requesting more than one nutrient and specifying sort = c then the first nutrient in your list is used for the content sort.
    subset n 0 You may indicate all the foods in the SR database or an abridged list from the pull down menu. Set the subset parameter to 1 for the abridged list of about 1,000 foods commonly consumed in the U.S. The default 0 for all of the foods in the database

    Example

    let ndl = new NutrientDataLaboratory('DEMO_KEY')
     
    ndl.nutrientReports({
      nutrients: ['205', '204', '208', '269']
    }, (err, res) => {
      if (err) console.error(err)
      else console.log(res)
    })

    NutrientDataLaboratory#search()

    Parameters

    Parameter Required Default Description
    api_key y n/a Must be a data.gov registered API key
    q n "" Search terms
    ds n "" Data source. Must be either 'Branded Food Products' or 'Standard Reference'
    fg n "" Food group ID
    sort n r Sort the results by food name (n) or by search relevance (r)
    max n 50 maximum rows to return
    offset n 0 beginning row in the result set to begin
    format n JSON results format: json or xml

    Example

    let ndl = new NutrientDataLaboratory('DEMO_KEY')
     
    ndl.search({
      q: 'butter',
      max: 25,
      offset: 0
    }, (err, res) => {
      if (err) console.error(err)
      else console.log(res)
    })

    Install

    npm i nutrient-data-laboratory

    DownloadsWeekly Downloads

    2

    Version

    1.4.1

    License

    MIT

    Last publish

    Collaborators

    • connectionslab