Dashboard

J-Code/NDC Crosswalk API

Bidirectional crosswalk between HCPCS J-codes (injectable drugs) and NDC codes from CMS ASP pricing files.

Overview

HCPCS J-codes identify injectable drugs administered in physician offices and outpatient settings, billed under Medicare Part B. Each J-code may correspond to dozens of NDC products from different manufacturers. The J-Code/NDC Crosswalk API provides bidirectional lookups between J-codes and NDC codes, sourced from CMS Average Sales Price (ASP) pricing files. This is essential for Medicare Part B drug billing, 340B compliance, and drug cost analysis.

Endpoints

Method Path Description
GET /v1/jcode/by-hcpcs/:code Find NDC codes for a J-code
GET /v1/jcode/by-ndc/:ndc Find J-codes for an NDC

Lookup by HCPCS J-Code

Given a HCPCS J-code, find all NDC products mapped to it:

Find NDC codes for bevacizumab (J9035)

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/jcode/by-hcpcs/J9035",
  {
    method: "GET",
    headers: {
    "x-api-key": "YOUR_API_KEY",
  }
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "hcpcs_code": "J9035",
    "description": "INJECTION, BEVACIZUMAB, 10 MG",
    "ndc_count": 4,
    "entries": [
      {
        "ndc": "50242-0060-01",
        "labeler": "Genentech Inc",
        "description": "AVASTIN 100MG/4ML",
        "pkg_size": "4 ML",
        "asp_price_per_unit": 6.42
      },
      {
        "ndc": "50242-0061-01",
        "labeler": "Genentech Inc",
        "description": "AVASTIN 400MG/16ML",
        "pkg_size": "16 ML",
        "asp_price_per_unit": 6.42
      },
      {
        "ndc": "67457-0048-05",
        "labeler": "Mylan Institutional LLC",
        "description": "BEVACIZUMAB-AWWB 100MG/4ML",
        "pkg_size": "4 ML",
        "asp_price_per_unit": 4.85
      },
      {
        "ndc": "67457-0049-16",
        "labeler": "Mylan Institutional LLC",
        "description": "BEVACIZUMAB-AWWB 400MG/16ML",
        "pkg_size": "16 ML",
        "asp_price_per_unit": 4.85
      }
    ]
  },
  "meta": {
    "legal": {
      "license": "public_domain",
      "attribution_required": false,
      "citation": "CMS ASP Drug Pricing Files. CMS.gov. Accessed 2026-03-15 via FHIRfly.",
      "source_name": "CMS ASP Pricing"
    }
  }
}

Reverse Lookup by NDC

Given an NDC code, find all HCPCS J-codes it maps to:

Find J-codes for NDC 00004-1100-02

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/jcode/by-ndc/00004110002",
  {
    method: "GET",
    headers: {
    "x-api-key": "YOUR_API_KEY",
  }
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "ndc": "00004-1100-02",
    "labeler": "Genentech Inc",
    "hcpcs_codes": [
      {
        "hcpcs_code": "J9035",
        "description": "INJECTION, BEVACIZUMAB, 10 MG",
        "billing_units": "per 10 mg"
      }
    ]
  },
  "meta": {
    "legal": {
      "license": "public_domain",
      "attribution_required": false,
      "source_name": "CMS ASP Pricing"
    }
  }
}

Use Cases

Medicare Part B Drug Billing

When billing injectable drugs under Part B, payers require both the HCPCS J-code (for the service) and the NDC (for the specific product administered). Use the crosswalk to validate that the NDC billed matches an accepted product for the J-code.

340B Drug Pricing Compliance

Covered entities in the 340B program must track which NDC products are dispensed under each HCPCS code. The crosswalk helps identify all eligible NDC products for a given J-code.

Drug Cost Analysis

Compare ASP pricing across manufacturers for the same J-code to identify cost-effective alternatives.

Notes

  • No shapes: The crosswalk returns full detail on every request. There is no shape query parameter.
  • No batch: Crosswalk lookups are single-code only. For bulk needs, iterate over individual requests.
  • NDC format: The by-ndc endpoint accepts 10-digit and 11-digit NDC formats.
  • J-code scope: This crosswalk covers HCPCS codes in the J range (J0000-J9999) that appear in CMS ASP pricing files. Not all HCPCS codes are included.

Required Scopes

  • jcode.read - Forward and reverse crosswalk lookups

See Also

  • HCPCS API — Look up HCPCS Level II procedure codes
  • NDC API — Look up National Drug Codes
  • RxNorm API — Look up drug concepts by RxCUI