Loading...
Loading...
Developer access is in gated beta. REST, OAuth, MCP, and webhooks are available for internal testing and selected partners while we harden the applicant workflow.
Versioned endpoints, gated during beta
Public catalogue queries; match requires your own API key
One URL, no key — the catalog inside Claude and other MCP clients
HMAC-SHA256-signed event delivery (beta)
Use fetch or the Python standard library
Client Credentials flow for server-to-server
Pick your preferred language or protocol. These examples are available to beta partners with API access enabled.
curl https://api.grant.mithgard.ai/api/v1/programs/search \
-H "X-API-Key: <YOUR_GRANT_AI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"country": "DE",
"industries": ["AI_ML"],
"page": 1,
"per_page": 20
}'const response = await fetch("https://api.grant.mithgard.ai/api/v1/programs/search", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ country: "DE", applicant_type: "kommune", per_page: 20 }),
});
if (!response.ok) throw new Error("Catalogue unavailable");
const catalogue = await response.json();import json
from urllib.request import Request, urlopen
request = Request("https://api.grant.mithgard.ai/api/v1/programs/search",
data=json.dumps({"country": "DE", "applicant_type": "kommune", "per_page": 20}).encode(),
headers={"Content-Type": "application/json"}, method="POST")
with urlopen(request, timeout=10) as response:
catalogue = json.load(response)Claude → Settings → Connectors → Add custom connector
Name: Draupnir
URL: https://grant.mithgard.ai/api/mcp
No API key required — the catalog is public.
Tools:
check_fit provider-free preliminary eligibility check
search_programs find programs by query, country or type
get_program the full record, including the official source URL
upcoming_deadlines what closes in the next N days{
"mcpServers": {
"grant-ai": {
"command": "python",
"args": ["-m", "grant_ai.mcp.stdio_server"],
"env": {
"GRANT_AI_API_URL": "https://api.grant.mithgard.ai",
"GRANT_AI_API_KEY": "<YOUR_GRANT_AI_API_KEY>"
}
}
}
}Programme catalogue queries are public. The match and autopilot fields require your own API key; the service credential is not a substitute for caller authentication.
POST https://grant.mithgard.ai/api/graphql
Content-Type: application/json
{
"query": "{ programs(country: \"DE\", perPage: 10) { total items { id name organization } } }"
}Catalogue queries and hosted MCP discovery are public. Matching and generation require your own API key. Create and manage keys in your dashboard.
X-API-Key: <YOUR_GRANT_AI_API_KEY>GRANT_AI_API_KEY=<YOUR_GRANT_AI_API_KEY>Read-only keys are available on Starter; generation uses the account's shared draft allowance on Pro and Team. Team also enables webhook access. Endpoint rate limits remain separate from the monthly draft allowance. Inspect error responses and Retry-After before retrying.
Beta catalogue events use signed delivery to registered endpoints. Account events require a matching owner and are not a promise of every status change or guaranteed delivery.
program.discoveredprogram.updatedprogram.deadline