Decide · systems and integration

SAM.gov exclusions API, CAIVRS and OFAC: the SBA eligibility stack

SAM.gov exclusions has a public API, OFAC publishes its lists as data, and CAIVRS is a web portal; SBA needs evidence from all three on a defined set of people. This guide maps the SBA eligibility stack source by source, shows which joins an agent can make and which a person must, and where SBA Eligibility Screening sits in it.

Updated · 13 min read

Yes, there is a SAM.gov exclusions API: GSA's Exclusions API returns public exclusion records in JSON, filtered by name, unique entity ID, classification, excluding agency and other fields, with daily limits that depend on the kind of key. For an SBA 7(a) or 504 lender it is one part of a stack: SBA requires a SAM.gov exclusions search for a defined list of people and entities, a CAIVRS check through HUD's portal for prior losses and delinquent federal debt, an OFAC check of the business and its owners, and the evidence of each in the loan file. Every one of those checks needs a list of names to run on, and the list comes from the application package, traced to every direct and indirect owner. Botminds' SBA Eligibility Screening is built around that join: its agents trace the owners, run each check on the right people and file the evidence beside the rule, and a person clears every hit.

API details are from GSA's and OFAC's own documentation; SBA requirements from SOP 50 10 8.1. Worked examples use fictional sample data in the solution.

The SBA eligibility stack in SBA Eligibility Screening: five sources, who each covers, and the proof each leaves

SourceWho it must coverAccessProof in the file

SAM.gov exclusions

Who it must coverApplicant; 20% owners; officers, directors, managing members, general partners; key employees; living trustor; 20% entity owners; EPC and OC. Lender staff, agents and service providers once, before their first day.

AccessWeb search, or GSA’s Exclusions API with a key

Proof in the fileEvidence of each search, “for example, a screenshot”

CAIVRS

Who it must coverThe applicant; guarantors; associates; businesses they own, operate or control

AccessHUD’s web portal; several tax IDs per search

Proof in the fileDocumentation of the check; how any loss or debt was satisfied

OFAC sanctions lists

Who it must coverThe applicant business and its owners, at application

AccessDownloadable lists and delta files; OFAC’s search tool

Proof in the fileThe result; any potential match investigated and recorded

SAFER (FMCSA)

Who it must coverApplicants that need a USDOT number

AccessWeb lookup

Proof in the fileActive USDOT number in good standing; matching physical address

The application package

Who it must coverEvery direct and indirect owner and related business

AccessRead by people, or by agents

Proof in the fileOwnership traced to 100%; size, business type, citizenship

Who and proof from SOP 50 10 8.1, Section A, Ch. 1, Paras E and J, and Ch. 4, Para B. Access from GSA's Exclusions API documentation, OFAC's Sanctions List Service and the CAIVRS address SBA's SOP gives. The SOP describes no machine interface for CAIVRS. Blue fill: data or API access; amber: a web portal; green: documents read.Source: SOP 50 10 8.1; GSA Exclusions API; OFAC Sanctions List Service

Is there a SAM.gov exclusions API?

Yes. GSA's SAM.gov Exclusions API "will allow users to request Public Exclusion Information based on various optional request parameters," with the response "provided in the JSON format in a paginated manner" (GSA, SAM.gov Exclusions API). The production endpoint is version 4, at api.sam.gov/entity-information/v4/exclusions, called with an API key. It "returns ten records per page," "can return only the first 10,000 records," and "returns only Active records."

The parameters suit an eligibility search. A caller can search by exclusionName, which "accepts multi-text values in any order," by ueiSAM for an entity's unique ID, by classification (Individual, Firm, Vessel, Special Entity Designation), by exclusionType ("Ineligible (Proceedings Pending), Ineligible (Proceedings Completed), Prohibition/Restriction and Voluntary Exclusion") and by excluding agency. For individuals, an address can narrow a name search: when addressLine1 is sent with exclusionName, "it must match 85% of an Individual's address." A separate extract mode returns up to 1,000,000 records as a downloadable JSON or CSV file, which suits a lender that would rather screen against a local copy.

