Skip to content

Drug labels

Search FDA drug labels (openFDA SPL) and return brand and generic names, manufacturer, route and the indications, warnings, boxed warning and dosage sections, each cut at 4000 characters (up to 10 labels per call). Set exactly one of brand_name, generic_name or query. Label text only, not medical advice.

Endpoint POST /v1/drug-label-searches
Scope drug_label:search
MCP tool drug_label
Usage units labels

Usage units appear in execution.usage.units for reconciliation and billing.

Field Type Required Description
invocation_id string yes The market’s invocation id: one execution per id and operation, so a retry with the same id is rejected instead of charged twice. 1-128 characters of A-Z a-z 0-9 . _ : -.
provider string yes Provider that serves the request; choose by the coverage described for this tool. One of: openfda
brand_name string no Brand (proprietary) name to match, 1-200 characters; set exactly one of brand_name, generic_name or query.
generic_name string no Generic (nonproprietary) name to match, 1-200 characters; set exactly one of brand_name, generic_name or query.
max_results integer no Number of labels to return, 1-10; default 5.
query string no Phrase searched across the whole label, 1-200 characters; set exactly one of brand_name, generic_name or query.
Provider Region Source Limits
openfda US openFDA drug labels max_results: 10, max_section_chars: 4000, timeout_seconds: 30
终端窗口
curl -sS https://services.zgi.im/v1/drug-label-searches \
-H "Authorization: Bearer $ZGI_SERVICES_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"invocation_id": "docs-1791778521-drug_label", "provider": "openfda", "generic_name": "ibuprofen", "max_results": 1}'

A real response, with lists cut to two items and long text shortened.

{
"code": 0,
"message": "success",
"data": {
"execution": {
"id": "exe_01a12e52997e71c4aa1e0c4eadee492a",
"invocation_id": "docs-1791778521-drug_label",
"capability": "drug_label",
"operation": "drug_label.search",
"provider": "openfda",
"outcome": "succeeded",
"error_category": null,
"error_code": null,
"usage": {
"provider_requests": 1,
"units": [
{
"name": "labels",
"value": 1,
"source": "measured"
}
]
},
"upstream_ref": null,
"request_id": "req_ccd3722594e5677b3e5993ed",
"started_at": "2026-10-12T04:15:27.614112683Z",
"finished_at": "2026-10-12T04:15:27.962315852Z",
"duration_ms": 348
},
"result": {
"total_results": 1147,
"labels": [
{
"set_id": "00653b7c-7099-487e-9a01-e89781c21323",
"brand_names": [
"Ibuprofen Dye Free"
],
"generic_names": [
"IBUPROFEN"
],
"manufacturer": "CVS Pharmacy",
"product_type": "HUMAN OTC DRUG",
"route": [
"ORAL"
],
"indications": "Uses temporarily relieves minor aches and pains due to: headache toothache backache menstrual cramps the common cold muscular aches minor pain of arthritis t...",
"warnings": "Warnings Allergy alert: Ibuprofen may cause a severe allergic reaction, especially in people allergic to aspirin. Symptoms may include: rash facial swelling ...",
"boxed_warning": null,
"dosage_and_administration": "Directions do not take more than directed the smallest effective dose should be used adults and children 12 years and over: take 1 tablet every 4 to 6 hours ...",
"effective_date": "2026-04-29",
"truncated_fields": []
}
],
"disclaimer": "Drug label text from FDA SPL; not medical advice.",
"source": {
"name": "openFDA, U.S. Food and Drug Administration",
"license": "CC0 1.0 (public domain)",
"url": "https://open.fda.gov"
}
}
}
}