Skip to content

Teaming Partner Finder

Updated

Find federal contractors with proven past performance for a NAICS, agency, state, or set-aside, ranked by dollars won, with named points of contact. JSON, one GET.

Factual, not scored.

This returns the firms and their verifiable record, who has actually won the work and how to reach them. It does not rank "winnability" or tell you who to pick, and it does not map who subcontracts to whom. You make the call.

Finding a teaming partner or a subcontractor for a federal bid means answering one question: who has actually done this kind of work? Registration directories (SBA DSBS, SAM entity search) tell you who is registered in a NAICS, including firms that have never won a dollar. They do not tell you who has real past performance, for which agency, at what scale, or who to call. This endpoint does. Pass a NAICS, agency, state, or set-aside, get back the firms that have won matching prime contracts, ranked by gross obligated dollars, each with its socioeconomic status, SAM registration, and named points of contact.

Who this is for: primes assembling a bid team, small firms looking for primes to sub under, BD teams researching counterparties, and developers building teaming, capture, or supplier-discovery tools.

What this is NOT: a subaward relationship graph. We surface prime past performance plus contacts; we do not claim to show existing prime-to-sub teaming arrangements. For who registered but never won, use Federal Contractor Search instead.

What you can filter on

At least one filter is required, the endpoint will not dump the whole corpus. Filters combine (AND). The teaming partner search endpoint documents every parameter and the response it returns.

  • naics=<code>: NAICS code, exact, 2 to 6 digits (e.g. 541512).
  • agency=<name>: awarding agency name or acronym, resolved through the agency crosswalk (e.g. Army, Navy, Air Force, USACE). This is the only contractor endpoint that filters by agency.
  • state=<XX>: 2-letter place-of-performance state (e.g. TX).
  • set_aside=<flag>: one of sdvosb, vosb, wosb, woman_owned, hubzone, 8a, sdb, minority_owned.
  • psc=<code>: Product or Service Code, exact.
  • keywords=<text>: matches the prime-award description text.

Results are ranked by gross obligated dollars (most recent award breaks ties). Pagination via limit (1-50, default 20) and offset (0-200). The response includes pagination.total, the exact distinct-firm count for your filters.

Worked examples

Real queries, real results (curl-pasted from production).

SDVOSB IT firms in Virginia (NAICS 541512).

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://govconapi.com/api/v1/partners/search?set_aside=sdvosb&state=VA&naics=541512&limit=1"

135 firms; top is Liberty IT Solutions, $228M

{
  "data": [
    {
      "uei": "GLGMWJ8EVMR9",
      "name": "LIBERTY IT SOLUTIONS LLC",
      "contracts": 5,
      "gross_obligated": 228028115.0,
      "last_award_date": "2025-03-20",
      "set_asides": ["sdvosb", "vosb", "sdb"],
      "agencies": ["Department of Veterans Affairs"],
      "registration_status": "A",
      "location": "MC LEAN, VA",
      "primary_naics": "541512",
      "pocs": [
        {"name": "Bryan Jones", "title": null, "city": "Mclean", "state": "VA", "roles": ["govt_business_primary"]},
        {"name": "Caitlin Kowalski", "title": null, "city": "Mclean", "state": "VA", "roles": ["govt_business_alt"]}
      ],
      "excluded": false
    }
  ],
  "pagination": {"limit": 1, "offset": 0, "total": 135, "total_is_estimate": false, "has_next": true},
  "filters_applied": {"naics": "541512", "state": "VA", "set_aside": "sdvosb"},
  "_sources": ["usaspending_fpds", "sam_entities"]
}

Heavy-civil construction firms doing Army work in Texas (NAICS 237990).

curl -H "Authorization: Bearer YOUR_KEY" \
  "https://govconapi.com/api/v1/partners/search?naics=237990&agency=Army&state=TX"

49 firms; top: Kiewit ($404M), Orion Marine Construction ($111M), Great Lakes Dredge & Dock ($50M)

The agency=Army filter is what makes this query possible: a registry search cannot tell you who has won Army work specifically.

Response shape

One object per firm in data[], ranked by gross_obligated descending:

  • uei, name: SAM unique entity ID and legal business name.
  • contracts: distinct prime contract awards matching your filters.
  • gross_obligated: sum of positive federal obligations on those awards (USD).
  • last_award_date: most recent matching award action date.
  • set_asides: socioeconomic categories the firm has actually won under.
  • agencies: awarding sub-agencies on the matching awards (up to 5).
  • registration_status, location, primary_naics: from SAM.
  • pocs[]: named SAM points of contact, each with name, title, city, state, and roles[]. No email or phone, SAM registration POCs do not carry them.
  • excluded: false when the firm is clear of the active federal exclusion (debarment) list, true when currently debarred. On true, an exclusions[] block carries exclusion_type, excluding_agency, activate_date, classification, and is_fascsa. A lifted or terminated debarment does not flag; every recommended firm is screened, so excluded: false is a positive clearance, not an absence of data.