SAM.gov Exclusions API: requests a day, by kind of key

Non-federal user, no role (personal key)
10
Non-federal user with a role (personal key)
1,000
Non-federal system (system account key)
1,000
Federal user (personal key)
1,000
Federal system (system account key)
10,000
Default rate limits as GSA's documentation states them. A system account needs a SAM.gov registration tied to an entity, a request through the System Accounts workspace and GSA's approval.Source: GSA, SAM.gov Exclusions API

For a lender the arithmetic is comfortable once the key is right. An SBA application with nine owners, a holding company and three officers needs perhaps fifteen searches; a lender with a system account could screen sixty such applications a day before the limit. A personal key with no role, at ten requests a day, is a test key, not a production one.

Who must be searched in SAM for an SBA loan?

The applicant and a list SOP 50 10 8.1 spells out by entity type: for a corporation, "all owners of 20% or more of the corporation, and each officer and director"; for a limited liability company, "all members owning 20% or more of the company; each officer, director, and managing member"; for a partnership, all general partners, limited partners owning 20% or more and any partner involved in management; key employees; a living trustor; "The legal entity, when 20% or more ownership interest in the applicant is held by a corporation, partnership, or other form of legal entity"; and, for a property structure, both the eligible passive company and the operating company (SOP 50 10 8.1, Section A, Ch. 4, Para B).

The lender's own side is searched too, once. The lender's employees involved in any stage of an SBA loan, its agents, and for 7(a) its lender service providers and their employees are searched before "the entity or person's first day of work on SBA-related business." SBA's servicing SOP shows why it matters: SBA "may deny liability in full on a Loan guaranty if a Lender uses the services of a suspended or debarred Agent to administer the Loan at any time during the life of the Loan" (SOP 50 57 4, Ch. 25).

What proof of a SAM search must be kept?

Evidence of each required search must be in the loan file, and SBA's example is "a screenshot of the search results." The phrase "for example" leaves room for other evidence, but whatever a lender keeps has to show the same things a screenshot does: which name or ID was searched, when, in which system, and what came back, including a clean result.

An API response can carry all of that and more, if it is kept properly: the query parameters, the timestamp, the full response including an empty result set, and a readable rendering for the reviewer who will not parse JSON. A lender moving from screenshots to API calls should write that choice into its procedures and keep the rendering with the file. What fails a review is not the format but the gap: a search run on the three owners the application listed when the documents named nine.

The SAM.gov exclusions API in four numbers

10

records per page in a synchronous response

10,000

records a synchronous query can return

1,000,000

records an extract can return as a JSON or CSV file

85%

address match needed to return an individual’s address with a name search

GSA, SAM.gov Exclusions API documentation, version 4.Source: GSA, SAM.gov Exclusions API

How do lenders check CAIVRS?

Through HUD's CAIVRS web portal, which SOP 50 10 8.1 points lenders to at entp.hud.gov/caivrs. "CAIVRS allows the SBA Lender to enter multiple tax identification numbers (either SSN or EIN) to conduct a search in connection with a loan application," and "SBA Lenders must retain documentation of the CAIVRS check in the loan file." The check answers two eligibility tests: a prior loss to the government by the applicant or any business it or its associates own, operate or control, and delinquent federal debt of the applicant, any guarantor or associate.

CAIVRS differs from the other two sources in one useful way: it searches by tax identification number, not by name, so a result belongs to a person or business without the name-matching that SAM.gov and OFAC require. The cost is that the lender needs every owner's and guarantor's SSN or EIN, which is one more reason the ownership tree has to be complete before the screens run.

Can CAIVRS be automated?

Partly. SBA's SOP describes CAIVRS only as a web portal and gives no machine interface, so a lender should treat the query itself as a supervised step under its own HUD access, not as a background API call. What can be automated is everything around it: knowing whose tax IDs must be entered, assembling them from the package, recording the result against each person, and comparing a hit with the person's Form 1919 answer on federal debt.

That comparison is where the value is. In the sample file, CAIVRS returned a HUD claim on a 21% indirect owner who was also a guarantor, and his Form 1919 said "No" to the federal-debt question. The CAIVRS result alone makes the application ineligible until HUD clears the claim; the contradiction with the form makes a corrected Form 1919 a second item to clear.

