Grant Discovery Bot
A public-data crawler in service of nonprofits.
What this crawler does
Grant Discovery Bot collects publicly available information about grant programs, foundations, and federal awards from sources such as the IRS, Grants.gov, SAM.gov, USASpending, and ProPublica’s Nonprofit Explorer. Its purpose is to help nonprofit organizations identify funding opportunities they would otherwise need expensive commercial databases to find.
It is operated by TheAlmoner LLC, an independent project dedicated to making philanthropic information accessible to the organizations that serve the poor and afflicted.
How to identify this crawler
Every request the bot makes carries two unambiguous identifiers:
- User-Agent header
Mozilla/5.0 (compatible; GrantDiscoveryBot/1.0; +https://bot.thealmoner.com)- From header
bot@thealmoner.com
The token GrantDiscoveryBot inside the User-Agent string is the technical identifier — this is what appears in your access logs and what robots.txt rules should match. “Grant Discovery Bot” is the human-readable name for the same crawler; they refer to one and the same program.
Both values are stable and will not churn between versions. The crawler runs from a small set of fixed egress IPs; a verifiable IP list at /ips.json and reverse-DNS records of the form crawl-N.thealmoner.com are planned as part of Cloudflare Verified Bot enrollment.
How this crawler behaves
- robots.txt is honored. Disallow rules, the
GrantDiscoveryBotuser-agent token, andCrawl-delaydirectives all apply. - Rate is conservative. No more than one request to a given host every 5–10 seconds; exponential backoff on 429 and 503 responses.
- No headless browsers. Plain HTTPS clients; no JavaScript execution, no fingerprint spoofing.
- Opt-out is immediate. A request to the contact address below removes a host from the crawl queue within one business day.
How to block or limit this crawler
To stop the crawler from visiting your site, add the following to /robots.txt. The user-agent token GrantDiscoveryBot is what the bot literally sends, so rules must match that token:
User-agent: GrantDiscoveryBot
Disallow: /
To allow access only to specific paths, use standard Disallow rules:
User-agent: GrantDiscoveryBot
Disallow: /private/
Disallow: /api/
Allow: /
To request a longer minimum delay between requests:
User-agent: GrantDiscoveryBot
Crawl-delay: 30
Contact
For any concern — opt-out requests, audit-log inquiries, questions about the data we collect — write to bot@thealmoner.com. Mail is read by the operator; a human replies.