The Tango MCP connector routes your AI agent's tool calls to Tango's own MCP server through Scalekit. Each user connects their own Tango API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 5 tools.
- Tools
- 5
- What they doRead · write · destructive
- 5 · 0 · 05 read0 write0 destructive
- Users sign in with
- API key
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Tango MCP connection
In AgentKit > Connections, create a Tango MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Console steps with screenshots
Register your Tango API key with Scalekit so it can authenticate and proxy federal procurement data requests on behalf of your users. Tango MCP uses API key authentication.
-
Get a Tango API key
- Go to the Tango developer portal and sign in.
- Click Manage Account in the top navigation.
- Under API Keys, your Default Key is shown — click Click to copy to copy it.
- To create additional keys, click Manage API keys →.

-
Create a connection in Scalekit
- In the Scalekit dashboard, go to AgentKit → Connections → Create Connection.
- Search for Tango MCP and click Create.
- Note the Connection name — use this as
connection_namein your code (e.g.,tangomcp).
-
Add a connected account
Connected accounts link a specific user identifier in your system to a Tango API key. Add one in the dashboard to test. In production, each user adds their own through the authorization link: they enter their credentials on the page it opens.
In the dashboard, to test
- Open the connection and click the Connected Accounts tab → Add account.
- Fill in Your User’s ID and API Key, then click Save.
From your backend, if your app already has the credentials
For example, when users enter them on a settings page in your app:
import { ConnectorStatus } from '@scalekit-sdk/node'const authorizationDetails = {details: {case: 'staticAuth',value: { details: { api_key: 'your-tango-api-key' } },},}let { connectedAccount } = await scalekit.actions.upsertConnectedAccount({connectionName: 'tangomcp',identifier: 'user_123',authorizationDetails,})// Make sure the account is ACTIVE before the first tool call.if (connectedAccount?.status !== ConnectorStatus.ACTIVE) {;({ connectedAccount } = await scalekit.actions.upsertConnectedAccount({connectionName: 'tangomcp',identifier: 'user_123',authorizationDetails,}))}authorization_details = {"static_auth": {"api_key": "your-tango-api-key"}}response = scalekit_client.actions.upsert_connected_account(connection_name="tangomcp",identifier="user_123",authorization_details=authorization_details,)# Make sure the account is ACTIVE before the first tool call.if response.connected_account.status != "ACTIVE":response = scalekit_client.actions.upsert_connected_account(connection_name="tangomcp",identifier="user_123",authorization_details=authorization_details,)
-
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'tangomcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Tango MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'tangomcp_search',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "tangomcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Tango MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="tangomcp_search",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Tango MCP server credentials there. If your app already has a user's credentials, add the account from your backend instead, as the console steps above show. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooltangomcp_fetch_api_docsFetch detailed Tango API documentation for a specific section.Read-onlyFetch API documentation
Fetch detailed Tango API documentation for a specific section. Use when you need the full list of filtering parameters, valid enum values, ordering options, response shaping syntax, or advanced query patterns beyond what the tool descriptions provide.
Inputs
sectionstringrequired- Documentation section to retrieve. Valid values: 'budget_accounts', 'contracts', 'entities', 'forecasts', 'gsa-elibrary', 'idvs', 'itdashboard', 'lcats', 'metrics', 'opportunities', 'otas', 'otidvs', 'protests', 'resolve', 'response-shaping', 'subawards', 'vehicles'.
tangomcp_get_detailsGet detailed information about a single item — entity, contract, IDV, vehicle, opportunity, OTA, OTIDV, organization, protest, SIN, GSA eLibrary contract, IT investment, NAICS/PSC code, budget account, DIBBS RFQ/RFP/award, SAM exclusion, or SBIR topic/solicitation.Read-onlyGet entity details
Get detailed information about a single item — entity, contract, IDV, vehicle, opportunity, OTA, OTIDV, organization, protest, SIN, GSA eLibrary contract, IT investment, NAICS/PSC code, budget account, DIBBS RFQ/RFP/award, SAM exclusion, or SBIR topic/solicitation. Use after search or resolve to drill into a specific record, optionally enriched with related data.
Inputs
idstringrequired- The identifier for the item — UEI, contract key, IDV key, vehicle UUID, opportunity ID, OTA key, OTIDV key, organization FH key, SIN code, GSA eLibrary contract UUID, IT investment UII, NAICS code, PSC code, or budget account id.
typestringrequired- The item type to retrieve details for. Note: 'subaward' is not supported here — use the search tool with type='subaward' and award_key filter instead.one of
entitycontractidvvehicleopportunityotaotidvorganizationprotestsubawardsingsa_elibrary_contractitdashboardnaicspscbudget_accountdibbs_rfqdibbs_rfpdibbs_awardexclusionsbir_topicsbir_solicitation attachment_idsstring- Opportunity only. Comma-separated attachment resource_ids (or exact filenames) to pull full extracted text for — the targeted alternative to include_attachment_text when you only need specific documents (Pro-tier).
attachment_offsetinteger- Opportunity only, used with attachment_ids. Character offset into each selected document's extracted text — pass the next_offset reported under attachment_text.partial[] to continue reading a document larger than the per-call budget. Ignored without attachment_ids.default
0 fieldsstring- Response shape for the primary item — comma-separated field names with optional nesting syntax (same as the search tool). Omit for comprehensive defaults.
include_attachment_textboolean- Opportunity only. When true, pulls the full extracted text of ALL file attachments inline (Pro-tier), capped by a per-call character budget.default
false include_relatedboolean- When true, enriches the response with related data from multiple endpoints (e.g. child awards for IDVs, socioeconomic status for entities, related opportunities for protests).default
false monthsinteger- Trailing window in months for spending-trend metrics (applies to entity, naics, and psc types). Default 24.default
24 periodstring- Metric bucketing period for time-series data — 'year', 'quarter', or 'month'. Default 'year'.one of
yearquartermonthdefaultyear
tangomcp_resolveFind entities, vehicles, NAICS/PSC codes, GSA MAS SINs, contracts, opportunities, IDVs, OTAs, subawards, organizations, and GAO bid protests matching a search query.Read-onlyResolve entities
Find entities, vehicles, NAICS/PSC codes, GSA MAS SINs, contracts, opportunities, IDVs, OTAs, subawards, organizations, and GAO bid protests matching a search query. Use this tool first when you have a name or keyword and need to discover what's in the data — returns identifiers (UEI, organization key, etc.) you can use with other tools.
Inputs
querystringrequired- Free text search — company name, organization name, vehicle name, NAICS code or keyword, PSC code, SIN code, etc.
limitinteger- Maximum number of results to return per entity type. Defaults to 5.default
5 typestring- Optional filter to restrict search to a specific entity type. When omitted, searches all types except itdashboard.
tangomcp_searchSearch contracts, IDVs, vehicles, GSA eLibrary Schedule holders, CALC labor rates, OTAs, OTIDVs, subawards, organizations, GAO bid protests, federal grants, federal budget accounts, DIBBS awards, SAM exclusions (debarments), and SAM entity registrations (vendors).Read-onlySearch
Search contracts, IDVs, vehicles, GSA eLibrary Schedule holders, CALC labor rates, OTAs, OTIDVs, subawards, organizations, GAO bid protests, federal grants, federal budget accounts, DIBBS awards, SAM exclusions (debarments), and SAM entity registrations (vendors). This is the primary data retrieval tool — use it to find records by vendor, organization, NAICS/PSC code, date range, or type-specific filters. Set include_summary=true to get aggregate statistics computed across a hard-capped sample of matching records. For appropriations data use type='budget_account'; for labor rate benchmarking use type='lcat'; for GSA Schedule holder lookups use type='gsa_elibrary'; for vendor debarment checks use type='exclusion'; for DLA parts spending use type='dibbs_award'; for vendor population/attribute queries use type='entity'.
Inputs
account_titlestring- Account title contains filter for budget account searches.
activate_date_afterstring- Activation date lower bound, YYYY-MM-DD (exclusion type only).
activate_date_beforestring- Activation date upper bound, YYYY-MM-DD (exclusion type only).
activestring- When true, restrict to exclusions in force today, derived at query time from the activate/termination dates (exclusion type only). A lapsed exclusion is not a change to the record.
agency_codestring- Integer CGAC agency code for itdashboard filter (itdashboard type only; Pro+ tier). Use keyword for free-tier text search.
agency_namestring- Text match on itdashboard agency name (itdashboard type only; Business+ tier).
award_date_endstring- Award date range end (YYYY-MM-DD).
award_date_startstring- Award date range start (YYYY-MM-DD).
award_keystring- Filter subawards by parent contract key (subaward type only).
award_numberstring- DIBBS award number, exact (dibbs_award type only). Use '|' for OR.
award_typestring- Award type code to filter by (e.g. 'A' for BPA Call, 'B' for Purchase Order, 'C' for Delivery Order, 'D' for Definitive Contract).
awardee_cagestring- Awardee CAGE code (dibbs_award type only).
awarding_orgstring- Filter by awarding organization — accepts a CGAC code (e.g. '7530' for CMS, '9700' for DOD), name, or abbreviation. Department codes roll up all agencies within that department.
bea_categorystring- BEA (Bureau of Economic Analysis) category filter for budget account searches (e.g. 'Discretionary', 'Mandatory').
bureau_namestring- Bureau name filter for budget account searches.
business_sizestring- Filter by business size code (lcat type only).
cage_codestring- CAGE code filter (exclusion type only).
cfda_numberstring- Assistance Listing (CFDA) number filter for grant searches.
cgacstring- Filter organizations by CGAC (Common Government-wide Accounting Classification) code (organization type only).
cio_ratingstring- Exact CIO risk rating filter: 1=high risk, 5=low risk (itdashboard type only; Business+ tier).
cio_rating_maxstring- Maximum CIO rating threshold — returns investments at or below this rating (itdashboard type only; Business+ tier).
classification_typestring- Exclusion classification type (exclusion type only).
contract_numberstring- Filter by GSA contract number (gsa_elibrary type only).
decision_date_endstring- Protest decision date range end, YYYY-MM-DD (protest type only).
decision_date_startstring- Protest decision date range start, YYYY-MM-DD (protest type only).
delistedstring- Filter by delisted status (exclusion type only).
delivery_order_numberstring- DIBBS delivery order number (dibbs_award type only).
docket_numberstring- Filter protests by GAO docket number (protest type only).
education_levelstring- Filter labor rates by education level requirement (lcat type only).
entity_statestring- US state filter for entity registrations (entity type only).
entity_ueistring- Entity UEI for labor rate lookup (lcat type only). Either idv_key or entity_uei is required for lcat searches.
excluding_agency_codestring- Excluding agency code (exclusion type only).
excluding_agency_namestring- Excluding agency name (exclusion type only).
exclusion_programstring- Exclusion program filter (exclusion type only).
exclusion_typestring- Exclusion type filter (exclusion type only).
expiring_endstring- Expiration date range end (YYYY-MM-DD). Filter contracts or IDVs expiring on or before this date.
expiring_startstring- Expiration date range start (YYYY-MM-DD). Filter contracts or IDVs expiring on or after this date.
federal_account_symbolstring- Exact federal account symbol (budget_account type). Format: CGAC-MAIN-SUB.
fieldsstring- Response shape — comma-separated field names with optional nesting to control which fields are returned per record. Example: 'key,piid,recipient(display_name),obligated'.
filed_date_endstring- Protest filing date range end, YYYY-MM-DD (protest type only).
filed_date_startstring- Protest filing date range start, YYYY-MM-DD (protest type only).
fiscal_yearstring- Exact fiscal year match (e.g. 2024).
fiscal_year_endstring- Fiscal year range end (inclusive).
fiscal_year_startstring- Fiscal year range start (inclusive).
funding_instrumentsstring- Funding instrument filter for grant searches (e.g. 'Grant', 'Cooperative Agreement').
funding_orgstring- Filter by funding organization (code, name, or abbreviation). More reliable than awarding_org for finding contracts that serve a particular mission organization.
grant_idstring- Exact grant identifier for grant searches.
idv_count_maxstring- Maximum number of award IDVs under the vehicle (vehicle type only).
idv_count_minstring- Minimum number of award IDVs under the vehicle (vehicle type only).
idv_keystring- IDV contract key for labor rate lookup (lcat type only). Either idv_key or entity_uei is required for lcat searches.
idv_typestring- IDV type filter (idv type only). Examples: 'IDC' (Indefinite Delivery Contract), 'BPA' (Blanket Purchase Agreement), 'BOA' (Basic Ordering Agreement), 'FSS' (Federal Supply Schedule), 'GWAC' (Government-Wide Acquisition Contract).
include_inactivestring- Include inactive organizations in results (organization type only). Defaults to false.
include_summaryboolean- When true, computes aggregate stats across up to 500 matching records: total obligated, vendor count, set-aside distribution, NAICS distribution, and organization distribution.default
false investment_typestring- Filter itdashboard records by investment type string, e.g. 'Major Investments' (itdashboard type only; Pro+ tier).
keywordstring- Full-text search across descriptions and other text fields.
labor_categorystring- Filter labor rates by category name (lcat type only).
last_date_to_order_endstring- Last date to order range end (YYYY-MM-DD). Applies to IDV and vehicle searches.
last_date_to_order_startstring- Last date to order range start (YYYY-MM-DD). Applies to IDV and vehicle searches.
levelstring- Filter organizations by hierarchy level (organization type only). 1=department, 2=agency, 3=bureau, etc.
limitinteger- Maximum number of results to return. Defaults to 25.default
25 min_years_experience_gtestring- Minimum experience floor — filter labor rates requiring at least this many years of experience (lcat type only).
min_years_experience_ltestring- Maximum experience ceiling — filter labor rates requiring at most this many years of experience (lcat type only).
naics_codestring- Filter by NAICS (North American Industry Classification System) code.
npistring- National Provider Identifier filter (exclusion type only).
nsnstring- National Stock Number, exact (dibbs_award type only). Use '|' for OR.
obligated_gtestring- Obligated amount in USD — greater than or equal to. Filter for contracts with at least this obligation.
obligated_ltestring- Obligated amount in USD — less than or equal to. Filter for contracts with at most this obligation.
on_off_budgetstring- On/off-budget flag filter for budget account searches.
opportunity_numberstring- Grant opportunity number filter.
orderstring- Sort direction — 'asc' or 'desc'. Defaults to 'desc' (most recent/largest first).
order_count_maxstring- Maximum number of task orders under the vehicle (vehicle type only).
order_count_minstring- Minimum number of task orders under the vehicle (vehicle type only).
org_typestring- Filter organizations by type string (organization type only).
organizationstring- Federal-hierarchy key of the buying organization (dibbs_award type only). Always DLA.
outcomestring- Filter protests by outcome (protest type only). Valid values: 'Denied', 'Dismissed', 'Withdrawn', 'Sustained'.
parentstring- Filter organizations by parent organization key (organization type only).
part_numberstring- Manufacturer part number, exact (dibbs_award type only).
performance_riskstring- When true, return only itdashboard investments with at-risk performance metrics (itdashboard type only; Business+ tier).
piidstring- Procurement Instrument Identifier — the contract number.
pop_end_date_endstring- Period of performance end date range — upper bound (YYYY-MM-DD).
pop_end_date_startstring- Period of performance end date range — lower bound (YYYY-MM-DD).
pop_start_date_endstring- Period of performance start date range — upper bound (YYYY-MM-DD).
pop_start_date_startstring- Period of performance start date range — lower bound (YYYY-MM-DD).
posted_date_afterstring- Posted date lower bound, YYYY-MM-DD (dibbs_award type only).
posted_date_beforestring- Posted date upper bound, YYYY-MM-DD (dibbs_award type only).
posted_date_endstring- Posted date upper bound (YYYY-MM-DD; grant type).
posted_date_startstring- Posted date lower bound (YYYY-MM-DD; grant type).
price_gtestring- Minimum hourly rate in USD (lcat type only).
price_ltestring- Maximum hourly rate in USD (lcat type only).
prime_ueistring- Filter subawards by prime contractor UEI (subaward type only).
program_acronymstring- Filter by vehicle program acronym, e.g. 'OASIS+', 'SEWP', 'STARS' (vehicle type only).
protester_namestring- Filter protests by protester company name (protest type only).
psc_codestring- Filter by PSC (Product Service Code).
purchase_requeststring- Purchase request number (dibbs_award type only).
recipient_namestring- Filter by vendor name. Requires near-exact match including suffixes like ', INC.'. If 0 results, the tool automatically retries using the name as a keyword.
recipient_ueistring- Filter by vendor UEI (Unique Entity Identifier). Preferred over recipient_name for precise filtering; use the resolve tool to find the correct UEI.
schedulestring- Filter by GSA Schedule name, e.g. 'MAS' (gsa_elibrary type only).
security_clearancestring- Filter by security clearance requirement (lcat type only).
set_aside_typestring- Filter by set-aside type code (e.g. 'SBA' for small business, '8AN' for 8(a)). See tango://reference/set-asides for valid codes.
sinstring- Filter by SIN (Special Item Number) code (gsa_elibrary and lcat types). Not valid for contract-type searches — use type='gsa_elibrary' with sin= to find MAS Schedule holders.
socioeconomicstring- SAM business-type code(s), pipe-OR supported, e.g. 'OY|A2' (entity type only). NOT set-aside codes. Call fetch_api_docs("entities") for the full table.
solicitation_identifierstring- Solicitation identifier to filter by. Also usable for protest searches to filter by the associated solicitation.
sortstring- Field to sort results by. For contracts: 'award_date', 'obligated'. For grants: 'posted_date'. For budget accounts: 'obligated_total' or 'enacted_ba'.
statusstring- Status filter for grant searches (e.g. 'posted', 'forecasted', 'closed').
sub_ueistring- Filter subawards by subcontractor UEI (subaward type only).
termination_date_afterstring- Termination date lower bound, YYYY-MM-DD (exclusion type only).
termination_date_beforestring- Termination date upper bound, YYYY-MM-DD (exclusion type only).
total_contract_price_maxstring- Maximum order total in USD (dibbs_award type only).
total_contract_price_minstring- Minimum order total in USD (dibbs_award type only). The whole ORDER's total, repeated on every line item.
total_obligated_maxstring- Maximum total dollars obligated under the vehicle (vehicle type only).
total_obligated_minstring- Minimum total dollars obligated under the vehicle (vehicle type only).
typestring- What record type to search. Options: contract (default), idv, vehicle, all (contracts+IDVs), ota, otidv, subaward, organization, protest, gsa_elibrary, lcat, itdashboard, grant, budget_account.default
contract update_date_afterstring- Last-updated date lower bound, YYYY-MM-DD (exclusion type only).
update_date_beforestring- Last-updated date upper bound, YYYY-MM-DD (exclusion type only).
updated_afterstring- Only include itdashboard records updated on or after this date, YYYY-MM-DD (itdashboard type only; Pro+ tier).
updated_beforestring- Only include itdashboard records updated on or before this date, YYYY-MM-DD (itdashboard type only; Pro+ tier).
vehicle_typestring- Filter by vehicle type, e.g. 'GWAC', 'BPA', 'MAS', 'MAC' (vehicle type only).
who_can_usestring- Filter by eligible user pool, e.g. 'Government-wide', 'Agency-specific' (vehicle type only).
worksitestring- Filter by work location type (lcat type only).
tangomcp_search_opportunitiesSearch open federal pre-award procurement records — SAM.gov opportunities, procurement forecasts, DLA DIBBS RFQs/RFPs, and SBIR/STTR topics and solicitations.Read-onlySearch Opportunities
Search open federal pre-award procurement records — SAM.gov opportunities, procurement forecasts, DLA DIBBS RFQs/RFPs, and SBIR/STTR topics and solicitations. Filter by organization, NAICS/PSC code, set-aside type, notice type, place of performance, response deadline, and family-specific filters (nsn/part_number for DIBBS, topic_number/program for SBIR). Returns a list of matching records with total count.
Inputs
activestring- Filter active or inactive opportunities.
activitystring- SBIR lifecycle, derived at query time — 'open', 'closed', or (topics only) 'unknown' for topics with no usable date roster (SBIR only). Prefer this over active for SBIR.
award_date_afterstring- Anticipated award date lower bound (YYYY-MM-DD, forecasts only).
award_date_beforestring- Anticipated award date upper bound (YYYY-MM-DD, forecasts only).
buyer_codestring- DLA buyer code (dibbs_rfp only).
cycle_namestring- Solicitation cycle name (sbir_solicitation only).
doc_sourcestring- Source document collection (sbir_topic only).
fieldsstring- Response shape — specify which fields to return. Valid top-level fields: opportunity_id, title, description, solicitation_number, naics_code, psc_code, set_aside, response_deadline, first_notice_date, last_notice_date, active, award_number, notice_history, office, place_of_performance, primary_contact, attachments, meta, sam_url. Use "office(*)" to get agency, department, and office details. Omit for sensible defaults.
first_notice_date_afterstring- First notice date lower bound (YYYY-MM-DD).
first_notice_date_beforestring- First notice date upper bound (YYYY-MM-DD).
fiscal_yearstring- Exact fiscal year match (forecasts only).
fiscal_year_endstring- Fiscal year range end (forecasts only).
fiscal_year_startstring- Fiscal year range start (forecasts only).
keywordstring- Search text across titles and descriptions of opportunities.
last_notice_date_afterstring- Last notice date lower bound (YYYY-MM-DD).
last_notice_date_beforestring- Last notice date upper bound (YYYY-MM-DD).
limitinteger- Max results to return (default 25).default
25 modified_afterstring- Modified date lower bound (YYYY-MM-DD, forecasts only).
modified_beforestring- Modified date upper bound (YYYY-MM-DD, forecasts only).
naics_codesstring- List of NAICS codes to filter by.
naics_starts_withstring- NAICS code prefix filter (forecasts only).
notice_typestring- Filter by notice type. Accepts a single-letter code or human-readable name. Codes: p (Pre solicitation), k (Combined Synopsis/Solicitation), o (Solicitation), a (Award Notice), m (Modification/Amendment/Cancel), r (Sources Sought), s (Special Notice), u (Justification), i (Intent to Bundle), g (Sale of Surplus Property).
nsnstring- National Stock Number, exact (dibbs_rfq/dibbs_rfp only). Use '|' for OR.
orderingstring- Ordering field (for example: last_notice_date or -response_deadline).
orgstring- Organization filter — accepts a code, name, or abbreviation (e.g. "VA", "CMS", "7500").
organizationstring- Federal-hierarchy key of the DLA buying organization (DIBBS only). Not the same as org — DIBBS is always DLA, so this narrows within DLA.
out_of_cyclestring- Whether the solicitation is out of cycle (sbir_solicitation only).
part_numberstring- Manufacturer part number, exact (dibbs_rfq/dibbs_rfp only).
place_of_performancestring- Place of performance text filter.
programstring- 'SBIR' or 'STTR' (sbir_solicitation only). Topics have no program filter; filter topics via solicitation_number instead.
psc_codesstring- List of PSC codes to filter by.
purchase_requeststring- Purchase request number (dibbs_rfq only).
quantity_maxstring- Maximum quantity requested (dibbs_rfq only).
quantity_minstring- Minimum quantity requested (dibbs_rfq only).
release_date_afterstring- Release-date lower bound (sbir_topic only). A topic is released, then opens, then closes — this is the earliest of the three, distinct from first_notice_date_*.
release_date_beforestring- Release-date upper bound (sbir_topic only).
response_deadline_afterstring- Only include opportunities due after this date (YYYY-MM-DD).
response_deadline_beforestring- Include opportunities due before this date (YYYY-MM-DD).
set_aside_flagstring- DIBBS set-aside flag — 'Y' or 'N' (dibbs_rfq only). A yes/no flag, not a set-aside program type; use set_aside_types for 8(a)/SDVOSB/etc. on opportunities.
set_aside_typesstring- List of set-aside type codes to filter by (e.g. ["SBA", "8AN"]). See tango://reference/set-asides for valid codes.
solicitation_numberstring- Solicitation number filter.
solicitation_statusstring- sbir.gov's own raw Open/Closed string (SBIR only). Source data, distinct from the derived activity field — they can disagree.
source_systemstring- Source system filter (forecasts only).
statusstring- Status filter (forecasts only). Examples: "Draft", "Final".
status_codestring- 11-character composite DIBBS status code, e.g. 'DLK00L1N000' (dibbs_rfq only). Unrelated to status and solicitation_status.
topic_numberstring- SBIR topic number, exact (sbir_topic only).
typestring- What to search — "opportunity" (default), "forecast", "dibbs_rfq", "dibbs_rfp", "sbir_topic", or "sbir_solicitation".default
opportunity yearstring- Solicitation year, exact (SBIR only). Not a fiscal year — use fiscal_year for forecasts.
No tools match.