> SpecStream is the live web data engine for teams and agents. This is the Markdown copy of https://specstream.ai/blog/grants-gov-alerts-for-tribes. Every page, with what SpecStream does and costs: https://specstream.ai/llms.txt

# Grants.gov alerts that don&#x27;t miss: every open federal grant tribes can apply for

![](https://specstream.ai/blog/covers/grants-gov-alerts-for-tribes.jpg)

# Grants.gov alerts that don't miss: every open federal grant tribes can apply for

SpecStream

[Grants](https://specstream.ai/blog.md) · Oct 15, 2026 · 5 min read

The morning goes like this. Open the portal. Search "tribal". Sort by close date. Open the first eight results in eight tabs. Find the eligibility paragraph in each. Close seven tabs. Do it all again the next morning, because something new may have posted overnight and the only way to know is to look.

A saved keyword alert shortens the first half of that. It can't read the eligibility paragraph, which is where the answer lives.

Here is the list I wanted instead:

> Open federal grants in the United States that tribes and tribal organizations can apply for, closing by December 7, 2026, with the funder, award ceiling, deadline and official link

One sentence, up to 30 results. It came back with 18. [The whole list is here, no account needed.](https://specstream.ai/workspace/shared/JYip6eJ47CXfm3LQFoHcA_JUGHVZ7Au_W2OvwwIhoKI)

## Ten of the 18

Open federal funding tribes can apply for

18 records

| Name | Funder | Amount | Deadline |
| --- | --- | --- | --- |
| [Research and Education Program for Historically Black Colleges and Universities (HBCU) and Tribal Colleges and Universities (TCU) Equipment/Instrumentation](https://www.grants.gov/search-results-detail/363724) | Dept of the Army -- Materiel Command | Not published | Oct 9 |
| [Staff Support to Tribal Radioactive Materials Transportation Committee for Engagement with the United States (U.S.) Department of Energy on Radioactive Materials Transportation Planning](https://www.grants.gov/search-results-detail/363754) | Idaho Field Office | $2,000,000 | Oct 9 |
| [2026 National Urban and Community Forestry Challenge Cost Share Grant Program](https://www.grants.gov/search-results-detail/361315) | Forest Service | $750,000 | Oct 12 |
| [Community Forest and Open Space Conservation Program](https://www.grants.gov/search-results-detail/363348) | Forest Service | $600,000 | Oct 13 |
| [Tribal Colleges and Universities Program (TCUP)](https://www.grants.gov/search-results-detail/334326) | U.S. National Science Foundation | $3,500,000 | Oct 14 |
| [OVC FY 2026 Improving Outcomes for Child and Youth Victims of Human Trafficking](https://www.grants.gov/search-results-detail/363667) | Office for Victims of Crime | $1,600,000 | Oct 14 |
| [U.S. Department of Justice FY26 Coordinated Tribal Assistance Solicitation Notice of Funding Opportunity](https://www.grants.gov/search-results-detail/363308) | Bureau of Justice Assistance | $5,600,000 | Oct 15 |
| [FY26 Bureau of Land Management Youth Conservation Corps - Bureau wide](https://www.grants.gov/search-results-detail/362787) | Bureau of Land Management | $220,000 | Oct 16 |
| [BJA FY 2026 Tribal Justice Training and Technical Assistance Program](https://www.grants.gov/search-results-detail/363959) | Bureau of Justice Assistance | $1,870,000 | Oct 21 |
| [OJJDP FY 2026 Community and Schools Youth Drug Prevention Program](https://www.grants.gov/search-results-detail/363902) | Office of Juvenile Justice Delinquency Prevention | $750,000 | Oct 29 |

[Open the whole list](https://specstream.ai/workspace/shared/JYip6eJ47CXfm3LQFoHcA_JUGHVZ7Au_W2OvwwIhoKI?src=blog)10 of 18 shown. Source URL and read time on every row.

Every row links to its official page on grants.gov. The list also carries a one-line reason for each match, so you can see why the Community Forest program is on a list for tribes (it names federally recognized Indian tribes as eligible applicants) without opening it.

Two things the list shows that a title search wouldn't:

-   **Eight of the 18 titles never say tribal, tribe, Indian or Native.** The two Forest Service programs and all four OJJDP programs are on the list because of their eligibility text. A keyword on the title walks right past them.
-   **It is a snapshot.** This run read the portal on October 8. Seven of the 18 deadlines fall between October 9 and October 15, so a copy downloaded a week later has more than a third of its rows closed or closing. That is the whole case for a list that updates itself.

## Make it yours

The sentence is the only part that changes. Swap the field and the date:

-   "Open federal grants for rural hospitals in the United States closing by March 31, 2027, with the funder and award ceiling"
-   "Open federal grants for AI research with an award ceiling, closing by December 31, 2026"
-   "Open federal grants that community colleges in Texas can apply for, with the deadline and official link"

If you'd rather have it in a script, it's five calls: read the sentence (free), get the price (free), approve that price, wait, read the rows.

```python
import csv
import os
import time
import uuid

import requests

API = "https://api.specstream.ai"
REQUEST = (
    "Open federal grants in the United States that tribes and tribal "
    "organizations can apply for, closing by December 7, 2026, with the "
    "funder, award ceiling, deadline and official link"
)
HOW_MANY = 30
MAX_CENTS = 500  # never approve more than $5

session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['SPECSTREAM_API_KEY']}"


def call(method, path, **kwargs):
    for attempt in range(3):  # retries are safe: the approval carries a fixed key
        response = session.request(method, API + path, timeout=60, **kwargs)
        if response.status_code < 500:
            break
        time.sleep(5)
    response.raise_for_status()
    return response.json()["data"]


reading = call("POST", "/v1/parse", json={"q": REQUEST, "locale": "en-US"})
print("Read as:", reading["canonical_sentence"])

quote = call("POST", "/v1/capacity/quotes", json={
    "ast_hash": reading["ast_hash"],
    "operation": "find",
    "requested_units": HOW_MANY,
})
print(f"Costs at most ${quote['maximum_cents'] / 100:.2f}")
if quote["maximum_cents"] > MAX_CENTS:
    raise SystemExit("Over budget. Ask for fewer.")

run = call("POST", "/v1/capacity/executions", json={
    "quote_id": quote["quote_id"],
    "quote_hash": quote["quote_hash"],
    "confirm_max_cents": quote["maximum_cents"],
    "idempotency_key": f"grants-{uuid.uuid4()}",
})
find_id = run["find_id"]

while call("GET", f"/v1/finds/{find_id}/rows", params={"limit": 1})["status"] in (
    "queued", "planning", "running"
):
    time.sleep(15)

rows, cursor = [], None
while True:
    page = call("GET", f"/v1/finds/{find_id}/rows", params={"cursor": cursor} if cursor else {})
    rows += page["rows"]
    cursor = page["next_cursor"]
    if not cursor:
        break

skip = {"matches", "open"}  # workspace buttons, not facts
with open("grants.csv", "w", newline="") as f:
    out = csv.writer(f)
    for i, row in enumerate(rows):
        cells = [c for c in row["cells"] if c["column_id"] not in skip]
        if i == 0:
            out.writerow([c["label"] for c in cells])
        out.writerow(["" if c["absence"] else c["display"] for c in cells])

print(f"{len(rows)} grants in grants.csv (list {find_id})")
```

```bash
pip install requests
export SPECSTREAM_API_KEY=...
python grants.py
```

You need an API key from [specstream.ai](https://specstream.ai) (under **Agents & API**). New accounts get $10 of credit, no card. The [API docs](https://specstream.ai/docs/api) have the rest.

## Stop checking

A script that runs once is the portal ritual with extra steps. The part that retires the ritual is the schedule.

Open the list in the workspace and click **Watch for new ones** under its name. It opens a schedule that looks for more matches every week; change the cadence anywhere from hourly to yearly, and set a maximum per run and per period so a schedule can never spend past what you meant. Then choose where new matches go: the inbox, a Slack channel, a Google Sheet or HubSpot, or your own webhook (`monitor.found`).

Only new and changed grants are sent. The 18 you already have stay where they are. Rechecks of kept grants cost half the rate for a grant that changed and 1¢ for one that didn't, and the ones that stop matching are labeled, so a grant that stops fitting does not sit on your sheet looking fine. Details are in the [schedules docs](https://specstream.ai/docs/schedules).

That is what replaces the eight tabs: a sheet that gets a new row when a grant that fits you posts, and a label when one stops fitting.

## What it costs

5¢, 15¢ or $1 a match, depending on how many facts each row has to carry, and you see the maximum before you approve anything. A run that finds nothing is free. You pay for the 18 that matched, not the 30 you were willing to take. You start with $10 of credit, once, no card. Rates are on the [pricing page](https://specstream.ai/pricing).

If you write grants for a living: what is the eligibility sentence you end up reading eight tabs to find? Send it to [support@specstream.ai](mailto:support@specstream.ai) and we'll run it and post the list.

*The rows above are from a real run on October 8, 2026.*

## More from the blog

[Every post](https://specstream.ai/blog.md)

[![Form D filings, October 13–16, 2026: 45 US companies raised $5M or more](https://specstream.ai/blog/covers/form-d-filings-october-13-16-2026.jpg) ### Form D filings, October 13–16, 2026: 45 US companies raised $5M or more 45 US companies filed a Form D for $5 million or more sold from October 13 to 16, 2026, $2.75 billion in total Oct 23, 2026 · SpecStream · 3 min read](https://specstream.ai/blog/form-d-filings-october-13-16-2026.md)[![A list of MCP servers (100 active ones), and why your agent needs a list, not ten pages](https://specstream.ai/blog/covers/list-of-mcp-servers.jpg) ### A list of MCP servers (100 active ones), and why your agent needs a list, not ten pages 100 MCP servers on GitHub with 500+ stars and a push in the last month, from one sentence over MCP Oct 15, 2026 · SpecStream · 6 min read](https://specstream.ai/blog/list-of-mcp-servers.md)[![FDIC failed bank list 2026: six banks closed this year, and the 25 latest as a list you can sort](https://specstream.ai/blog/covers/fdic-failed-bank-list-2026.jpg) ### FDIC failed bank list 2026: six banks closed this year, and the 25 latest as a list you can sort Six US banks have failed in 2026, more than in any year from 2018 through 2025 Oct 15, 2026 · SpecStream · 4 min read](https://specstream.ai/blog/fdic-failed-bank-list-2026.md)