The SBA eligibility stack, by how each source is reached and joined

SourceHow it is reachedMatched onWho decides a hit
SAM.gov exclusionsWeb search, or the Exclusions API with a personal or system keyName, unique entity ID; address for individualsThe compliance officer, from the exclusion record’s details
CAIVRSHUD’s web portal, as SBA’s SOP describes itSSN or EINThe underwriter, once the agency’s clearance is in the file
OFACSanctions List Service downloads and delta files; OFAC’s search toolName, with aliases, dates of birth, IDs in the listingThe compliance officer, under the bank’s sanctions procedures
SAFERFMCSA web lookupUSDOT numberThe underwriter
Application packageRead by people or agentsDocument and pageThe underwriter, on each traced owner and affiliate
From GSA's Exclusions API documentation, OFAC's Sanctions List Service and FAQ 5, and SOP 50 10 8.1, Section A, Ch. 1, Para E and Ch. 4, Para B.Source: GSA Exclusions API; OFAC FAQ 5; SOP 50 10 8.1

The joins an agent can make, and the ones a person must

An agent can make every join that a document or an identifier settles; a person must make every join that rests on resemblance. Matching a CAIVRS result to an owner by SSN, or a SAM.gov record to an entity by its unique ID, is mechanical. Deciding that "J. Ridgeway" on an exclusion record in another state is or is not the guarantor is judgement, and OFAC's own guidance says so: reviewers should compare "all of the details in the OFAC listing" with what they know, because "Many potential matches identified through screening are false positives" (OFAC FAQ 5).

The federal government's own experience points the same way. GAO, reviewing SBA's pandemic data analytics, identified "over 3.7 million unique recipients with fraud indicators out of a total of 13.4 million," and was careful to add: "They are not proof of fraud" (GAO-23-105331). An indicator is the end of an agent's job and the start of a person's.

SBA Eligibility Screening's government records check: who joins what

  1. Agent

    Entity document reader

    Builds the list of people and entities to search from the traced ownership tree, with their roles and shares.

    Never: Adds a person without a document.

  2. Agent

    Government records checker

    Runs SAM.gov exclusions for the SOP’s list of parties, OFAC for the business and owners, and prepares each person’s CAIVRS search by tax ID; records every result, clean or not.

    Never: Clears a hit without the agency’s clearance.

  3. Agent

    Ownership and citizenship verifier

    Sets each hit beside the person’s Form 1919 answers, certifications and identifiers, and flags contradictions.

    Never: Decides a name match is the same person.

  4. A person decides

    Compliance officer

    Decides whether each potential match is valid, and takes the second look on every cleared hit.

  5. A person decides

    SBA underwriter

    Treats a valid hit as an eligibility failure until cleared, and signs the determination.

Agent duties and limits as configured in SBA Eligibility Screening; the CAIVRS query itself runs under the lender's own HUD access.

What systems does SBA eligibility screening use?

Five sources and one place to put the results. The sources are the application package, SAM.gov exclusions, CAIVRS, OFAC's lists and, for motor carriers, FMCSA's SAFER. The results go into the loan file the lender keeps, while the SBA Loan System receives the ownership data and the lender's certifications. SBA's own 2023–25 screen shows what happens when the stack is all databases and no documents: it drew on "Treasury's Do Not Pay list, an online data compilation and analytics provider's evaluation of businesses and principals, and the business' credit," and never tested size or for-profit status (SBA OIG Report 26-07).

Where the stack ends: the eligibility checklist, every line with its source

Eligibility checklist for the fictional Copperline Mechanical SBA 7(a) application: 22 tests in 5 groups, 19 passed, 3 to clear before credit underwriting; rules in force shown as PN 5000-876626. Business tests (organized for profit, organized and operating in the U.S., not an ineligible business type, NAICS code matches, franchise) each show a rule citation and a Source link; size tests show small with every affiliate counted and group SBA exposure within the limit.
SBA Eligibility Screening on the fictional sample file. The government-records group sits further down the same list, each screen saved as the source of its line.