pagination carries total (exact distinct-firm count), total_is_estimate (always false), and has_next. Every response also carries _sources.

When to use this vs the other contractor products

You want to Use Backed by
Find firms with proven past performance for a NAICS, agency, state, or set-aside, ranked, with who to call this (/partners/search) FPDS awards + SAM contacts
Find firms registered for work by NAICS, state, or certification (including firms that have won nothing) Federal Contractor Search SAM registry
Vet or profile one firm you already have, by UEI Company Intelligence SAM + FPDS

Short version: registry and capability go to Federal Contractor Search; proven performance with contacts comes from here; vetting a known firm goes to Company Intelligence. This is the only one of the three that filters by awarding agency, ranks by dollars won, and returns points of contact.

Combining with other endpoints

  • /api/v1/companies/{uei} (Pro): take any uei from a result and pull the firm's full award history, top agencies, NAICS spread, and subaward revenue.
  • /api/v1/offices?naics={code} (Free): see which specific contracting offices buy this NAICS and how contested each is (average offers per award, single-bidder share, set-aside lean), to target the office alongside the partner.
  • /api/v1/entities/search (every plan): widen to the full registry when you also want firms that are registered but have not yet won.
  • /api/v1/exclusions/search?uei={uei} (Developer): every result already carries an excluded flag, so use this when you want the full exclusion record behind a flagged firm (type, agency, dates, history).
  • /api/v1/vendor-risk/bulk (Pro): screen up to 100 UEIs from your shortlist in one call.

What this doesn't do (data caveats)

Contacts are names, not direct lines.

SAM registration points of contact carry name, role, and city/state. They do not include email or phone. You get who to look for at each firm, not a dial-by-number.

It is past performance, not a teaming graph.

Results rank firms by the prime contracts they have won for your filters. It does not show existing prime-to-sub relationships (who already teams with whom). The subaward (FFATA) teaming layer is thin, FY2025 onward, and is not part of this endpoint.

Performance window is FY2025 onward.

Prime contract performance is FPDS data from October 1, 2024 forward, refreshed daily. A firm with a strong record before then but quiet since will rank lower than its all-time history would suggest.

Agency is crosswalk-resolved, not a free-text match.

agency=Army resolves to the awarding agencies under the Department of the Army. Pass the common name or acronym; obscure sub-office strings may not resolve.

Built against bulk extraction.

This surfaces contact data, so it is rate-limited tighter than general search: 15 requests/minute per IP, 20/minute per key, pages capped at 50, pagination depth capped at 200 (the top ~250 firms per query). Narrow your filters to reach different firms; bulk dumping is not supported by design.

Pricing

The partner finder is on the Pro plan ($39/mo).

  • Pro ($39/mo): this endpoint, plus Company Intelligence, the registration-expiration radar, seven-signal vendor-risk screening, and contracting-officer contacts. (Federal Contractor Search is on every plan.)

Row by row, the current list is the comparison table on Pricing. - Developer ($19/mo): opportunity, contract, subaward, and exclusion search; single-UEI and single-CAGE lookup.

No annual contracts, no setup fees, monthly billing via Stripe. Cancel anytime.

FAQ

Does this show who actually subcontracts to whom?

No. It ranks firms by the prime contract work they have won for your filters and gives you their points of contact. It does not map subaward (FFATA) teaming relationships; that data is thin (FY2025 onward) and is not in this endpoint. Use it to find capable firms and reach them, then qualify the relationship yourself.

Do the points of contact include email and phone?

No. SAM registration points of contact carry name, role, and city/state, not email or phone. You get who to look for at each firm, not a direct dial.

How are results ranked?

By gross obligated dollars on the matching prime contract awards, most recent award breaking ties. It is a factual sort, not a winnability score.

How far back does the past-performance data go?

Prime contract performance is FPDS data from FY2025 (October 1, 2024) onward, refreshed daily. Firm profiles and contacts come from the current SAM registry.

How is this different from a contractor registry search?

A registry search returns firms that are registered, including firms that have never won anything, with no dollars, agency, or contacts. This returns only firms with real past performance for your filters, ranked by what they won, with named contacts, and it is the only one that filters by awarding agency.

A REST API and MCP server for U.S. federal procurement data.

Get a free key, emailed instantly, or follow the quickstart.

Found something wrong, missing or confusing on this page?

Press Ctrl + Enter to send a note. Highlight text first and it travels with your note.