Skip to main content
Glama
Panda Public Funding Tools

Panda Public Funding Tools

SBIR/STTR Topic Radar: Open Topics, Deadlines & DoD Q&A

sbir_sttr_topic_radar
Read-only

Find open SBIR/STTR solicitation topics by keyword across federal agencies, with deadlines, topic details, official links, and DoD Q&A contacts for small-business R&D proposals.

Instructions

Find SBIR and STTR solicitation topics across agencies (DoD branches, NIH, NASA, NSF, DOE, USDA, DHS and more) by keyword, with full topic text, close dates, days left, topic numbers, official links, and DoD Q&A status and technical points of contact. Unlike grants_finder (general Grants.gov opportunities and past NIH/NSF awards) and federal_contract_finder (awarded contracts), this lists small-business R&D topics you can propose to. Use when a small business or research partner needs open SBIR/STTR topics, deadlines or a TPOC to contact. Do not use for general grants (use grants_finder) or for past contract winners (use federal_contract_finder). Parameters: empty keywords lists every topic matching the other filters, which can be large, so keep maxResults low. status=closed returns past topics to show what an agency keeps funding. includeDetails and includeDodQa each fetch extra pages per topic: richer rows, slower runs, same price; turn them off for a fast scan. Searches with no results are free. Returns per item: agentSummary, topicId, topicNumber, title, agency, branch, program, phase, status, openDate, closeDate, daysLeft, description, technicalPointOfContact, dodQaStatus, dodPublishedQuestions, officialSolicitationUrl, url.

Behavior: read-only; runs the Apify Actor pandadad0214/sbir-sttr-topic-radar (https://apify.com/pandadad0214/sbir-sttr-topic-radar) on your own Apify account. Price: $0.003 per topic found. Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxResults when you leave it unset, so it also limits what is billed; setting maxResults higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.

Input Schema

NameRequiredDescriptionDefault
statusNoTopic status. Open = topics you can still propose to. Closed = past topics, useful to see what an agency keeps asking for. Choices: open = Open (accepting proposals); closed = Closed (past topics, for research).open
programNoProgram. Topics tagged for both programs are kept either way. Choices: any = SBIR or STTR; SBIR = SBIR only; STTR = STTR only (needs a research-institution partner).any
agenciesNoAgencies. Optional agency or branch codes: DOD (all DoD/DoW), USAF, ARMY, NAVY, DARPA, DHA, DTRA, MDA, SOCOM, SDA, OSD, CBD, HHS, NIH, FDA, CDC, NASA, NSF, DOE, USDA, NIFA, DHS, DOT, ED, EPA, DOC, NIST, NOAA, DOI, NRC. Empty = all agencies.
keywordsNoKeywords. Words to find in topic titles and text, e.g. autonomy, battery, machine learning, wound care. Leave empty to list every topic with the chosen status.
maxResultsNoMaximum topics. You pay per topic returned, so this also caps the cost. 1 to 1,000; default 50.
closeDateToNoCloses on or before. Optional, e.g. 2027-03-31.
includeDodQaNoAdd DoD Q&A status and point of contact. For DoD/DoW topics, looks the topic up on the DoD SBIR/STTR Innovation Portal (DSIP) and adds Q&A status, Q&A end date, published-question count and the technical point of contact when published. Needs 'Read full topic pages'.
closeDateFromNoCloses on or after. Optional, e.g. 2026-12 or 2026-12-15.
run_max_itemsNoOptional. Most results to return from this call (default from PANDA_MAX_ITEMS, 50). Also limits how many results the Actor produces and charges for, unless you set its own max field.
includeDetailsNoRead full topic pages. Adds topic number, solicitation number, branch, due dates, full description and the official solicitation link (one extra page per topic, no extra charge).
run_timeout_secsNoOptional. Seconds to wait for results (default from PANDA_TIMEOUT_SECS, 120; max 300).
run_max_charge_usdNoOptional. Hard spending cap for this call in USD (default from PANDA_MAX_CHARGE_USD, 0.50).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds the economics an agent cannot infer: $0.003 per topic, free runs on zero results, per-call spend cap via run_max_charge_usd ($0.50 default), and the trap that raising maxResults can bill more than is returned. It also discloses latency (5-15 s typical, minutes for crawls), the 300 s timeout ceiling, extra page fetches for includeDetails/includeDodQa, and the {actor, count, items} return envelope — none of which is in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loading is strong: purpose, then sibling differentiation, then exclusions, then parameter tips, then a separate Behavior block for billing and latency. Some sentences duplicate structured fields — the $0.50 cap, the 50-item default, and the 300 s max are all in the schema — which makes the block denser than necessary, though nearly every sentence still carries routing or billing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, zero-required, actor-wrapping tool with no output schema and real per-item cost, the description covers purpose, alternatives, cost model, timing, failure recovery ('raise run_timeout_secs ... or shrink the input after a timeout error'), and even enumerates returned fields. An agent has everything needed to call it safely and interpret the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3 and individual parameter meaning is already documented. The description earns extra credit for cross-parameter interactions the schema does not state: empty keywords plus filters yields a large set, includeDetails/includeDodQa cost time but not money ('same price'), and run_max_items fills maxResults when unset. It stops short of a 5 because much of the parameter prose restates schema text rather than adding new semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Find SBIR and STTR solicitation topics across agencies') and enumerates the return payload (close dates, days left, topic numbers, official links, DoD Q&A status, TPOC). It explicitly distinguishes itself from the two nearest siblings, grants_finder and federal_contract_finder, so an agent can route correctly without comparing schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use ('a small business or research partner needs open SBIR/STTR topics, deadlines or a TPOC to contact') and explicit when-not-to-use with the named alternative for each exclusion ('Do not use for general grants (use grants_finder) or for past contract winners (use federal_contract_finder)'). It also supplies tactical guidance per parameter, e.g. keep maxResults low with empty keywords, and use status=closed for historical funding patterns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.