Genuine Good News grant matching API

The grant matching API from Genuine Good News — 1 operation(s) for grant matching.

GitHub OpenAPI

Operations 2

POST /v1/grants/fit Federal Grant Mission Fit #
GET /v1/grants/fit Federal Grant Mission Fit #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/genuinegood-online:genuinegood-online-grant-matching-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

genuinegood-online-grant-matching-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Genuine Good Grants / Genuine Good Grants grant matching API
  version: 1.0.0
  description: Independent paid API for current U.S. federal grant discovery using Grants.gov public records. This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human Services.
  termsOfService: https://genuinegood.online/terms
  contact:
    name: Genuine Good Grants
    email: hello@genuinegood.online
    url: https://genuinegood.online/grants
  x-guidance: Use the POST form of the six /v1/grants routes. Send a descriptive User-Agent identifying your actual client and version; the default Python urllib user-agent can be denied at the edge before reaching the API. Do not impersonate a browser. Send JSON without PAYMENT-SIGNATURE first to receive a 402 response, then sign the accepted Base USDC x402 option and retry the identical request. Five grant tools cost $5 USDC per request; the non-renewing 30-day pass costs $15 and supports up to 1,000 calls. See /grants/quickstart.
servers:
- url: https://genuinegood.online
tags:
- name: grant matching
paths:
  /v1/grants/fit:
    post:
      operationId: grant-eligibility-fit
      summary: Federal Grant Mission Fit
      description: 'Rank current U.S. federal opportunities against a mission profile using transparent keyword, deadline, and applicant-type signals; returns reasons and official records. Payment flow: send the request without PAYMENT-SIGNATURE, read PAYMENT-REQUIRED from the 402 response, sign one accepted option, then retry the identical request with PAYMENT-SIGNATURE.'
      tags:
      - grant matching
      x-x402:
        version: 2
        scheme: exact
        network: eip155:8453
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '200000'
        priceUsd: '0.20'
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.200000'
      parameters:
      - name: PAYMENT-SIGNATURE
        in: header
        required: false
        description: Base64-encoded x402 v2 payment payload. First call without this header to receive PAYMENT-REQUIRED, then retry the same request with the signed payload.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                mission:
                  type: string
                  minLength: 5
                keywords:
                  type: array
                  minItems: 1
                  maxItems: 12
                  items:
                    type: string
                eligibilityCodes:
                  type: array
                  items:
                    type: string
                deadlineDays:
                  type: integer
                  minimum: 7
                  maximum: 365
                resultLimit:
                  type: integer
                  minimum: 1
                  maximum: 10
              required:
              - mission
              - keywords
              additionalProperties: false
      responses:
        '200':
          description: Paid result
          headers:
            PAYMENT-RESPONSE:
              description: Base64-encoded x402 settlement response for a successful paid retry
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - profile
                - matches
                - evaluatedCount
                - source
                - caveat
                properties:
                  profile:
                    type: object
                  matches:
                    type: array
                    items:
                      type: object
                      required:
                      - id
                      - title
                      - officialUrl
                      properties:
                        id:
                          type: string
                        title:
                          type: string
                        agency:
                          type: string
                        status:
                          type: string
                        deadline:
                          type:
                          - string
                          - 'null'
                        closeDate:
                          type:
                          - string
                          - 'null'
                        daysRemaining:
                          type:
                          - integer
                          - 'null'
                        officialUrl:
                          type: string
                          format: uri
                      additionalProperties: true
                  evaluatedCount:
                    type: integer
                    minimum: 0
                  source:
                    type: object
                    required:
                    - publisher
                    - api
                    - accessedAt
                    properties:
                      publisher:
                        type: string
                        const: Grants.gov
                      api:
                        type: string
                        format: uri
                      accessedAt:
                        type: string
                        format: date-time
                      terms:
                        type: string
                        format: uri
                    additionalProperties: true
                  caveat:
                    type: string
                additionalProperties: true
        '402':
          description: 'x402 payment required: 0.20 USDC on Base mainnet'
          headers:
            PAYMENT-REQUIRED:
              description: Base64-encoded x402 v2 payment requirements
              schema:
                type: string
    get:
      operationId: grant-eligibility-fit-get
      summary: Federal Grant Mission Fit
      description: Rank current U.S. federal opportunities against a mission profile using transparent keyword, deadline, and applicant-type signals; returns reasons and official records. GET compatibility accepts the same input as query parameters. Array values may be comma-separated.
      tags:
      - grant matching
      x-x402:
        version: 2
        scheme: exact
        network: eip155:8453
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '200000'
        priceUsd: '0.20'
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.200000'
      parameters:
      - name: mission
        in: query
        required: true
        schema:
          type: string
          minLength: 5
      - name: keywords
        in: query
        required: true
        schema:
          type: array
          minItems: 1
          maxItems: 12
          items:
            type: string
        style: form
        explode: false
      - name: eligibilityCodes
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: deadlineDays
        in: query
        required: false
        schema:
          type: integer
          minimum: 7
          maximum: 365
      - name: resultLimit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 10
      - name: PAYMENT-SIGNATURE
        in: header
        required: false
        description: Base64-encoded x402 v2 payment payload. First call without this header to receive PAYMENT-REQUIRED, then retry the same request with the signed payload.
        schema:
          type: string
      responses:
        '200':
          description: Paid result
          headers:
            PAYMENT-RESPONSE:
              description: Base64-encoded x402 settlement response for a successful paid retry
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                required:
                - profile
                - matches
                - evaluatedCount
                - source
                - caveat
                properties:
                  profile:
                    type: object
                  matches:
                    type: array
                    items:
                      type: object
                      required:
                      - id
                      - title
                      - officialUrl
                      properties:
                        id:
                          type: string
                        title:
                          type: string
                        agency:
                          type: string
                        status:
                          type: string
                        deadline:
                          type:
                          - string
                          - 'null'
                        closeDate:
                          type:
                          - string
                          - 'null'
                        daysRemaining:
                          type:
                          - integer
                          - 'null'
                        officialUrl:
                          type: string
                          format: uri
                      additionalProperties: true
                  evaluatedCount:
                    type: integer
                    minimum: 0
                  source:
                    type: object
                    required:
                    - publisher
                    - api
                    - accessedAt
                    properties:
                      publisher:
                        type: string
                        const: Grants.gov
                      api:
                        type: string
                        format: uri
                      accessedAt:
                        type: string
                        format: date-time
                      terms:
                        type: string
                        format: uri
                    additionalProperties: true
                  caveat:
                    type: string
                additionalProperties: true
        '402':
          description: 'x402 payment required: 0.20 USDC on Base mainnet'
          headers:
            PAYMENT-REQUIRED:
              description: Base64-encoded x402 v2 payment requirements
              schema:
                type: string
externalDocs:
  description: This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human Services.
  url: https://www.grants.gov/api/terms-conditions