SBIR APIsbir.gov ↗
Search and retrieve SBIR/STTR award data, award details, and funding opportunity topics from SBIR.gov. Filter by keyword, agency, phase, and topic code.
What is the SBIR API?
This API exposes 3 endpoints covering the full SBIR.gov award portfolio and open funding solicitations. Use search_awards to query thousands of federal SBIR/STTR grants by keyword, company name, topic code, or research institution, get_award to pull comprehensive details on any individual award including UEI, contract number, award amount, and full abstract, and search_topics to find active and past solicitation topics by keyword.
curl -X GET 'https://api.parse.bot/scraper/b479b367-4fa2-46ad-a642-53476cd1749d/search_awards?page=1&keywords=robotics' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace sbir-gov-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.sbir.gov_api import Sbir, Award, AwardSummary, Topic
sbir = Sbir()
# Search for robotics-related awards
for summary in sbir.awardsummaries.search(keywords="robotics", limit=5):
print(summary.title, summary.company, summary.topic_code)
# Get full details for a specific award
award = sbir.awards.get(award_id="220024")
print(award.title, award.company, award.total_award_amount, award.agency, award.phase)
# Navigate from summary to detail
for summary in sbir.awardsummaries.search(company_name="Sensory Robotics", limit=3):
detail = summary.details()
print(detail.title, detail.award_year, detail.contract_number, detail.hubzone_owned)
# Search funding opportunity topics
for topic in sbir.topics.search(keywords="cybersecurity", limit=5):
print(topic.title, topic.status, topic.open_date, topic.close_date)
Search SBIR/STTR awards by keywords, company name, topic code, and/or research institution. Returns paginated results (10 per page) with award summaries including title, company, topic code, abstract snippet, and tags (program type, phase, year, agency, branch). At least one filter parameter should be provided for meaningful results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-indexed). Each page returns up to 10 results. |
| keywords | string | Search keywords to filter awards by title and abstract content (e.g. 'robotics', 'artificial intelligence'). |
| topic_code | string | Filter by solicitation topic code (e.g. 'AF254-D0823'). |
| company_name | string | Filter by company/awardee name (e.g. 'Boston Dynamics'). |
| research_institution | string | Filter by research institution name. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"awards": "array of award summary objects with id, title, url, company, topic_code, abstract_snippet, and tags",
"showing_to": "integer end index of current page",
"showing_from": "integer start index of current page",
"total_results": "integer total matching awards"
},
"sample": {
"data": {
"page": 1,
"awards": [
{
"id": "220024",
"url": "https://www.sbir.gov/awards/220024",
"tags": [
"SBIR",
"Phase II",
"2026",
"DOD",
"USAF"
],
"title": "Safety-Certified Robotic Platform for Dynamic Industrial Environments",
"company": "SENSORY ROBOTICS, INC.",
"topic_code": "AF254-D0823",
"abstract_snippet": "This project proposes the adaptation and certification of a mobile safety system..."
}
],
"showing_to": 10,
"showing_from": 1,
"total_results": 2163
},
"status": "success"
}
}About the SBIR API
Award Search and Retrieval
The search_awards endpoint accepts up to five filter parameters — keywords, company_name, topic_code, research_institution, and page — and returns paginated sets of 10 award summaries per page. Each summary includes the award title, awardee company, topic code, an abstract snippet, and structured tags covering program type (SBIR or STTR), phase (I, II, etc.), award year, agency, and branch. The total_results field lets you calculate page depth before iterating. All filter parameters are optional, so you can run broad keyword searches or narrow to a specific solicitation topic code like AF254-D0823.
Individual Award Detail
Once you have an award ID from search results, get_award returns the full record for that award. Response fields include uei (Unique Entity Identifier), phase, program, agency, branch, address, company, abstract, and contract_number. This is the endpoint to use when you need the full abstract text, the awardee's physical address, or the award dollar amount — fields that are truncated or absent in search summaries.
Funding Opportunity Topics
The search_topics endpoint searches active and historical SBIR/STTR solicitation topics by keyword. Each topic object in the response includes the topic title, current status (Open or Closed), release_date, open_date, and close_date. Pagination works the same way as search_awards — 10 results per page with showing_from, showing_to, and total_results fields. Unlike award search, keywords is a required parameter here, so the endpoint is scoped to intentional topic discovery rather than full-catalog browsing.
The SBIR API is a managed, monitored endpoint for sbir.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sbir.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official sbir.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Map all SBIR Phase II awards granted to a specific company by filtering
company_nameacross paginated results. - Track which small businesses have received DoD SBIR funding in a given research area using the
keywordsandagencyfilters. - Identify currently open SBIR solicitation topics in cybersecurity or AI using
search_topicswith a keyword filter. - Enrich a company database with federal contract history by looking up award details via
get_awardand extractingcontract_numberanduei. - Analyze award abstracts for emerging research themes by bulk-retrieving full
abstractfields fromget_award. - Check the close dates of relevant funding topics before a grant application deadline using
search_topicsstatus and date fields. - Cross-reference research institutions receiving STTR co-funding using the
research_institutionfilter insearch_awards.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does SBIR.gov have an official developer API?+
What does `get_award` return beyond what `search_awards` shows?+
get_award returns the complete record for a single award: full abstract text, uei (Unique Entity Identifier), address, contract_number, award_amount, and demographic_indicators — fields that are either truncated or absent in the summary objects returned by search_awards. Use search to discover award IDs, then get_award to retrieve the complete record.Can I browse all available funding topics without a keyword?+
search_topics endpoint requires a keywords parameter, so open-ended topic browsing without a search term is not supported. The search_awards endpoint does allow all-optional parameters for broader browsing. You can fork the API on Parse and revise it to add an endpoint that lists all topics without requiring a keyword.Does the API expose award outcome or commercialization data?+
How does pagination work across the search endpoints?+
search_awards and search_topics return 10 results per page. Each response includes total_results, showing_from, and showing_to integers, so you can determine the total page count and iterate using the page parameter (1-indexed). There is no cursor or token — just increment page until showing_to equals total_results.