NDC format converter (10 to 11 digit) API
Converts a National Drug Code between FDA 10-digit layouts (4-4-2, 5-3-2, 5-4-1) and the HIPAA 11-digit 5-4-2 form, dashed or undashed. Ambiguous undashed 10-digit input is resolved against NLM RxNav by checking all three possible layouts. Returns ndc11, ndc11_dashed, ndc10, product_ndc, segment_format, resolution method, candidate layouts, and RxNav status (ACTIVE, OBSOLETE, ALIEN, UNKNOWN) with RxCUI and concept name.
$0.002 per call USDC over x402 v2 on Base, Polygon, Arbitrum, Avalanche or Sei. No signup, no API key. Requests that fail or match nothing are not charged.
Endpoint
GET https://api.kit-rx.com/v1/rx/ndc-convert
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ndc | string | yes | NDC in any common form: 0071-0155-23, 00071-0155-23, 00071015523, or 0071015523 e.g. 0071-0155-23 |
Example request
https://api.kit-rx.com/v1/rx/ndc-convert?ndc=0003089421
Without payment the server answers 402 Payment Required with the price (2000 atomic USDC) in the PAYMENT-REQUIRED header. Any x402 v2 client pays and retries automatically. A request with no parameters runs this example.
curl -i "https://api.kit-rx.com/v1/rx/ndc-convert?ndc=0003089421"
Pay from an agent
AgentCash: fetch the URL. OpenDexter MCP: x402_fetch. Kit Rx MCP server: https://api.kit-rx.com/mcp. Code:
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.BUYER_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://api.kit-rx.com/v1/rx/ndc-convert?ndc=0003089421");
console.log(await res.json());
Example response
{
"query": {
"ndc": "0003089421"
},
"result": {
"input": "0003089421",
"input_format": "10-digit undashed (ambiguous)",
"ndc11": "00003089421",
"ndc11_dashed": "00003-0894-21",
"ndc10": "0003-0894-21",
"product_ndc": "0003-0894",
"segment_format": "4-4-2",
"resolution": "rxnav",
"candidates": [
{
"ndc10": "0003-0894-21",
"segment_format": "4-4-2",
"ndc11": "00003089421",
"rxnav_status": "ACTIVE",
"concept_name": "apixaban 5 MG Oral Tablet [Eliquis]",
"digits_match": true
},
{
"ndc10": "00030-894-21",
"segment_format": "5-3-2",
"ndc11": "00030089421",
"rxnav_status": "UNKNOWN",
"concept_name": null,
"digits_match": false
}
],
"rxnav": {
"status": "ACTIVE",
"rxcui": "1364447",
"concept_name": "apixaban 5 MG Oral Tablet [Eliquis]"
}
},
"sources": [
{
"name": "NLM RxNav getNDCStatus",
"url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getNDCStatus.html"
},
{
"name": "NLM RxNav getNDCProperties",
"url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getNDCProperties.html"
}
],
"notes": [
"Layout resolved with RxNav: only 0003-0894-21 (00003089421) is a known NDC among the …"
],
"generated_at": "2026-11-13T21:30:59.732Z"
}
Kit Rx: Composed public-data reports for AI agents, paid per call in USDC over x402. Machine-readable: OpenAPI, llms.txt, /.well-known/x402, agent skills.