Introduction
The Boring Data Platform API serves federal procurement data as one normalized API contract. SAM.gov, DIBBS, USAspending, and SAM.gov lakehouse feeds return predictable data responses, cursor page objects where needed, and a consistent top-level error object for failures.
This page is your entry point. Start with Authentication to grab a key, skim Rate limits so you know your budget, then try the first REST call below. If you'd rather use an agent, use the MCP agents guide.
https://api.boringdataplatform.com/v1/opportunities?source=sam_current&limit=5curl "https://api.boringdataplatform.com/v1/opportunities?source=sam_current&limit=5" \
-H "Authorization: Bearer <YOUR_API_KEY>"Authentication
Every request to /v1/* requires a bearer token in the Authorization header or an x-api-key header. API keys are generated from the console and use the strata_live_… prefix. They never expire until revoked.
Rate limits
Per-key sliding-window limits are shared across REST and MCP. A tool call on the MCP surface costs one request against the same monthly budget. Response headers X-RateLimit-Remaining and X-RateLimit-Reset tell you exactly how much budget is left.
| Name | Type | Description |
|---|---|---|
| Sandbox | 60 rpm | Hard cap at 5,000 requests/month. |
| Starter | 600 rpm | Hard cap at 10,000 requests/month. |
| Developer | 600 rpm | Hard cap at 500,000 requests/month. |
| Enterprise | Custom | Negotiated volume & rate limits. |
GET /v1/opportunities
/v1/opportunitiesCanonical opportunity threads. Filter by source or free-text, then fetch a detail record by recordId to get summary, documents, history, and analysis in one response.
| Name | Type | Description |
|---|---|---|
| source | enum | Filter to sam_current, sam_archive, or dibbs. |
| q | string | Optional free-text search across opportunity summaries. |
| limit | integer | Cursor-page size. Values between 1 and 100. |
https://api.boringdataplatform.com/v1/opportunities?source=dibbs&limit=10curl "https://api.boringdataplatform.com/v1/opportunities?source=dibbs&limit=10" \
-H "Authorization: Bearer <YOUR_API_KEY>"application/json{
"data": [
{
"recordId": "00000000-0000-4000-8000-000000000002",
"threadKey": "dibbs:SPE4A626U2442",
"summary": {
"sourceName": "dibbs-rfqs-posted-date",
"sourceFamily": "dibbs",
"noticeId": "SPE4A626U2442",
"title": "Screw, Machine",
"agencyName": "DLA Land and Maritime"
},
"documents": {
"hasPackagePage": true,
"hasPdf": true,
"hasExtractedText": true,
"hasTechnicalDocuments": true,
"attachmentCount": 7
}
}
],
"page": { "limit": 10, "nextCursor": null }
}GET /v1/notices
/v1/noticesSource-verbatim notices (the raw record before threading). Use when you need exactly what a source published, not the merged canonical view.
GET /v1/changes
/v1/changesIncremental sync. Cursor-based pagination with updatedSince to resume where you left off.
GET /v1/opportunities/analysis
/v1/opportunities/analysisStructured filtering across the canonical opportunity stream. Query by source, sourceFamily, status, category, setAside, contractType, deliveryRegion, naics, office, and feature flags (hasExtractedText, hasPdf, hasAward, hasTechnicalDocuments). Pair with /v1/opportunities/analysis/rollups for aggregated facet counts.
GET /v1/awards
/v1/awardsFederal contract award actions from USAspending.gov. Filter by vendor_uei, awarding_agency_code, naics_code, psc_code, piid, fiscal year, or action-date window. Use /v1/awards/analysis/rollups with group_by set to awarding_agency_code, naics_code, psc_code, or vendor_uei for grouped analytics.
GET /v1/entities
/v1/entities/v1/entities/{uei}SAM.gov entity registrations keyed by UEI. Use the list endpoint for discovery and filtering, then fetch a specific UEI for the latest monthly registration snapshot or a pinned snapshot_month.
| Name | Type | Description |
|---|---|---|
| uei | string | Filter to one Unique Entity ID. |
| cage_code | string | Filter to one CAGE code. |
| registration_status | string | Filter by SAM registration status. |
| primary_naics | string | Filter by primary NAICS code. |
| snapshot_month | YYYY-MM | Pin the monthly SAM registration snapshot. |
GET /v1/entities/{uei}/profile
/v1/entities/{uei}/profileConnected vendor profile for one UEI: latest SAM registration, recent contract awards, agency award rollups, exclusions, and public responsibility/integrity records. Pin registration state with snapshot_month and exclusion/integrity state with snapshot_date.
GET /v1/agencies
/v1/agencies/v1/agencies/{orgId}SAM.gov Federal Hierarchy organizations for department, independent agency, and sub-tier context. Use these rows to resolve agency codes and understand the government hierarchy behind awards and assistance listings.
| Name | Type | Description |
|---|---|---|
| agency_code | string | Match CGAC / agency organization codes. |
| fh_org_type | enum | department-ind-agency, sub-tier, or federal-hierarchy-org. |
| status | string | Filter active/inactive Federal Hierarchy rows. |
| parent_fh_org_id | string | Return children under a parent organization. |
| snapshot_date | YYYY-MM-DD | Pin a historical Federal Hierarchy snapshot. |
https://api.boringdataplatform.com/v1/agencies?limit=5curl "https://api.boringdataplatform.com/v1/agencies?limit=5" \
-H "Authorization: Bearer <YOUR_API_KEY>"GET /v1/assistance-listings
/v1/assistance-listings/v1/assistance-listings/{listingId}SAM.gov Assistance Listings / CFDA federal program reference data. Responses include program descriptions, organization codes, fiscal-year metadata, and opportunistic Federal Hierarchy enrichment when agency codes match.
| Name | Type | Description |
|---|---|---|
| assistance_listing_id | string | Filter to one Assistance Listing / CFDA id. |
| status | string | Filter active or inactive program listings. |
| fiscal_year | integer | Filter by listing fiscal year. |
| department_code | string | Filter by department organization code. |
| agency_code | string | Filter by agency organization code. |
| snapshot_date | YYYY-MM-DD | Pin a historical Assistance Listings snapshot. |
https://api.boringdataplatform.com/v1/assistance-listings?limit=5curl "https://api.boringdataplatform.com/v1/assistance-listings?limit=5" \
-H "Authorization: Bearer <YOUR_API_KEY>"Compliance Records
/v1/exclusions/v1/integrity-recordsSearch SAM.gov exclusion records and public Responsibility / Qualification / FAPIIS integrity records directly, or reach them through /v1/entities/{uei}/profile when the user is asking about a specific vendor.
Errors
Every error response contains a top-level error object with a machine-readable code and human message. Retry logic on 5xx and 429 is safe; retries on 4xx other than 429 are not.