sam_set_aside_opportunities

Pack: samgov · Endpoint: https://gateway.pipeworx.io/samgov/mcp

Find federal contract opportunities reserved for a specific class of small business — total or partial small business, 8(a), women-owned (WOSB/EDWOSB), HUBZone, service-disabled veteran-owned (SDVOSB), veteran-owned, Indian small business economic enterprise and Buy Indian. Answers “what HUBZone contracts are open”, “recent 8(a) set-asides”, “women-owned small business opportunities in NAICS 541512”. Reads SAM.gov’s public daily Contract Opportunities extract, so it costs no API key and works on the plain code (SBA, HZC, SDVOSBC, 8A, WOSB) or on the ordinary phrasing (“HUBZone”, “women-owned”, “8(a)”, “service-disabled veteran”). Returns titles, solicitation numbers, deadlines, agencies and NAICS, with a mirror field reporting how fresh the snapshot is.

Parameters

NameTypeRequiredDescription
set_asidestringyesSet-aside type (required). Either the SAM.gov code — SBA (total small business), SBP (partial), 8A, 8AN (8(a) sole source), WOSB, EDWOSB, HZC (HUBZone), HZS (HUBZone sole source), SDVOSBC, SDVOSBS, VSA (veteran-owned), ISBEE, IEE, BICiv — or the ordinary phrasing (“small business”, “HUBZone”, “women-owned”, “8(a)”, “service-disabled veteran”), which is resolved to the code for you.
keywordstringnoOptional keyword to narrow results
naicsstringnoOptional NAICS code filter
limitnumbernoNumber of results to return (1-100, default 10)
_apiKeystringnoOptional — omit it. This search answers keyless from the local snapshot of SAM.gov’s public Contract Opportunities extract; a key is needed only to reach postings newer than that snapshot.

Example call

Arguments

{
  "set_aside": "SDVOSB",
  "keyword": "construction",
  "limit": 25
}

curl

curl -X POST https://gateway.pipeworx.io/samgov/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"sam_set_aside_opportunities","arguments":{"set_aside":"SDVOSB","keyword":"construction","limit":25}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('sam_set_aside_opportunities', {
  "set_aside": "SDVOSB",
  "keyword": "construction",
  "limit": 25
});

More examples

{
  "set_aside": "HUBZone"
}

Response shape

Always returns: set_aside_type, total_records, limit, opportunities

FieldTypeDescription
set_aside_typestringSet-aside type being searched
total_recordsnumberTotal number of matching set-aside opportunities
limitnumberNumber of results returned in this request
opportunitiesarray
Full JSON Schema
{
  "type": "object",
  "properties": {
    "set_aside_type": {
      "type": "string",
      "description": "Set-aside type being searched"
    },
    "total_records": {
      "type": "number",
      "description": "Total number of matching set-aside opportunities"
    },
    "limit": {
      "type": "number",
      "description": "Number of results returned in this request"
    },
    "opportunities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Opportunity title"
          },
          "solicitation_number": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unique solicitation identifier"
          },
          "department": {
            "type": [
              "string",
              "null"
            ],
            "description": "Procuring department/agency"
          },
          "sub_tier": {
            "type": [
              "string",
              "null"
            ],
            "description": "Sub-tier agency code"
          },
          "office": {
            "type": [
              "string",
              "null"
            ],
            "description": "Procuring office name"
          },
          "posted_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date opportunity was posted"
          },
          "response_deadline": {
            "type": [
              "string",
              "null"
            ],
            "description": "Proposal response deadline"
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "Procurement type"
          },
          "set_aside": {
            "type": [
              "string",
              "null"
            ],
            "description": "Small business set-aside type"
          },
          "naics_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Primary NAICS code"
          },
          "classification_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Classification code"
          },
          "active": {
            "type": [
              "string",
              "null"
            ],
            "description": "Active status indicator"
          },
          "ui_link": {
            "type": [
              "string",
              "null"
            ],
            "description": "URL to opportunity details on SAM.gov"
          }
        }
      }
    }
  },
  "required": [
    "set_aside_type",
    "total_records",
    "limit",
    "opportunities"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "samgov": {
      "url": "https://gateway.pipeworx.io/samgov/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 10, 2026