CAGE vs. NCAGE: What the Difference Actually Is
A CAGE code and an NCAGE code identify a facility the same way, in the same five-character format. What differs is who is allowed to issue one — and getting that wrong is the most common reason a foreign supplier stalls out during SAM.gov registration.
Updated 7 min read
A CAGE code and an NCAGE code answer the exact same question — which facility, at which specific address, is this — using the exact same five-character format. The only real difference is who is allowed to hand one out: the U.S. Defense Logistics Agency issues CAGE codes to entities inside the United States, while a national codification bureau or NSPA issues NCAGE codes to entities everywhere else. Neither code is "better," and neither is optional if your business sits on the wrong side of that line.
CAGE vs. NCAGE, in one sentence
A CAGE code is issued to a U.S.-based entity by the Defense Logistics Agency; an NCAGE code is the same kind of identifier issued to an entity outside the United States by that country's national codification bureau, or by the NATO Support and Procurement Agency (NSPA) where no national bureau exists. Both live in the same NATO Codification System and the same five-character format — a U.S. supplier never needs to think about which one it has, because location decides it automatically.
What NCAGE stands for and what it identifies
NCAGE stands for NATO Commercial and Government Entity code, and it identifies one facility at one physical address, exactly the way a domestic CAGE code does. It is not a separate category of business identifier with its own rules about who needs one — it is the same underlying record type, extended outside U.S. borders through NATO's codification system so that a facility in any participating country can be uniquely identified the same way a U.S. facility is.
That shared purpose is why the two terms get used almost interchangeably in practice. A contracting officer checking a foreign subcontractor's identifier and a contracting officer checking a domestic one are running the same kind of check against the same kind of five-character code — they are just pulling from different issuing authorities depending on where the facility sits.
Who actually issues an NCAGE code
An NCAGE code is issued by the National Codification Bureau of the entity's own country if that country participates in the NATO Codification System, or by NSPA directly if the country has no codification bureau of its own. DLA does not issue NCAGE codes — it is the U.S. member of the same codification network and issues only the domestic CAGE codes assigned to U.S. entities.
NSPA runs a public NCAGE Code Request Tool through its ePortal that lets an entity check whether it already has a code and submit a request if it does not. That tool, not SAM.gov and not DLA's CAGE Search and Inquiry system, is the correct starting point for a non-U.S. entity that needs an NCAGE code — SAM.gov registration and DLA's domestic CAGE tool both exist one layer downstream of it, for entities the code has already been assigned to.
How the formats differ
Both codes are five characters, but only the U.S. pattern is fixed: a domestic CAGE code always starts and ends with a digit and never uses the letters I or O, because those two letters are too easy to misread as the digits 1 and 0. An NCAGE code follows the same five-character length but is not bound by that U.S. rule, so it can legitimately start or end with a letter.
That single distinction is the fastest way to spot which kind of code you are looking at without checking a country field: a code that breaks the digit-first, digit-last U.S. pattern is almost certainly an NCAGE code issued outside the United States, not a mistake or a mistyped CAGE code. Of the 794,847 registrations in the current SAM.gov extract that carry a code in that shared field, some follow the strict U.S. pattern and some do not — both are valid, current, lookupable codes in exactly the same system.
When you need an NCAGE code instead of a CAGE code
You need an NCAGE code, not a CAGE code, if your entity is physically located outside the United States and its outlying areas and you intend to register in SAM.gov to do business with the U.S. government. SAM.gov's own Entity Registration Checklist states this directly: an entity outside the U.S. must obtain its NCAGE code through the NCAGE Request Tool before starting SAM.gov registration, then enter that already-issued code during registration rather than waiting for one to be assigned automatically the way a domestic entity's CAGE code is.
That ordering is the opposite of how it works for a U.S. entity, and it is the single most common point of confusion for a first-time foreign registrant. A U.S. business does not request a CAGE code separately — completing SAM.gov registration triggers the request to DLA automatically. A non-U.S. business does the request first, on NSPA's ePortal or through its own country's codification bureau, and only then proceeds to SAM.gov with a code already in hand. Skipping that order, or assuming SAM.gov will assign a code the way it does domestically, is what stalls a foreign registration before it starts.
Why this site treats them as one lookup
Because CAGE and NCAGE codes are the same record type in the same underlying system, a CAGE code lookup here works identically for either one — you do not choose "CAGE" or "NCAGE" as a search mode, you just enter the five characters. When a result comes from an entity outside the United States, the result card flags it as an NCAGE code and notes that it does not follow the U.S. digit-first, digit-last pattern, but the underlying registration status, exclusion check, and NAICS decoding all run exactly the same way they do for a domestic CAGE code.
That consistency matters for supplier screening specifically. If a procurement team is checking a facility for an active registration or a federal exclusion flag, the fact that its identifier happens to be an NCAGE code rather than a CAGE code should not change how carefully the check gets done — the record lives in the same SAM.gov entity data either way, current to the same extract date shown on every result.
Frequently asked questions
What does NCAGE stand for?
NCAGE stands for NATO Commercial and Government Entity code. It identifies a facility outside the United States the same way a CAGE code identifies one inside the United States, using the same five-character format within the same NATO Codification System.
Who issues an NCAGE code?
The National Codification Bureau of the entity's own country issues its NCAGE code if that country participates in the NATO Codification System. If a country has no codification bureau of its own, the NATO Support and Procurement Agency (NSPA) issues the code directly instead. The U.S. Defense Logistics Agency does not issue NCAGE codes — it issues only domestic CAGE codes.
Is an NCAGE code the same as a CAGE code?
They are the same type of record and the same five-character format, used for the same purpose: identifying one facility at one physical address. The only difference is the issuing authority, which is determined entirely by where the entity is located, not by any difference in what the code does.
How do I get an NCAGE code?
A non-U.S. entity requests an NCAGE code through NSPA's NCAGE Code Request Tool on its ePortal, or through its own country's national codification bureau where one exists. SAM.gov's own Entity Registration Checklist states that a foreign entity must obtain this code before starting SAM.gov registration, not after.
Do I need an NCAGE code before I register in SAM.gov?
Yes, if your entity is located outside the United States. SAM.gov registration for a U.S. entity triggers an automatic CAGE code request to DLA, but a non-U.S. entity must already hold an NCAGE code before it can complete SAM.gov registration, entering that code during the process rather than waiting for one to be assigned.
How can I tell if a code is a CAGE code or an NCAGE code just by looking at it?
A U.S. CAGE code always starts and ends with a digit and never contains the letters I or O. An NCAGE code follows the same five-character length but is not bound by that rule, so a code that starts or ends with a letter is almost certainly an NCAGE code issued outside the United States.
Can I look up an NCAGE code the same way I look up a CAGE code?
Yes. Both are the same record type in the same underlying data, so a single CAGE code lookup tool works for either one without needing a separate search mode — you enter the five characters and the result is flagged as NCAGE automatically when the entity is located outside the United States.
Sources
- Defense Logistics Agency — International Cataloging: NATO CAGE (NCAGE)
- NATO Support and Procurement Agency — NCAGE Code Request Tool (ePortal)
- SAM.gov — Entity Registration Checklist
- Defense Logistics Agency — CAGE Code (Commercial and Government Entity Code)
- cagecodelookup.com — live dataset statistics