About CommonGrants
CommonGrants is an open protocol for sharing information about grant opportunities, applications, and awards across platforms.
What is CommonGrants?
Section titled “What is CommonGrants?”CommonGrants defines a set of API endpoints and data models for common grant lifecycle tasks — from discovering opportunities to submitting applications and reporting on awards. The protocol is designed to support interoperability by default, while enabling customization to meet the needs of different platforms.
To simplify adoption, CommonGrants is implemented in TypeSpec, a language for defining APIs that compiles to OpenAPI, JSON Schema, and other common formats. This makes it easy to:
- Validate compliance across implementations
- Generate libraries and tools in different languages
- Extend the protocol without breaking existing tools
We also provide:
@common-grants/core: A TypeSpec library of canonical models and routes@common-grants/cli: A CLI to scaffold, define, and validate API implementations
Design principles
Section titled “Design principles”CommonGrants is guided by a few key principles:
- Standardization: A shared language for describing grants, applications, and awards
- Extensibility: A core schema with support for platform-specific extensions
- Interoperability: Tools and APIs that work across systems, not just within them
- Portability: Grant data that users and organizations can carry with them
Roadmap
Section titled “Roadmap”The CommonGrants protocol is evolving in phases, with a focus on real-world usability and adoption.
-
Done: Foundation and early adoption
- Models and routes for opportunities, applications, and awards
- A core TypeSpec library, CLI, and Python and TypeScript SDKs
- Custom fields and plugins for platform-specific extensions
- A mock API for trying routes directly in the API docs
- Adoption of the protocol within the SimplerGrants API
-
Now: Award support and developer tooling
- SDK support and a reference implementation for award data
- API versioning and migration tools
- Project templates and a clearer path for community contributions
-
Next: A stable release
- A v1.0 release of the protocol
- Public directory of compatible tools and implementations
Want to help shape what comes next? Vote for features on our co-planning board.
Background and inspiration
Section titled “Background and inspiration”CommonGrants builds on the design patterns and community principles behind:
- JSON Schema: For structured, self-validating data
- OpenAPI: For generating consistent APIs
- FHIR: For standardizing complex data across a fragmented ecosystem
- ActivityPub: For federated interoperability