Building the stack: a checklist for IT and operations

The integration work is modest; the discipline is not. Most of the checklist below is about what gets saved and who sees it, because the purpose of the stack is a file a purchase reviewer can read years later.

Integrating SAM.gov, CAIVRS and OFAC for SBA eligibility

  1. Get the right SAM.gov key

    A system account key for production; personal keys without a role are limited to ten requests a day.

  2. Save every search, including clean ones

    Query, timestamp, full response and a readable rendering, filed against the person searched.

  3. Generate the search list from the traced owners

    By entity type, as SOP 50 10 8.1 lists the parties; never from the application’s owner list alone.

  4. Screen the lender’s own people once

    Employees on SBA loans, agents and service providers, before their first day.

  5. Run CAIVRS as a supervised step

    Under the lender’s HUD access, with every owner’s and guarantor’s tax ID assembled first.

  6. Track OFAC list versions

    Record which list version or delta file each screen used.

  7. Route every potential match to a person

    With the listing’s details and the applicant’s identifiers side by side.

  8. Re-run before closing

    Core requirements apply through closing and disbursement.

  9. Keep access and settings changes on an audit trail

    So the lender can show which procedure applied to a file.

Our checklist, from SOP 50 10 8.1, Section A, Ch. 1 and Ch. 4, GSA's Exclusions API documentation and OFAC FAQ 5.

The file the stack produces: cleared items, signatures and the certification

Items to clear and sign-off for the fictional Copperline Mechanical: three items cleared, including HUD's letter that the FHA claim on case 412-883107 is satisfied with a clear CAIVRS rescreen and a corrected Form 1919. Eligibility decision: 22 of 22 tests passed, 9 of 9 owners certified, government records clear with the HUD letter in the file. Signed by Alicia Moreno, second look by Margaret Ellery ('HUD clearance verified'), and Danny Cho certified 100% ownership in E-Tran. An activity log shows the government records checker rescreening Marcus Ridgeway after HUD's letter.
SBA Eligibility Screening on the fictional sample file. The CAIVRS hit cleared only on HUD's letter and a clean rescreen, and the compliance officer's second look is recorded.

SBA Eligibility Screening is the layer that turns the stack into an eligibility file: it decides whose names go to which source, runs the checks it can, prepares the one it cannot run unattended, keeps every result as the source of a checklist line, and stops at every hit. It does not replace the bank's sanctions platform or its HUD access, and it does not submit anything to the SBA Loan System. The gap between OFAC tools and the SBA check and the eight-week go-live plan cover the buying and the rollout. To see the stack on your own applications, start from SBA Eligibility Screening.

Questions people ask

Does the SAM.gov exclusions API need an account?

Yes. A registered SAM.gov user generates a personal API key on the Account Details page; a system account key needs a registration tied to an entity, a request through the System Accounts workspace and GSA's approval. Limits run from ten requests a day for a personal key with no role to 1,000 for a non-federal system.

Is a screenshot required for a SAM.gov search on an SBA loan?

SOP 50 10 8.1 requires evidence of the search in the loan file and gives a screenshot as an example. A lender using the API should keep equivalent evidence, the query, timestamp and result, and say in its procedures that it does.

Does the SAM.gov API show inactive exclusions?

No. GSA's documentation says the API "returns only Active records." That suits an eligibility check, which asks whether a party is excluded now, but a lender should record the date of each search so the result can be tied to the application.

Can OFAC's lists be screened locally?

Yes. OFAC's Sanctions List Service offers the SDN and consolidated lists for download, customised datasets and an archive of published delta files, so a lender can screen against a local copy and record the version used.

Who must CAIVRS cover for an SBA loan?

The applicant, guarantors and associates, and businesses the applicant or its associates own, operate or control, for both prior loss and delinquent federal debt. A supplemental guarantor is excepted from the delinquent-debt test.

SBA Eligibility Screening.
See it on your own files.

An agentic solution from Botminds. Every owner, affiliate and eligibility test on one ownership tree, each finding cited to the rule. Book a demo, or explore how it works.