SBIR/STTR Data Dictionary¶
This document describes the fields available on the SBIR/STTR API endpoints (/api/sbir/topics/, /api/sbir/solicitations/). For filtering, ordering, and pagination, see the SBIR API Reference.
Overview¶
The SBIR/STTR endpoints cover Small Business Innovation Research and Small Business Technology Transfer topics across every participating agency (DoD, NIH, NSF, NASA, DOE, DOT and more), and the DoD DSIP solicitation cycles those topics belong to. Topics link to the parent that funds them — a DSIP cycle, a SAM.gov notice, or a Grants.gov announcement. Solicitations are DoD (DSIP) only.
Note: The full field set is available via the shape query parameter. See Response Shaping for details.
Lifecycle: activity¶
Both resources expose a derived activity field. On topics it is open, closed, or unknown (no usable date roster). On solicitations it is open or closed, derived from the cycle end_date. activity is computed at query time; solicitation_status is the source's own raw status string and is exposed separately.
Topic fields (/api/sbir/topics/)¶
Detail lookup is by topic_id.
| Field | Type | Description | Source |
|---|---|---|---|
topic_id | String | Primary key; natural key minted by Tango (sbir-topic-<hash>). | Tango |
topic_node_id | String | Source node id (e.g. Drupal 12835). | sbir.gov |
topic_url | String | Link to the topic on the source site. | sbir.gov |
title | String | Topic title. | sbir.gov |
agency | String | Raw agency text (e.g. DOD, NIH, NSF); not org-resolved. | sbir.gov |
year | Integer | Solicitation year. | sbir.gov |
topic_number | String | Topic number. | sbir.gov |
solicitation_number | String | Parent BAA number; joins to the parent solicitation. | sbir.gov |
official_solicitation_url | String | Link to the official solicitation. | sbir.gov |
doc_source | String | Document source: grants_gov, dsip, sam_gov, other, none. | Tango |
description | String | Topic description (detail default). | sbir.gov |
release_date | Date | Topic release date. | sbir.gov |
open_date | Date | Topic open date. | sbir.gov |
close_date | Date | Topic close date — reflects the topic's own schedule and outranks the parent BAA window. | sbir.gov |
due_dates_text | String | Raw Due Date(s) cell; may list several (detail default). | sbir.gov |
solicitation_status | String | sbir.gov's own Open/Closed string (source data, not derived). | sbir.gov |
listed_open | Boolean | On sbir.gov's open listing at the last complete crawl? False = withdrawn; null = no usable roster (detail default). | Tango |
source_last_updated | DateTime | Feed scrape timestamp (detail default). | Tango |
activity | String | Computed lifecycle: open, closed, or unknown. | Tango |
solicitation | Object | Parent DoD DSIP cycle (expand). | Tango |
opportunity | Object | Parent SAM.gov notice (expand). | Tango |
grant | Object | Parent Grants.gov announcement (expand). | Tango |
Topic expansions (via shape)¶
solicitation(*)→solicitation_id,solicitation_number,title,program,cycle_name,year,start_date,end_date,out_of_cycle,solicitation_statusopportunity(*)→opportunity_id,title,solicitation_number,response_deadlinegrant(*)→grant_id,opportunity_number,title,response_date
A topic links to at most one parent, resolved in priority order (solicitation → opportunity → grant). A non-DoD topic with no DSIP parent returns solicitation: null.
Solicitation fields (/api/sbir/solicitations/)¶
Detail lookup is by solicitation_id. DoD (DSIP) only.
| Field | Type | Description | Source |
|---|---|---|---|
solicitation_id | String | Primary key; natural key minted by Tango (dsip-solicitation-<hash>). | Tango |
solicitation_number | String | Solicitation number. | DSIP |
title | String | Solicitation title. | DSIP |
program | String | Program: SBIR or STTR. | DSIP |
cycle | String | Cycle identifier (detail default). | DSIP |
cycle_name | String | Cycle directory name; joins the PDF inventory to this cycle. | DSIP |
solicitation_cycle_id | Integer | Source cycle id (detail default). | DSIP |
out_of_cycle | Boolean | Whether the solicitation is out of cycle. | DSIP |
year | Integer | Solicitation year. | DSIP |
start_date | Date | Cycle start date. | DSIP |
end_date | Date | Cycle end date. Drives activity. | DSIP |
solicitation_status | String | Raw feed status token (active, etc.). | DSIP |
sol_download_url | String | Link to download the solicitation. | DSIP |
source_last_updated | DateTime | Feed scrape timestamp (detail default). | Tango |
activity | String | Computed lifecycle: open or closed. | Tango |
topics | Object[] | Topics on this cycle (expand). | Tango |
documents | Object[] | BAA PDF inventory (expand). | Tango |
Solicitation expansions (via shape)¶
documents(*)→document_id,filename,cycle_name,s3_key,file_size,extraction_status,n_pages,n_charstopics(*)→topic_id,title,agency,topic_number,close_date,topic_url(a reduced view; the full topic shape lives at/api/sbir/topics/)
Data Sources¶
- sbir.gov — topic listings across participating agencies.
- DSIP — DoD's Defense SBIR/STTR Innovation Portal solicitation cycles and BAA PDFs.
- Tango — natural keys, the derived
activity, and the resolved parent links (solicitation,opportunity,grant).
Not exposed¶
Producer-internal columns are not part of the API: row_hash, search_vector, the raw solicitation_cycle_json blob, and downstream document-extraction text. Document extraction_status / n_pages / n_chars are surfaced, but extracted text is not.
Usage Notes¶
- Follow a topic to its funding — expand
solicitation(*),opportunity(*), orgrant(*)to reach the DSIP cycle, SAM.gov notice, or Grants.gov announcement behind it. - Program lives on the solicitation — there is no
programfield or filter on topics; query/api/sbir/solicitations/?program=STTRor expandsolicitation(program). - BAA PDFs — expand
documents(*)on a solicitation for the BAA document inventory.