Platform Reference

API Documentation

The GrantFounders API provides programmatic access to the funding decision infrastructure: fit assessment, eligibility analysis, readiness evaluation, and structured drafting support. All requests are authenticated via the x-access-key header.

API access is available on Professional and above plans. Access keys are provisioned from your account dashboard after subscription activation.
Quick Start

1. Provision an Access Key

Access keys are available from your account dashboard after activating a Professional or Agency plan. Keys follow the format gf_ and are scoped to your organization.

2. Make Your First Request

curl -X POST https://api.grantfounders.com/v1/fit/score \
  -H "x-access-key: gf_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "projectDescription": "Solar energy infrastructure for rural school districts",
    "opportunityDescription": "DOE Office of Electricity — Grid Modernization Initiative"
  }'

3. Interpret the Response

{
  "fitScore": 87,
  "confidence": "high",
  "scopeAlignment": "strong",
  "budgetFit": "within_range",
  "eligibilityRisk": "low",
  "readiness": "ready_to_draft"
}
Authentication

Every request to the GrantFounders API must include a valid access key in the x-access-key request header. Keys are organization-scoped and can be rotated from the account dashboard.

Header Format

x-access-key: gf_your_key_here

Security Practices

  • Store keys in environment variables — never commit to version control
  • Use separate keys for development and production environments
  • Rotate keys periodically from the account dashboard
  • Revoke compromised keys immediately via the key management endpoint

Endpoints

Intelligence

Decision infrastructure capabilities: fit assessment, eligibility analysis, readiness evaluation, and structured drafting support. All intelligence endpoints require an active Professional or Agency subscription.

POST/v1/fit/score

Calculate semantic fit between a project and a grant opportunity. Returns a composite score with dimensional breakdown across scope, budget, eligibility, and readiness.

Body Parameters
projectDescriptionstring (min 50 chars) — required
opportunityDescriptionstring (min 50 chars) — required
orgContextstring — optional, improves eligibility scoring
POST/v1/proposals/generate

Generate a structured proposal section aligned to the target opportunity's scoring criteria. Returns agency-formatted content ready for editorial review.

Body Parameters
sectionType"executive_summary" | "narrative" | "budget_justification" | "impact_statement" — required
projectData{ title: string, description: string } — required
opportunityData{ title: string, agency: string } — required
institutionalContextstring — optional, improves alignment to org history
POST/v1/projects/analyze

Analyze a project description and return recommended funding categories, target agencies, and strategic positioning notes.

Body Parameters
descriptionstring (min 50 chars) — required
orgTypestring — optional (e.g. "university", "small_business", "nonprofit")
Opportunities

Search and retrieve federal grant opportunities from Grants.gov, SBIR.gov, and agency-specific sources.

GET/v1/opportunities

List open grant opportunities with optional filters. Authentication required for full result sets; unauthenticated requests return a limited preview.

Query Parameters
limitnumber (default: 50, max: 200)
categorystring — funding category filter
agencystring — agency code (e.g. "DOE", "NSF", "NIH")
status"open" | "forecasted" | "closed"
Key Management

Provision, list, and revoke access keys for your organization. All key management operations require session authentication.

GET/v1/keys

List all active access keys for your organization.

POST/v1/keys

Provision a new access key. Returns the full key value once — store it securely.

DELETE/v1/keys/:keyId

Revoke an access key. Revocation is immediate and irreversible.

Usage & Reporting

Monitor API consumption, request volume, and operational metrics for your organization.

GET/v1/usage

Retrieve usage statistics for the current billing period. Requires session authentication.

{
  "period": "2026-03",
  "totalRequests": 142,
  "byOperation": {
    "fit_score": { "requests": 87 },
    "proposal_generate": { "requests": 42 },
    "project_analyze": { "requests": 13 }
  },
  "planLimit": "unlimited",
  "nextResetDate": "2026-04-01"
}
Error Reference

All errors return a JSON object with a machine-readable error field and an appropriate HTTP status code.

401 Unauthorized

Missing, expired, or revoked access key

{ "error": "Invalid or missing x-access-key" }

422 Unprocessable Entity

Input validation failure

{ "error": "projectDescription must be at least 50 characters" }

429 Too Many Requests

Rate limit exceeded — implement exponential backoff

{ "error": "Rate limit exceeded. Retry after 60 seconds.", "retryAfter": 60 }

500 Internal Server Error

Transient server error — safe to retry with backoff

{ "error": "Internal server error. Please retry." }
Rate Limits

Request Limits by Plan

PlanRequests / MinuteRequests / Hour
Starter20200
Professional1001,000
AgencyUnlimitedUnlimited (SLA-governed)

Rate Limit Headers

All responses include rate limit state in the following headers:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1711234567

Best Practices

  • Cache fit score results — scores are deterministic for identical inputs
  • Implement exponential backoff on 429 responses
  • Monitor the X-RateLimit-Remaining header to avoid hitting limits
  • For bulk operations, contact your account manager for Agency-tier access
Integration Support

For technical integration questions, custom endpoint requirements, or enterprise API access, contact [email protected]. Agency plan subscribers receive dedicated technical onboarding.