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.
Request fields
Section titled “Request fields”| 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. |
Providers
Section titled “Providers”| Provider | Region | Source | Limits |
|---|---|---|---|
openfda |
US | openFDA drug labels | max_results: 10, max_section_chars: 4000, timeout_seconds: 30 |
Example
Section titled “Example”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}'POST /v1/drug-label-searches HTTP/1.1Host: services.zgi.imAuthorization: Bearer <token>Content-Type: application/json
{ "invocation_id": "docs-1791778521-drug_label", "provider": "openfda", "generic_name": "ibuprofen", "max_results": 1}Over MCP, the tool arguments are exactly the HTTP request body.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "drug_label", "arguments": { "invocation_id": "docs-1791778521-drug_label", "provider": "openfda", "generic_name": "ibuprofen", "max_results": 1 } }}curl -sS https://services.zgi.im/v1/mcp \ -H "Authorization: Bearer $ZGI_SERVICES_TOKEN" \ -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \ -H 'MCP-Protocol-Version: 2025-11-25' \ -d @request.jsonResponse
Section titled “Response”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" } } }}