There is a single federal list that can end a company. When a firm or a person is placed on the exclusions list in SAM.gov, they are barred—across the entire United States government, not merely one agency—from winning federal contracts and from receiving most federal grants, loans, and benefits. The list holds roughly 64,400 active exclusion records, each naming an excluded party and recording why it was excluded, who excluded it, and when the exclusion takes effect and ends. It is the authoritative answer to the question every contracting officer, grant maker, and corporate compliance team must ask before spending a federal dollar: is this party allowed to be paid?
This article covers what the exclusions list is and why a single entry has governmentwide effect; the distinction between debarment, suspension, and proposed debarment, and how statutory exclusions differ from discretionary ones; who actually does the excluding—agency suspension and debarment officials and the interagency committee that coordinates them; the common causes that put a party on the list; how the list relates to the separate healthcare exclusion list run by the HHS Office of Inspector General and to OFAC and forced-labor screening; the real-world uses, from vendor compliance screening to debarment-trend and repeat-exclusion analysis; a worked Python example that pulls the SAM Exclusions extract, ranks excluding agencies and causes, and runs a vendor-name screen; and the caveats—name-only false positives, the gap between an exclusion record and a contractor responsibility determination, the unique-entity-identifier transition, and reporting lag—that every analyst must keep in mind.
What it is and the governmentwide effect
The exclusions list is the federal government's master register of parties that are barred from doing business with it. It lives inside the System for Award Management (SAM.gov), the consolidated platform that also handles federal entity registration and the assignment of unique entity identifiers. The exclusions component was, for decades, a standalone system called the Excluded Parties List System (EPLS); when SAM absorbed EPLS, the substance carried over unchanged, and practitioners still use the older vocabulary interchangeably. Whatever it is called, the function is the same: it is the single, governmentwide, authoritative list of who is excluded.
The defining property of the list—the thing that makes it so consequential—is that it is governmentwide. An exclusion is not local to the agency that imposed it. When one agency excludes a party and that exclusion is posted to SAM, the bar applies across the whole executive branch. The Department of Defense cannot award a contract to a firm that the Environmental Protection Agency debarred; a state agency administering a federal grant cannot pass federal funds to a contractor that the Department of Housing and Urban Development suspended. One entry, every agency. That reciprocity is the entire point of maintaining a central list rather than letting each agency keep its own.
The legal machinery behind that reach runs on two parallel frameworks. On the procurement side—federal contracts—the governing rules are in the Federal Acquisition Regulation, FAR Subpart 9.4, which directs that agencies shall not solicit offers from, award contracts to, or consent to subcontracts with parties that are excluded, except in the narrowest of circumstances where the agency head makes a written determination of compelling reason. On the nonprocurement side—grants, cooperative agreements, loans, and other federal assistance and benefits—the governing rules are the governmentwide nonprocurement common rule, codified at 2 CFR Part 180 and adopted by each agency in its own chapter of Title 2. The common rule extends the bar beyond contracts: an excluded party is also ineligible to receive most federal financial assistance and to participate as a principal in covered transactions. Together, FAR 9.4 and 2 CFR 180 are why a single posting to the exclusions list closes off not just the contract window but most of the grant, loan, and benefit windows as well.
Each row in the list is a single exclusion record, and the fields it carries are designed to answer the practical questions a contracting officer or a screening system needs answered. The core fields are:
name -- the excluded entity (firm or individual)
address -- street, city, state, ZIP, country of the party
classification -- Firm, Individual, Special Entity, or Vessel
exclusion_type -- ineligible/prohibited for procurement and/or
nonprocurement; reciprocal
excluding_agency -- the agency that created the exclusion
creating_agency -- the agency that entered the record (often the same)
cause_and_treatment -- the legal authority and CT code(s) for the exclusion
ct_code -- the cause-and-treatment code(s)
active_date -- the date the exclusion takes effect
termination_date -- the date the exclusion ends (or "indefinite")
uei / sam_number -- unique entity identifier and cross-reference
cross_reference -- links to affiliated excluded partiesThree groups of fields do most of the work. Identity—the name, address, and unique entity identifier—is how a screening system decides whether a given counterparty is the excluded party. Scope—the classification (is this a firm, a named individual, a special entity, or a vessel?) and the exclusion type (does the bar reach procurement, nonprocurement, or both, and is it reciprocal?)—is how a system decides whether the exclusion applies to the transaction at hand. And provenance and timing—the excluding and creating agency, the cause-and-treatment authority and CT code, and the active and termination dates—is how an analyst understands why the party was excluded, by whom, under what authority, and for how long. The cross-reference field, which links an excluded firm to its excluded principals and affiliates, is what prevents the most common evasion: a debarred owner spinning up a new corporate shell.
Debarment vs suspension vs proposed debarment
“Excluded” is the umbrella term, but it covers several distinct kinds of action, and the difference between them is the difference between a temporary precaution and a deliberate, durable judgment. Reading the exclusion type and the cause-and-treatment authority on a record is how you tell which one you are looking at.
Suspension is the emergency brake. It is a temporary exclusion imposed when an agency has adequate evidence that a party may have committed a serious offense—often the existence of an indictment, or an ongoing criminal or civil investigation—and needs to stop dealing with that party immediately, before the full facts are established. Because it is provisional and is imposed without the full process that precedes a debarment, a suspension is time-limited: it generally cannot continue indefinitely while an investigation drifts, and it is expected to be resolved—lifted, or converted to a debarment—once the underlying matter concludes. A suspension is, in effect, the government saying “we will not deal with you while we find out what happened.”
Debarment is the considered judgment. It is imposed after a fact-finding process in which the party has notice and an opportunity to respond, and it reflects an agency determination that the party is not presently responsible enough to be trusted with public funds. Debarment is for a fixed, stated period—commonly up to three years, though the period is calibrated to the seriousness of the cause and can be shorter or, for grave conduct, longer—and it has a termination date on the record precisely because it is meant to be proportionate and time-bounded rather than permanent. The governing principle, written into both FAR 9.4 and 2 CFR 180, is that debarment and suspension are protective measures to safeguard the government's business, not punishment; the test is present responsibility, not retribution for a past act.
Proposed debarment is the step in between. When an agency initiates debarment, it issues a notice of proposed debarment, and—importantly—in the procurement context that proposal itself has immediate effect: a party that has been proposed for debarment is treated as ineligible for new awards while the proposal is pending, even though the final debarment decision has not yet been made. A record can therefore reflect a proposed debarment, an actual (final) debarment, or a suspension, and the practical consequence—no new federal business—is the same in each case while the exclusion is active.
Cutting across all three is the distinction between discretionary and statutory or automatic exclusions. The suspensions and debarments described above are discretionary: an agency official exercises judgment to impose them under FAR 9.4 or 2 CFR 180. But a separate category of exclusions is imposed automatically by operation of a specific statute—a law providing that conviction under it, or a particular finding, disqualifies a party from federal programs as a matter of law, with no agency discretion involved. These statutory exclusions are carried on the same list and screened the same way, but the cause-and-treatment authority on the record points to the originating statute rather than to FAR 9.4, and there is correspondingly little or no room for the usual mitigation arguments because the exclusion is mandated rather than chosen.
Who debars
Exclusions are not handed down by a single central authority. The power to suspend and debar is distributed across the agencies, and understanding who wields it explains both the structure of the data and the variation in how aggressively different agencies use the tool.
The decision-maker inside each agency is the Suspension and Debarment Official (SDO). The SDO is a designated agency official—the identity and seniority of the position vary by agency—vested with the authority to suspend, propose for debarment, and debar parties on behalf of that agency. The SDO reviews the referral and the supporting record, weighs the seriousness of the cause against any mitigating factors and remedial measures the party has taken, and decides whether to exclude and for how long. Because each agency has its own SDO acting under its own program pressures, the volume and character of exclusions differ markedly from one agency to the next: some agencies, by the nature of their contracting and their enforcement posture, generate far more exclusions than others, which is exactly the kind of variation the excluding-agency field in the data makes visible.
Coordinating across all of those independent officials is the Interagency Suspension and Debarment Committee (ISDC). Because an exclusion is governmentwide but the conduct underlying it may touch several agencies, the ISDC exists to resolve which agency should take the lead on a given party, to promote consistency in how the suspension and debarment authority is exercised across the executive branch, and to report on the governmentwide use of the tool. The ISDC does not itself debar; it knits together the work of the individual SDOs so that one party with problems at multiple agencies is handled coherently rather than through duplicative or conflicting actions. The committee's existence is the institutional expression of the same principle that animates the list itself: exclusion is a single governmentwide judgment, even though it is administered through many hands.
Common causes
The cause-and-treatment field is where a record records why the party was excluded, and the universe of causes is broad. A handful of categories account for the bulk of the list, and recognizing them is what turns the cause data from opaque codes into an account of how parties actually end up barred.
Conviction or civil judgment for fraud. The single most common family of causes is a criminal conviction or civil judgment for offenses that go to business integrity—fraud against the government, bribery, bid-rigging, embezzlement, theft, forgery, false statements, and tax evasion. FAR 9.4 lists conviction of, or civil judgment for, such offenses as a primary basis for debarment, on the straightforward theory that a party who has defrauded the government in the past lacks the present responsibility to be trusted with its money again.
False Claims Act violations. A large and distinct stream of exclusions flows from the False Claims Act, the federal statute that imposes liability for knowingly submitting false or fraudulent claims for federal payment. A False Claims Act judgment or settlement—frequently arising from a whistleblower qui tam action—establishes exactly the kind of integrity failure that supports debarment, and parties resolving FCA matters often confront the prospect of exclusion alongside the monetary settlement.
Labor-standards violations. A specialized but steady category arises under federal labor statutes, most prominently the Davis-Bacon Act, which requires payment of prevailing wages on federally funded construction. Contractors found to have violated Davis-Bacon or related labor standards can be excluded—in some instances under a statutory, near-automatic mechanism—making labor-standards exclusions a recognizable cluster distinct from the integrity-based debarments.
Drug-free-workplace failures.The Drug-Free Workplace Act conditions federal contracting and grant-receiving on maintaining a drug-free workplace, and a false certification or a failure to make a good-faith effort to maintain one is itself a cause for suspension or debarment—a reminder that the exclusion regime polices not only what a contractor does on the contract but whether it honors the compliance conditions attached to federal money.
Voluntary exclusion. Not every exclusion is imposed over the party's objection. A party can agree to a voluntary exclusion—a settlement in which it accepts exclusion for a defined period as part of resolving a matter, rather than litigating the debarment. These negotiated exclusions appear on the list with the same governmentwide effect as a contested one, and they are common in the resolution of larger enforcement matters where exclusion is one term among many.
Delinquent federal debt and other performance causes. Rounding out the picture are exclusions tied to delinquent federal debt, and the broad residual category in FAR 9.4 covering serious or compelling causes affecting present responsibility—a willful failure to perform, a history of unsatisfactory performance, or other conduct so serious that it justifies exclusion even without a conviction or judgment. This residual authority is what lets agencies reach genuinely irresponsible contractors whose conduct has not produced a formal adjudication.
The LEIE, OFAC, and forced-labor screening
The SAM exclusions list is the most general federal debarment list, but it is not the only list a thorough compliance program screens against, and it is important to understand how it relates to the others—because they overlap in purpose while resting on different legal authorities, and a party can appear on one without appearing on the others.
The closest relative is the List of Excluded Individuals and Entities (LEIE) maintained by the Department of Health and Human Services Office of Inspector General (HHS-OIG). The LEIE is the healthcare-specific exclusion list: it names individuals and entities barred from participation in Medicare, Medicaid, and other federal healthcare programs, and it rests on the HHS-OIG's own statutory exclusion authority, which is separate from the FAR and the nonprocurement common rule. The two lists serve the same broad purpose—keeping untrustworthy parties out of federal programs—but they are governed by different authorities, run by different offices, and scoped to different programs. A provider excluded from federal healthcare programs is on the LEIE; that same provider may or may not also be on the SAM exclusions list, and a firm debarred from federal contracting via SAM may not be on the LEIE. A healthcare-sector compliance program therefore has to screen both lists, because neither is a superset of the other.
The SAM list also sits alongside the screening lists maintained by the Treasury Department's Office of Foreign Assets Control, chiefly the Specially Designated Nationals (SDN) List. The OFAC lists answer a different question—not “is this party barred from federal programs for integrity reasons?” but “is this party a sanctioned person that US persons are prohibited from transacting with at all?” The authorities are entirely distinct: OFAC designations flow from sanctions law and national-security executive orders, not from the procurement integrity regime. But in practice both lists feed the same compliance screening pipeline, because an organization needs to know both whether a counterparty is excluded from federal business and whether it is sanctioned. Increasingly the same pipelines also incorporate forced-labor screening under the Uyghur Forced Labor Prevention Act (UFLPA), which restricts importation of goods linked to forced labor—again a separate authority, again folded into the same due-diligence workflow. The unifying idea is that counterparty screening is multi-list by necessity: SAM exclusions for debarment, the LEIE for healthcare, OFAC for sanctions, and UFLPA for forced labor are complementary checks, not substitutes.
What you can do with the data
Because the exclusions list is public, structured, and complete, it supports a range of analysis well beyond the single yes-or-no lookup a contracting officer performs. The uses fall into a few families.
Compliance screening of vendors and counterparties. The foundational use is operational: screening the parties an organization is about to pay, fund, or contract with against the list. For a federal contracting officer this is mandatory before award and again before exercising options; for a prime contractor it is the way to avoid awarding a subcontract to an excluded firm; and for any organization that touches federal money downstream—a grant recipient passing funds to subrecipients, a lender administering a federally backed program—screening the exclusions list is how it stays compliant with the flow-down obligations in FAR 9.4 and 2 CFR 180. A serious screening program checks not just the contracting entity but its named principals, using the cross-reference links to catch affiliated excluded parties.
Debarment-trend analysis by agency and cause. Aggregated, the list is a window into how the government uses its exclusion power. Counting exclusions by excluding agency reveals which agencies are the most active debarrers—a function of their contracting volume, their inspector general's posture, and their SDO's philosophy. Breaking exclusions down by cause-and-treatment code shows the mix of integrity convictions, False Claims Act matters, labor violations, and voluntary settlements, and how that mix shifts over time. Tracking the active dates shows the cadence of enforcement. None of this is visible from a single lookup; it requires treating the full extract as a dataset.
Repeat-exclusion detection. The cross-reference structure and the named-principal records make it possible to detect parties that recur—an individual who appears behind more than one excluded firm, or a corporate family whose entities are excluded across several actions. Repeat-exclusion analysis is valuable both as a fraud signal (a principal who keeps reappearing behind new shells) and as a measure of how effectively the cross-referencing is catching evasion. As with all name-based analysis on this list, its quality depends entirely on the entity resolution applied to the free-text name field.
Joining to USASpending to verify that excluded parties are not receiving new awards. The most powerful analytical use joins the exclusions list to the government's spending data. USASpending records the awards the government actually makes; the exclusions list records who is supposed to be barred from receiving them. Joining the two—on entity name and, where available, the unique entity identifier—lets an analyst test whether any award was made to a party while it was excluded, flagging either a screening failure or, more often, a name-matching coincidence that needs investigation. This kind of cross-dataset audit is exactly what oversight bodies do, and it is the clearest demonstration of why the list is more than a lookup table: it is an enforcement check on the spending pipeline itself.
Python: ranking excluding agencies and causes, and screening a vendor list
SAM.gov publishes the exclusions list both as a flat public extract—a downloadable file containing every active exclusion record—and through an Exclusions REST API. For analysis the flat extract is usually the better starting point: it has no rate limit and ships the entire list in one file. The script below downloads the extract, resolves the (verbose and version-dependent) column names defensively, and then produces four aggregate views—the classification mix of firms versus individuals versus special entities, the most active excluding agencies, the breakdown by exclusion type (procurement, nonprocurement, reciprocal), and the most common cause-and-treatment codes—before running a first-pass vendor-name screen against a small watchlist. Requirements: requests and pandas.
import requests, csv, io, re
import pandas as pd
from collections import Counter
# SAM.gov Exclusions public extract.
#
# SAM.gov publishes the full active-exclusions file as a downloadable
# CSV/ZIP and also exposes an Exclusions REST API. The download below
# uses the public extract endpoint; the exact path and any required
# api_key parameter change between SAM releases, so isolate them here
# and confirm against the current SAM.gov data-services documentation.
# - public extract (CSV/ZIP): the "SAM Exclusions Extract"
# - REST API: https://api.sam.gov/entity-information/v3/exclusions
#
# This script works from the flat extract because it has no rate limit
# and ships every active exclusion record in one file.
EXTRACT_URL = "https://sam.gov/api/prod/fileextractservices/v1/api/download/SAM_Exclusions_Public_Extract.csv"
def load_exclusions(url=EXTRACT_URL):
r = requests.get(url, timeout=300)
r.raise_for_status()
# The extract is plain CSV with a header row. Some historical
# versions wrap a fixed-width or pipe variant; sniff if needed.
text = r.content.decode("utf-8", errors="replace")
reader = csv.DictReader(io.StringIO(text))
return pd.DataFrame(list(reader))
df = load_exclusions()
print(f"Active exclusion records loaded: {len(df):,}")
# Column names in the extract are verbose and have shifted across SAM
# versions; resolve them defensively rather than hard-coding.
def col(frame, *candidates):
lower = {c.lower(): c for c in frame.columns}
for cand in candidates:
if cand.lower() in lower:
return lower[cand.lower()]
raise KeyError(f"none of {candidates} in {list(frame.columns)[:12]}...")
c_name = col(df, "Name", "Exclusion Name", "Excluded Entity")
c_class = col(df, "Classification", "Excluded Entity Type")
c_agency = col(df, "Excluding Agency Name", "Creating Agency", "Excluding Agency")
c_type = col(df, "Exclusion Type", "Exclusion Program")
c_ct = col(df, "CT Code", "Cause and Treatment", "Additional Comments")
c_active = col(df, "Active Date", "Activation Date")
c_term = col(df, "Termination Date", "Termination Expiration Date")
# --- 1. Classification mix: firms vs individuals vs special entities ---
print("\nRecords by classification:")
for cls, n in df[c_class].fillna("(blank)").value_counts().items():
print(f" {cls:<28} {n:>7,}")
# --- 2. Top excluding agencies ---
print("\nTop 15 excluding/creating agencies:")
for agency, n in df[c_agency].fillna("(unknown)").value_counts().head(15).items():
print(f" {agency[:46]:<46} {n:>6,}")
# --- 3. Exclusion type: procurement vs nonprocurement vs reciprocal ---
print("\nRecords by exclusion type:")
for t, n in df[c_type].fillna("(blank)").value_counts().items():
print(f" {t[:46]:<46} {n:>6,}")
# --- 4. Cause-and-treatment (CT) code frequency ---
# CT codes encode the legal authority / cause. Many records carry a
# compound code; split on common delimiters before counting.
ct_counter = Counter()
for raw in df[c_ct].fillna(""):
for token in re.split(r"[;,/ ]+", str(raw).strip()):
token = token.strip().upper()
if token and token != "NAN":
ct_counter[token] += 1
print("\nTop 15 cause-and-treatment codes:")
for code, n in ct_counter.most_common(15):
print(f" {code:<14} {n:>6,}")
# --- 5. Vendor-name screen ---------------------------------------------
# Crude name screen: normalize, then flag candidate matches. This is a
# FIRST-PASS filter only -- a hit is a record to investigate by hand, NOT
# a determination that your counterparty is excluded (see the caveats).
def norm(name):
s = (name or "").upper()
s = re.sub(r"[.,]", " ", s)
for suffix in (" INCORPORATED", " INC", " LLC", " L L C", " CORP",
" CORPORATION", " CO", " COMPANY", " LP", " L P", " LTD"):
if s.strip().endswith(suffix):
s = s.strip()[: -len(suffix)]
return " ".join(s.split())
df["_norm"] = df[c_name].map(norm)
watchlist = ["Acme Construction LLC", "John Q Vendor", "Globex Corporation"]
print("\nVendor screen:")
for vendor in watchlist:
target = norm(vendor)
hits = df[df["_norm"].str.contains(re.escape(target), na=False)]
if hits.empty:
print(f" {vendor:<28} -> no candidate match")
else:
for _, row in hits.head(3).iterrows():
print(f" {vendor:<28} -> CANDIDATE: {row[c_name][:38]!r} "
f"[{row[c_class]}; {row[c_type]}; active {row[c_active]}]")
Two things about this script deserve emphasis. First, the defensive column resolution is not incidental—the field names in the SAM exclusions extract are long and have changed across SAM releases, so hard-coding them is the surest way to write a script that breaks on the next refresh; resolving them through a small helper isolates that fragility in one place. Second, and far more important, the vendor screen at the end is explicitly a first-pass filter, not a determination. A substring match between your counterparty and a record on the list means you have found a candidate to investigate by hand—by comparing addresses, unique entity identifiers, and the cross-reference links—not that your counterparty is excluded. Treating a name hit as a conclusion is the single most dangerous mistake an analyst can make with this data, for the reasons the next section lays out.
Limitations and analytical caveats
The exclusions list is authoritative and complete for what it records, but it is a list of names with structured attributes, and several features must be held in mind before drawing conclusions—or, worse, before acting on a match.
Name-only matching produces false positives. The most consequential caveat is that screening on names alone generates spurious matches. Common personal names and common business names will collide: an excluded individual named John Smith will match many innocent John Smiths, and an excluded “Apex Construction” will match unrelated firms of the same name in other states. The exclusions list carries an address and, increasingly, a unique entity identifier precisely so that a candidate name match can be confirmed or dismissed by checking whether the rest of the identity lines up. A responsible screening program never treats a name hit as an exclusion; it treats it as a flag to be adjudicated against the full identifying detail. The cost of getting this wrong is real in both directions—a false positive can wrongly block a legitimate vendor, and over-tuning to avoid false positives can let a true match slip through.
An exclusion record is not a contractor responsibility determination. The list answers a narrow question—is this party formally excluded?—and that is not the same as the broader judgment a contracting officer must make about whether a prospective contractor is presently responsible. A party can be absent from the exclusions list and still be found non-responsible for a specific award on the basis of poor performance, inadequate financial resources, or integrity concerns that never ripened into a formal debarment. Conversely, the existence of an exclusion is a conclusive bar, not a factor to be weighed. Confusing “not on the list” with “responsible,” or treating the list as the whole of the responsibility inquiry, misreads what the data is: it is one input—a dispositive one when a party is on it—to a larger determination, not the determination itself.
The unique-entity-identifier transition complicates historical joins. The federal government replaced its older entity identifier with the SAM-assigned unique entity identifier (UEI), and that transition leaves a seam in the data. Older exclusion records may carry the legacy identifier, the UEI, both, or—for individuals and some entities—neither. Any analysis that joins the exclusions list to another dataset (most importantly USASpending) on the entity identifier has to account for the changeover, because a clean identifier-to-identifier join is only possible where both sides carry the same identifier scheme. Where the identifiers do not line up, the join falls back to name matching, with all the false-positive risk that entails.
There is reporting lag and the list is a snapshot of the active set. An exclusion appears on the list after the excluding agency creates and posts the record, which means there is a lag between the underlying event—a conviction, a settlement, an SDO decision—and the record's appearance. More fundamentally, the public extract is, by design, the set of active exclusions: when an exclusion reaches its termination date it drops off the active list. This is correct for the operational purpose—you screen against who is barred now—but it means the active list understates the historical record of who has ever been excluded, and a longitudinal study of debarment over time cannot be built from a single day's active snapshot. Analysts who want the full history must capture the list repeatedly over time, or work from an archive that preserves terminated records, rather than assuming the current extract is the complete account of federal exclusions.
Held with those caveats, the SAM exclusions list is the single most important compliance dataset in federal contracting: roughly 64,400 active records naming the firms, individuals, and entities that the United States government has decided, agency by agency but with governmentwide effect, are not presently fit to be paid—each one carrying the why, the who, and the how-long that turn a bare name into an accountable record.
Related writing
OFAC Civil Penalties: The Federal Database Behind Sanctions Violations and Treasury Enforcement — The sanctions-screening companion to the debarment list: where SAM bars parties from federal programs for integrity reasons, OFAC's SDN List bars US persons from transacting with sanctioned parties at all, and both feed the same multi-list counterparty screening pipeline.
EPA Enforcement Defendants: The Federal Database Behind 200,000 Environmental Cases — Many parties named in EPA enforcement actions are candidates for debarment, and the two datasets together show the enforcement-to-exclusion pipeline: a False Claims Act or integrity matter that names a defendant in one system can ripen into an exclusion record in the other.
SEC Form 4: Insider Transactions and the Federal Record of Who Owns Corporate America — A different federal disclosure regime keyed on named parties: where SAM identifies the firms and principals barred from federal business, Form 4 identifies the insiders behind public companies, and both reward the same careful entity resolution across name and identifier fields.