DSLD Label API
API for accessing and searching label data stored in the Dietary Supplement Label Database
(DSLD). When testing through SwaggerHub, please note that the API returns large result sets. In this case it is
recommended to lower the size parameter to 10.
Version: 9.2.0
BasePath:/dsld/
CC0 1.0 Universal (CC0 1.0)
https://creativecommons.org/publicdomain/zero/1.0/
Access
[ Jump to Models ]
Table of Contents
API version information (version)
Allows API consumer to retrieve information on current API version
Query parameters
none
Return type
Example data
Content-Type: application/json
{
"title": "DSLD API",
"config": "production",
"version": "9.2.0",
"versionTimeStamp": "November 2023",
"esIndexProcessed": "dsldnxt_labels-2023-09-23f and dsldnxt_ing_groups-2023-09-23f"
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
search results matching criteria
versionResult
500
server error
Up
get /v9/brand-products
paginated record browsing by keyword or letter for products matching a brand name (brandProducts)
Allows API consumer to retrieve a paginated list of label info by product name, or a paginated list based on a query term executed against product name for a given brand
Query parameters
q (required)
Query Parameter — Brand name for which products are to be listed.
from (optional)
Query Parameter — Number of start record for pagination, default is 0. default: 0 format: int32
size (optional)
Query Parameter — Number of records to return, starting at 'from' value (see above). default: 1000 format: int32
Return type
Example data
Content-Type: application/json
{
"hits" : [ {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
}, {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
} ],
"total" : "{}",
"max_score" : 0.80082819046101150206595775671303272247314453125
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
search results matching criteria
brandProductResult
500
bad input parameter
paginated record browsing by keyword or letter (browseBrands)
Allows API consumer to retrieve a paginated list of brands by brand name, or a paginated list based on a query term executed against brand name
Query parameters
method (required)
Query Parameter — Specifies search method.
q (optional)
Query Parameter — Query term; single letter, keyword, or 'Other' for brands beginning with a number.
from (optional)
Query Parameter — Number of start record for pagination, default is 0. default: 0 format: int32
size (optional)
Query Parameter — Number of records to return, starting at 'from' value (see above). default: 1000 format: int32
Return type
Example data
Content-Type: application/json
{
"hits" : [ {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
}, {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
} ],
"total" : "{}",
"max_score" : 0.80082819046101150206595775671303272247314453125
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
search results matching criteria
browseBrandResult
500
bad input parameter
Up
get /ingredient-groups
paginated record browsing by keyword or letter (browseIngredientGroups)
Allows API consumer to retrieve a paginated list of ingredient groups, or a paginated list based on a query term executed against ingredient group names.
Query parameters
term (required)
Query Parameter — Query term, single letter or 'Other'
method (required)
Query Parameter — Specifies search method. Selecting 'factsheet' matches query term against synonyms for each ingredient group.
from (optional)
Query Parameter — Number of start record for pagination, default is 0. default: 0 format: int32
size (optional)
Query Parameter — Number of records to return, starting at 'from' value (see above). default: 1000 format: int32
Return type
Example data
Content-Type: application/json
{
"total": {},
"max_score": 5.4117074,
"hits": [
{
"_index": "_index",
"_type": "_doc",
"_id": "200",
"_score": 5.4117074,
"_source": {}
}
]
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
search results matching criteria
IngredientGroupResult
500
bad input parameter
paginated record browsing by keyword or letter (browseProducts)
Allows API consumer to retrieve a paginated list of labels by product name, or a paginated list based on a query term executed against product name
Query parameters
method (required)
Query Parameter — Specifies search method.
q (optional)
Query Parameter — Query term; single letter, keyword, or 'Other' for products beginning with a number.
size (optional)
Query Parameter — Number of records to return, starting at 'from' value (see below). default: 1000 format: int32
from (optional)
Query Parameter — Number of start record for pagination, default is 0 default: 0 format: int32
Return type
Example data
Content-Type: application/json
{
"hits" : [ {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
}, {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
} ],
"total" : "{}",
"max_score" : 0.80082819046101150206595775671303272247314453125
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
search results matching criteria
browseProductResult
500
bad input parameter
retrieve data for a single label (getLabel)
Retrieves a label by unique dsldId.
Path parameters
id (required)
Path Parameter — DSLD (label) ID
Return type
Example data
Content-Type: application/json
{
"src": "01-raw/2022-10-25/data/label_25.json",
"id": 25,
"nhanesId": "",
"bundleName": "",
"fullName": "Vitamins For The Hair",
"brandName": "Nature's Bounty",
"brandIpSymbol": "®",
"upcSku": "0 74312 02100 8",
"productVersionCode": "Prod. No. 2100 05A B2101",
"pdf": "",
"thumbnail": "",
"servingsPerContainer": null,
"hasOuterCarton": false,
"percentDvFootnote": "Not Present",
"labelRelationships": [],
"contacts": [
{
"contactId": 2212,
"text": "Visit us on the Web",
"types": [
"Other"
],
"contactDetails": {
"src": "01-raw/2022-10-25/data/contact_1.json",
"id": 2212,
"name": "",
"streetAddress": "",
"city": "",
"state": "",
"country": "",
"zipCode": "",
"phoneNumber": "",
"email": "",
"webAddress": "www.NaturesBounty.com"
}
}
],
"netContents": [
{
"order": 1,
"quantity": 65,
"unit": "Tablet(s)",
"display": "65 Tablet(s)"
}
],
"physicalState": {
"langualCode": "E0155",
"langualCodeDescription": "Tablet or Pill"
},
"servingSizes": [
{
"order": 1,
"minQuantity": 1,
"maxQuantity": 1,
"minDailyServings": 1,
"maxDailyServings": 1,
"unit": "Tablet(s)",
"inSFB": true
}
],
"targetGroups": [
"Vegetarian",
"Adult (18 - 50 Years)"
],
"productType": {
"langualCode": "A1325",
"langualCodeDescription": "Other Combinations"
},
"statements": [
{
"type": "FDA Statement of Identity",
"notes": "DIETARY SUPPLEMENT"
},
{
"type": "General Statements: All Other Content",
"notes": "Provides a combination of nutrients consistently found in healthy hair."
},
{
"type": "Seals/Symbols",
"notes": "NATURE'S BOUNTY(R)"
},
{
"type": "Precautions re: All Other",
"notes": "Avoid this product if you have Wilson's disease or are allergic to yeast."
}
],
"claims": [
{
"langualCode": "P0115",
"langualCodeDescription": "All Other"
}
],
"events": [
{
"date": "2011-01-01",
"type": "Off Market"
},
{
"date": "2012-01-25",
"type": "Date entered into DSLD"
}
],
"userGroups": [
{
"dailyValueTargetGroupName": "Adults and children 4 or more years of age",
"langualCode": "P0250",
"langualCodeDescription": "Adults and Children 4 years and above"
}
],
"ingredientRows": [
{
"order": 1,
"ingredientId": 280871,
"description": null,
"notes": "Pantothenic Acid (Form: as D-Calcium Pantothenate) ",
"quantity": [
{
"servingSizeOrder": 1,
"servingSizeQuantity": 1,
"operator": "=",
"quantity": 100,
"unit": "mg",
"dailyValueTargetGroup": [
{
"name": "Adults and children 4 or more years of age",
"operator": "=",
"percent": 1000,
"footnote": null
}
],
"servingSizeUnit": "Tablet(s)"
}
],
"nestedRows": [],
"name": "Pantothenic Acid",
"category": "vitamin",
"ingredientGroup": "Pantothenic Acid (Vitamin B5)",
"uniiCode": "19F5HK2737",
"alternateNames": [],
"forms": [
{
"order": 1,
"ingredientId": 293281,
"prefix": null,
"percent": null,
"name": "D-Calcium Pantothenate"
}
]
},
{
"order": 2,
"ingredientId": 292597,
"description": null,
"notes": null,
"quantity": [
{
"servingSizeOrder": 1,
"servingSizeQuantity": 1,
"operator": "=",
"quantity": 5,
"unit": "mg",
"dailyValueTargetGroup": [
{
"name": "Adults and children 4 or more years of age",
"operator": "<",
"percent": 1,
"footnote": null
}
],
"servingSizeUnit": "Tablet(s)"
}
],
"nestedRows": [],
"name": "Sodium",
"category": "mineral",
"ingredientGroup": "Sodium",
"uniiCode": "9NEZ333N27",
"alternateNames": [
"Na"
],
"forms": []
}
],
"otheringredients": {
"text": null,
"ingredients": [
{
"order": 1,
"ingredientId": 15302,
"name": "Cellulose",
"category": "fiber",
"ingredientGroup": "Cellulose",
"uniiCode": null,
"alternateNames": [],
"forms": []
},
{
"order": 2,
"ingredientId": 18961,
"name": "Dicalcium Phosphate",
"category": "mineral",
"ingredientGroup": "Calcium",
"uniiCode": null,
"alternateNames": [],
"forms": []
},
{
"order": 3,
"ingredientId": 3690,
"name": "Croscarmellose",
"category": "other",
"ingredientGroup": "Croscarmellose",
"uniiCode": null,
"alternateNames": [],
"forms": []
}
]
},
"offMarket": 1,
"entryDate": "2012-01-25"
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
data for a single label
Label
500
bad input parameter
primary search API call (searchFilter)
Allows API consumer to retrieve a set of labels by product name matching a complex combination of search terms and filters
Query parameters
q (required)
Query Parameter — Query term. Will search for submitted terms across all label fields. Use quotes to find exact multi token matches. Use * for term-less search.
sort_by (optional)
Query Parameter — Specifies field to sort on. Use _score to sort on "best match", entryDate to sort by date, and fullName.keyword to sort by product name.
sort_order (optional)
Query Parameter — Specifies sort order.
status (optional)
Query Parameter — Market status. 2 - all, 1 - on market, 0 - off market
date_start (optional)
Query Parameter — Entry date start year. Use 4 digit year YYYY (e.g., 2020).
date_end (optional)
Query Parameter — Entry date end year. Use 4 digit year YYYY (e.g., 2020).
product_name (optional)
Query Parameter — Product name(s), one or more separated by comma. Requires product name to contain token submitted in search bar.
product_type (optional)
Query Parameter — Product type, one or more codes separated by comma. Codes are a1305 (Amino Acid/Protein), a1306 (Botanical), a1326 (Fiber and Other Nutrients), a1310 (Omega 3 and Other Fatty Acids), a1302 (Vitamin), a1299 (Mineral), a1316 (Single Vitamin and Mineral), a1315 (Multi-Vitamin and Mineral [MVM]), a1317 (Botanicals with Nutrients), a1309 ()Non-Nutrient/Non-Botanical), a1325 (Other Combinations).
ingredient_name (optional)
Query Parameter — Ingredient name, one or more separated by comma. Requires ingredient name to contain term submitted in search bar, or the ingredient to be synonymous with term submitted in search bar.
ingredient_category (optional)
Query Parameter — Ingredient category, one ore more categories separated by comma. Categories are amino_acid, animal_part_or_source, blend, botanical, sugars, complex_carbohydrate, enzyme, fat, fatty_acid, fiber, hormone, chemical (Non-nutrient/non-botanical), bacteria, protein, vitamin, mineral, other, tbd.
brand (optional)
Query Parameter — Brand name, one or more separated by comma. Requires brand name to contain term submitted in search bar.
target_group (optional)
Query Parameter — Product target group, one ore more codes separated by comma. Codes are p0250 (All Adults and Children Four Years and Above), p0192 (Children 1 to 4 Years), p0266 (Infants), p0253 (Pregnant and Lactating).
supplement_form (optional)
Query Parameter — Product supplement form, one ore more codes separated by comma. Codes are e0164 (Bars), e0159 (Capsules), e0161 (Softgel Capsules), e0155 (Tablets and Pills), e0176 (Gummies and Jellies), e0165 (Liquids), e0174 (Lozenges), e0162 (Powders), e0172 (Other; e.g. tea bag), e0177 (Unknown).
claim_type (optional)
Query Parameter — Claim type present on label, one ore more codes separated by comma. Codes are p0065 (Nutrient), p0265 (Structure/Function),p0124 (Approved Health), p0264 (Qualified Health), p0115 (All Other), p0276 (No Claims).
label_claim (optional)
Query Parameter — Dietary claim, one or more separated by comma. Requires dietary claim to contain term submitted in search bar.
Return type
Example data
Content-Type: application/json
{
"hits" : [ {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
}, {
"_index" : "_index",
"_type" : "_type",
"_source" : "{}",
"_id" : "_id",
"sort" : [ "sort", "sort" ],
"_score" : 6.02745618307040320615897144307382404804229736328125
} ],
"stats" : {
"count": 95500
"pct: 0.62
}
}
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
search results matching criteria
SearchResult
500
bad input parameter
Up
get /search-filter-histogram
search API supporting call, generates histogram of labels over time based on selection criterica (searchFilterHistogram)
Allows API consumer to retrieve a of labels by product name matching a complex combination of search terms and filters
Query parameters
q (required)
Query Parameter — Query term. Will search for submitted terms across all label fields. Use quotes to find exact multi token matches. Use * for term-less search.
sort_by (optional)
Query Parameter — Specifies field to sort on. Use _score to sort on "best match", entryDate to sort by date, and fullName.keyword to sort by product name.
sort_order (optional)
Query Parameter — Specifies sort order.
status (optional)
Query Parameter — Market status. 2 - all, 1 - on market, 0 - off market
product_name (optional)
Query Parameter — Product name(s), one or more separated by comma. Requires product name to contain token submitted in search bar.
product_type (optional)
Query Parameter — Product type, one or more codes separated by comma. Codes are a1305 (Amino Acid/Protein), a1306 (Botanical), a1326 (Fiber and Other Nutrients), a1310 (Omega 3 and Other Fatty Acids), a1302 (Vitamin), a1299 (Mineral), a1316 (Single Vitamin and Mineral), a1315 (Multi-Vitamin and Mineral [MVM]), a1317 (Botanicals with Nutrients), a1309 ()Non-Nutrient/Non-Botanical), a1325 (Other Combinations).
ingredient_name (optional)
Query Parameter — Ingredient name, one or more separated by comma. Requires ingredient name to contain term submitted in search bar, or the ingredient to be synonymous with term submitted in search bar.
ingredient_category (optional)
Query Parameter — Ingredient category, one ore more categories separated by comma. Categories are amino_acid, animal_part_or_source, blend, botanical, sugars, complex_carbohydrate, enzyme, fat, fatty_acid, fiber, hormone, chemical (Non-nutrient/non-botanical), bacteria, protein, vitamin, mineral, other, tbd.
brand (optional)
Query Parameter — Brand name, one or more separated by comma. Requires brand name to contain term submitted in search bar.
target_group (optional)
Query Parameter — Product target group, one ore more codes separated by comma. Codes are p0250 (All Adults and Children Four Years and Above), p0192 (Children 1 to 4 Years), p0266 (Infants), p0253 (Pregnant and Lactating).
supplement_form (optional)
Query Parameter — Product supplement form, one ore more codes separated by comma. Codes are e0164 (Bars), e0159 (Capsules), e0161 (Softgel Capsules), e0155 (Tablets and Pills), e0176 (Gummies and Jellies), e0165 (Liquids), e0174 (Lozenges), e0162 (Powders), e0172 (Other; e.g. tea bag), e0177 (Unknown).
claim_type (optional)
Query Parameter — Claim type present on label, one ore more codes separated by comma. Codes are p0065 (Nutrient), p0265 (Structure/Function),p0124 (Approved Health), p0264 (Qualified Health), p0115 (All Other), p0276 (No Claims).
label_claim (optional)
Query Parameter — Dietary claim, one or more separated by comma. Requires dietary claim to contain term submitted in search bar.
Return type
Example data
Content-Type: application/json
[
{
"key_as_string": "2016-01-01T00:00:00.000Z",
"key": 1451606400000,
"doc_count": 2485
},
{
"key_as_string": "2017-01-01T00:00:00.000Z",
"key": 1483228800000,
"doc_count": 2312
},
{
"key_as_string": "2018-01-01T00:00:00.000Z",
"key": 1514764800000,
"doc_count": 1828
},
{
"key_as_string": "2019-01-01T00:00:00.000Z",
"key": 1546300800000,
"doc_count": 3440
},
{
"key_as_string": "2020-01-01T00:00:00.000Z",
"key": 1577836800000,
"doc_count": 6385
}
]
Produces
This API call produces the following media types according to the request header;
the media type will be conveyed by the response header.
Responses
200
search results matching criteria
SearchHistogramResult
500
bad input parameter
[ Jump to Methods ]
Table of Contents
Contact
-
Contact_contactDetails
-
HistogramEntry
-
IngredientGroupDoc
-
IngredientGroupDoc_factsheets
-
IngredientGroupDoc_nutrientInfo
-
IngredientGroupHit
-
IngredientGroupResult
-
Label
-
Label_dailyValueTargetGroup
-
Label_ingredientRows
-
Label_nestedRows
-
Label_otheringredients
-
Label_otheringredients_ingredients
-
Label_quantity
-
Label_quantity_1
-
SearchHistogramResult
-
SearchResult
-
SearchResultHit
-
Stats
-
TruncatedBrowseBrandLabel
-
brandProductHit
-
brandProductResult
-
browseBrandHit
-
browseBrandResult
-
browseProductHit
-
browseProductResult
-
claims
-
events
-
forms
-
labelRelationship
-
labelStatements
-
netContents
-
physicalState
-
productType
-
searchTotal
-
servingSize
-
truncatedBrowseProductLabel
-
truncatedServingSize
-
userGroups
-
contactId (optional)
text (optional)
types (optional)
contactDetails (optional)
src (optional)
id (optional)
name (optional)
streetAddress (optional)
city (optional)
state (optional)
country (optional)
zipCode (optional)
phoneNumber (optional)
email (optional)
webAddress (optional)
key_as_string (optional)
key (optional)
Integer elasticsearch encoding of date labels were added
doc_count (optional)
groupId (optional)
groupName (optional)
category (optional)
synonyms (optional)
factsheets (optional)
nutrientInfo (optional)
link (optional)
name (optional)
cas (optional)
identity (optional)
nutrient (optional)
iupacNomenclature (optional)
_index (optional)
String Elasticsearch index used.
_type (optional)
_id (optional)
_score (optional)
_source (optional)
total (optional)
max_score (optional)
hits (optional)
src (optional)
id
nhanesId (optional)
bundleName (optional)
fullName (optional)
brandName (optional)
brandIpSymbol (optional)
upcSku (optional)
productVersionCode (optional)
pdf (optional)
thumbnail (optional)
servingsPerContainer (optional)
hasOuterCarton (optional)
percentDvFootnote (optional)
labelRelationships (optional)
contacts (optional)
netContents (optional)
physicalState (optional)
servingSizes (optional)
targetGroups (optional)
example: "Adult (18 - 50 Years)"
productType (optional)
statements (optional)
claims (optional)
events (optional)
userGroups (optional)
ingredientRows (optional)
otheringredients (optional)
offMarket (optional)
entryDate (optional)
footnote (optional)
name (optional)
operator (optional)
percent (optional)
order (optional)
ingredientId (optional)
description (optional)
notes (optional)
quantity (optional)
nestedRows (optional)
name (optional)
category (optional)
ingredientGroup (optional)
uniiCode (optional)
alternateNames (optional)
forms (optional)
quantity (optional)
order (optional)
ingredientId (optional)
description (optional)
notes (optional)
text (optional)
ingredients (optional)
order (optional)
ingredientId (optional)
name (optional)
category (optional)
ingredientGroup (optional)
uniiCode (optional)
alternateNames (optional)
forms (optional)
servingSizeOrder (optional)
servingSizeQuantity (optional)
operator (optional)
quantity (optional)
unit (optional)
dailyValueTargetGroup (optional)
servingSizeUnit (optional)
servingSizeQuantity (optional)
operator (optional)
quantity (optional)
unit (optional)
servingSizeOrder (optional)
hits (optional)
stats (optional)
_index (optional)
String Elasticsearch index used.
_type (optional)
_id (optional)
_score (optional)
_source (optional)
count (optional)
pct (optional)
_index (optional)
String Elasticsearch index used.
_type (optional)
_id (optional)
String unique id, see label id
_score (optional)
_source (optional)
total (optional)
max_score (optional)
hits (optional)
_index (optional)
String Elasticsearch index used.
_type (optional)
_id (optional)
_score (optional)
_source (optional)
sort (optional)
total (optional)
max_score (optional)
hits (optional)
_index (optional)
String Elasticsearch index used.
_type (optional)
_id (optional)
_score (optional)
_source (optional)
sort (optional)
total (optional)
max_score (optional)
hits (optional)
langualCode (optional)
langualCodeDescription (optional)
date (optional)
type (optional)
order (optional)
ingredientId (optional)
prefix (optional)
percent (optional)
name (optional)
type (optional)
labelId (optional)
type (optional)
notes (optional)
order (optional)
quantity (optional)
unit (optional)
display (optional)
langualCode (optional)
langualCodeDescription (optional)
langualCode (optional)
langualCodeDescription (optional)
value (optional)
relation (optional)
String relation in the response will indicate if the value returned is accurate ("eq") or a lower bound of the total ("gte")
gte
eq
order (optional)
minQuantity (optional)
maxQuantity (optional)
minDailyServings (optional)
maxDailyServings (optional)
unit (optional)
notes (optional)
inSFB (optional)
servingSizes (optional)
brandName (optional)
physicalState (optional)
fullName (optional)
upcSku (optional)
netContents (optional)
events (optional)
sort (optional)
order (optional)
minQuantity (optional)
maxQuantity (optional)
minDailyServings (optional)
maxDailyServings (optional)
unit (optional)
inSFB (optional)
dailyValueTargetGroupName (optional)
langualCode (optional)
langualCodeDescription (optional)
title
config
version
versionTimeStamp
esIndexProcessed