Skip to content
All data sources

SAM.gov Entities & Exclusions API and MCP server

API keysam-gov

Public federal entity registrations, UEIs, CAGE codes, registration status, and active exclusions from SAM.gov. Searches preserve source identifiers and distinguish missing results from affirmative standing. A free SAM.gov API key is required.

SAM.gov Entities & Exclusions is published by SAM.gov Entity Management and Exclusions and covers United States.

Calls reach the publisher at request time, so an answer reflects the record as it stood then.

Last verified . That is when these facts were last rebuilt from the ParcelOps source registry, not when SAM.gov Entity Management and Exclusions last refreshed the data itself.

API access

Your AI client reaches SAM.gov Entities & Exclusions through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes your own credentials (API key).

Where it came from

Freshness and coverage

FreshnessLive
Places coveredUnited States
Time coveredNot declared
CredentialsCredentials required (API key)

What this source cannot tell you

  • Anything outside United States. A request past that edge comes back empty rather than approximated.
  • Which years it spans, because the covered period is not declared.
  • Anything SAM.gov Entity Management and Exclusions does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
  • Public API-key limits vary by account role.
  • A missing record does not prove that an entity does not exist.
  • Legacy D&B-supplied fields carry GSA-published attribution and permissible-use limits.

Methods (4)

A method is one call your agent can make against this source.

  • searchEntities

    read

    Search public SAM registrations by legal name, UEI, or CAGE code.

    FreshnessLive (source-level)
    Input schema
    {
      "type": "object",
      "properties": {
        "legalBusinessName": {
          "type": "string",
          "maxLength": 200
        },
        "uei": {
          "type": "string",
          "minLength": 12,
          "maxLength": 12
        },
        "cageCode": {
          "type": "string",
          "minLength": 5,
          "maxLength": 5
        },
        "registrationStatus": {
          "type": "string",
          "enum": [
            "A",
            "E"
          ]
        },
        "state": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "page": {
          "type": "integer",
          "minimum": 0,
          "maximum": 999
        }
      },
      "additionalProperties": false
    }

    At least one identity field is required.

  • getEntity

    read

    Retrieve an exact public SAM entity record by UEI.

    What you must provideuei
    FreshnessLive (source-level)
    Input schema
    {
      "type": "object",
      "properties": {
        "uei": {
          "type": "string",
          "minLength": 12,
          "maxLength": 12
        }
      },
      "required": [
        "uei"
      ],
      "additionalProperties": false
    }
  • searchExclusions

    read

    Screen active SAM exclusions by name, UEI, or CAGE code.

    FreshnessLive (source-level)
    Input schema
    {
      "type": "object",
      "properties": {
        "exclusionName": {
          "type": "string",
          "maxLength": 200
        },
        "uei": {
          "type": "string",
          "minLength": 12,
          "maxLength": 12
        },
        "cageCode": {
          "type": "string",
          "minLength": 5,
          "maxLength": 5
        },
        "classification": {
          "type": "string",
          "enum": [
            "Individual",
            "Firm",
            "Vessel",
            "Special Entity Designation"
          ]
        },
        "state": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "country": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "page": {
          "type": "integer",
          "minimum": 0,
          "maximum": 999
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10
        }
      },
      "additionalProperties": false
    }

    Name hits are potential matches until identifiers agree.

  • getServiceInfo

    read

    Describe SAM coverage, rate limits, methods, and caveats.

    FreshnessLive (source-level)
    Input schema
    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }

Where this source is used