Contact us
Email [email protected]. A person who works on the data reads every message. To get a useful answer on the first reply, include:
- what you asked, and the code or drug name involved
- the request_id from the answer, if you have it — ask the assistant to “show the request ID”
- what you expected instead, and where that expectation comes from (a label, an FDA or CMS file, RxNav)
Please leave out anything that identifies a patient. A drug code is all we need.
Drug Code Resolver
Drug Code Resolver by TwinFyRx gives ChatGPT and other MCP-compatible assistants five read-only lookups over maintained drug data, so the assistant reports a mapping instead of recalling one. It needs no account.
| Tool | Use it to | Try |
|---|---|---|
| normalize_ndc | Convert an NDC to the 11-digit billing format and check that it exists | “Normalize NDC 0071-0156-10” |
| resolve_ndc | Identify the drug, ingredient, strength and dose form behind an NDC | “What drug is NDC 0071-0156-10?” |
| resolve_rxnorm | Look up an RxNorm concept (RXCUI) and its brand and generic relatives | “What is RXCUI 617310?” |
| resolve_hcpcs_drug | Look up a drug HCPCS code: drug, billing unit, payment limit, NDCs | “What drug is J9271 on 2026-01-15?” |
| search_drugs | Find RxNorm drugs by name when you have no code | “Find the RXCUI for atorvastatin 20 mg” |
The plugin returns reference data about drug products. It does not give medical advice and cannot tell you whether to start, stop or change a medication.
What the answers mean
Every answer carries a status. The plugin reports these as they are rather than guessing:
- resolved / normalized
- One answer, taken from the source named in the response.
- ambiguous
- The input fits more than one code — most often a 10-digit NDC typed without hyphens. Every candidate is listed; give the hyphenated NDC from the label to settle it.
- not_found
- We hold no record of the code. It may be unassigned, not a drug product, or outside the coverage below.
- inactive / obsolete
- The code has left the market or its RxNorm concept was retired. Ask for inactive codes to be included to see the last known drug.
- invalid
- The input is not a well-formed code. A common cause is an NDC stored as a number, which drops its leading zeros.
- unsupported
- A code system the plugin does not cover, such as CPT.
Each answer also names its source and a data_as_of time: when our copy of that source was last refreshed.
Coverage limits
- RxNorm: current prescribable drugs (clinical and branded drugs, packs) and the ingredient, dose form, drug form and brand name concepts above them, plus retired drug concepts that NDCs still point at.
- NDC: codes linked to an RxNorm drug. An NDC that RxNorm has not yet picked up, or a product that is not a drug, comes back not found.
- HCPCS: Level II drug codes with a Medicare Part B ASP payment limit, from the first quarter of 2023 onward. Unlisted (not otherwise classified) codes such as J3490 and non-drug codes come back not found.
- Name search matches part of a drug, ingredient or brand name. It does not correct spelling.
- The plugin is rate limited. A “too many requests” answer clears within a minute.
Report a data error
If an answer disagrees with the label or with the source it cites, tell us — email [email protected] with the code, what we returned and what the source shows. Current checks on every dataset are published on the Data Quality page.
API and data products
For the REST API, start with the Developer Hub and the Schema Reference. For API keys, higher volume, batch enrichment or licensed data files, email [email protected] or use the request form on the pricing section.
Security
To report a vulnerability, email [email protected] with “Security” in the subject. Please give us a chance to fix it before disclosing it. See also our Privacy Policy and Terms of Service.