Federal subaward (FFATA) data
Every federal prime contractor over the FFATA threshold must report each sub-vendor they pay more than $30K under a federal contract. That public filing is now queryable as clean JSON: map any prime contractor's supply chain, see the real federal revenue of small businesses (sub income is often the larger half), or pull every sub on one prime contract. Four new endpoints: /api/v1/subawards/search (filter by prime UEI, sub UEI, prime PIID, agency, NAICS, sub name), /api/v1/subawards/{report_id}, /api/v1/companies/{uei}/subawards (subs paid by a prime, with summary leaderboard), /api/v1/companies/{uei}/prime-relationships (primes that paid a sub, with top-10 paying-primes leaderboard). Coverage today is FY2025 + FY2026 (October 2024 onward), refreshed daily from USAspending with ~2-day source lag. Pro plan. Subawards guide →
Subaward context on the rest of the API
On endpoints you're already calling, Pro responses now include subaward context inline so you don't need a second round-trip. A few concrete examples from prod, same keys, same auth:
GET /api/v1/awards/N0001918C1037 (Navy IDIQ to Northrop Grumman, $49.67M) now returns a subaward_rollup showing 570 downstream sub-payments to 136 distinct sub-vendors totaling $226.7M, plus the named top 5 (Lockheed Martin $22.32M, Triumph Actuation $19.54M, …). One call instead of impossible.
GET /api/v1/companies/E7XWKERHVVD9 (TVAR Solutions, LLC) used to show $247K won as a prime. The same call now adds sub_revenue_total of $4.24B (Raytheon paid them $4.20B as a sub) and a prime_revenue_share of 0.0001. The prime-only view was missing 99.99% of their federal revenue. Common case for SMBs.
GET /api/v1/exclusions/SMFQMVEAJVM9 (HM 2 Mechanical, NASA Voluntary Exclusion since 2023-08-02) used to return just the exclusion record. The same call now adds recent_sub_payments showing $158K received from Amentum Spaceport LLC as recently as 2025-08-19, two years into the exclusion. The compliance question goes from "are they debarred?" to "are they still being paid?" in one call.
/vendor-risk/{uei} gains a top-level subaward_exposure block (descriptive only, not part of triage) so compliance teams read supply-chain blast radius alongside the seven existing signals. /entities/{uei} and /entities/by-cage/{cage} gain sub_revenue_total + top_paying_primes so vendor onboarding sees federal scale alongside the SAM registration.
All blocks are silently omitted on non-Pro keys; existing integrations keep working unchanged. Subawards guide →
Search window visible in every response
/opportunities/search returns a top-level window block on every response: the plan window in days, the earliest searchable date, a clamped flag, and a ready-to-display reason string. Surface "showing results from the last 24 months" directly in your UI without computing it client-side, and distinguish a request with no date from one whose date fell outside the window. active_only is echoed in filters_applied when set, so a client can confirm the filter applied.
Consistent parameters across endpoints
A round of cross-endpoint consistency to make it easier to share code across calls. /awards/search accepts date_from / date_to, mirroring opportunities. /companies/{uei}/awards accepts sort_by + sort_order, with ascending order supported. Company and entity name searches accept queries up to 250 characters for long pasted legal names. value_min and value_max on opportunities accept 0, matching amount_min / amount_max on awards. List endpoints expose the row array under both data and results, so a single client can read every list endpoint with one code path. Invalid sort fields return a clear 400 with the list of valid options. /api/v1/federal-hierarchy accepts requests with or without the trailing slash.
Clearer guidance on UEI exclusion checks
The 404 body on GET /api/v1/exclusions/{uei} now spells out the FAR 9.404 screening gap: ~80% of SAM exclusions are individuals or entities with no UEI, so a clean UEI lookup is not a full screen. The body points callers at /exclusions/search?name=<legal_name> to complete the check. Same guidance as the docs, surfaced inline where the decision happens.
Exact response deadlines and accurate posting dates
Response deadlines now include the exact closing time, not just the day, whenever SAM provides one, so you can see and sort by when a solicitation actually closes. The field stays a full UTC timestamp (ISO 8601 with offset) you can convert to any timezone; notices that list only a date are returned as that date. Posting dates now match SAM.gov's official calendar date for every notice, including those published late in the day.
Faster search at every plan tier
To keep response times steady as the dataset grew, search endpoints (/opportunities/search, /awards/search, /export.csv) now operate within a per-plan window: Free 90 days, Developer 12 months, Pro 24 months. It's a guardrail against the handful of scripts pulling the full database, so normal workflows aren't affected. Older date filters quietly clamp to the window (no 400s, no breaking changes). Lookups by ID (single notice, full company award history, entity profiles) keep returning records at any age. Check your effective window in GET /api/v1/me. Details → Need a wider window? Email us.
Expanded FY2025 coverage
The opportunities index now spans FY2025 (October 2024) onward in full detail. 10,542 new federal contractor profiles with award history are available to /companies and /vendor-risk callers. The /api/v1/stats response now includes a coverage field documenting the temporal scope; the same is noted at the top of /api-guide.
Enterprise tier
/enterprise for high-volume customers above Pro: bulk rate limits, SLA, dedicated support, custom contracts, and direct slack/email line. Form-based inquiry instead of self-serve checkout.
Contacts API
GET /api/v1/contacts/lookup resolves federal contracting officers by name, email, or agency. Up to 5 matches per query with role, current agency, location, and last-seen date. Pro tier. Details →
LLM-ingestible documentation
/docs/llms.txt and /docs/all.md publish the full API reference as single-file plain-text bundles for Claude Code, Cursor, ChatGPT, and any AI coding tool to ingest in one shot. Vendor your own copy in .cursor/rules or project context.
Free federal contractor search
/federal-contractor-search opens the 873K SAM entity registry as a no-account public lookup. Search by name, filter by certifications, see registration status. Top 25 results per query, with a clean upgrade path to the full API.
Search experience upgrades
Six search and list endpoints now accept ?fields= to return only the columns you need, dropping payload size 80-95% when you only care about a few columns. ?sort_by=relevance ranks keyword hits by match quality. ?active_only=true filters to currently-open notices in one parameter. Bad query parameters return 400 with valid alternatives instead of silently dropping. Response shaping →
Capabilities tour
Single page covering all 12 capabilities the API exposes: opportunities, awards, 873K SAM entities, exclusions, vendor risk, contracting-officer contacts, MCP, attachments. Each capability shows the tier required, the endpoint, a working curl example, and concrete use cases. Browse capabilities →