Genuine Good News Grants API

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

GitHub OpenAPI

Operations 2

GET /v1/grants/search U.S. Federal Grant Opportunity Search #

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-grants-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-grants-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Genuine Good / Genuine Good Grants 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: Grants
paths:
  /v1/grants/search:
    post:
      operationId: federal-grant-search
      summary: U.S. Federal Grant Opportunity Search
      description: 'Search current Grants.gov opportunities with normalized deadlines, days remaining, agency, status, assistance listing numbers, and official source links. 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:
      - Grants
      x-x402:
        version: 2
        scheme: exact
        network: eip155:8453
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '50000'
        priceUsd: '0.05'
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.050000'
      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:
                keyword:
                  type: string
                  description: Plain-language mission or funding topic
                statuses:
                  type: array
                  items:
                    enum:
                    - posted
                    - forecasted
                    - closed
                    - archived
                rows:
                  type: integer
                  minimum: 1
                  maximum: 25
                offset:
                  type: integer
                  minimum: 0
                  maximum: 100000
                  default: 0
                  description: Zero-based starting record offset for paginating search results
                agencies:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 40
                  description: Optional Grants.gov agency codes
                eligibilityCodes:
                  type: array
                  items:
                    type: string
                fundingCategories:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 40
                  description: Optional Grants.gov funding activity category codes
                fundingInstruments:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 40
                  description: Optional Grants.gov funding instrument codes
              required:
              - keyword
              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:
                - query
                - totalMatches
                - pagination
                - opportunities
                - source
                - caveat
                properties:
                  query:
                    type: object
                  totalMatches:
                    type: integer
                    minimum: 0
                  pagination:
                    type: object
                    required:
                    - offset
                    - rows
                    - totalMatches
                    - hasMore
                    - nextOffset
                    properties:
                      offset:
                        type: integer
                        minimum: 0
                      rows:
                        type: integer
                        minimum: 1
                        maximum: 25
                      totalMatches:
                        type: integer
                        minimum: 0
                      hasMore:
                        type: boolean
                      nextOffset:
                        type:
                        - integer
                        - 'null'
                        minimum: 0
                    additionalProperties: false
                  opportunities:
                    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
                  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.05 USDC on Base mainnet'
          headers:
            PAYMENT-REQUIRED:
              description: Base64-encoded x402 v2 payment requirements
              schema:
                type: string
    get:
      operationId: federal-grant-search-get
      summary: U.S. Federal Grant Opportunity Search
      description: Search current Grants.gov opportunities with normalized deadlines, days remaining, agency, status, assistance listing numbers, and official source links. GET compatibility accepts the same input as query parameters. Array values may be comma-separated.
      tags:
      - Grants
      x-x402:
        version: 2
        scheme: exact
        network: eip155:8453
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        amount: '50000'
        priceUsd: '0.05'
      x-payment-info:
        protocols:
        - x402: {}
        price:
          mode: fixed
          currency: USD
          amount: '0.050000'
      parameters:
      - name: keyword
        in: query
        required: true
        schema:
          type: string
          description: Plain-language mission or funding topic
      - name: statuses
        in: query
        required: false
        schema:
          type: array
          items:
            enum:
            - posted
            - forecasted
            - closed
            - archived
        style: form
        explode: false
      - name: rows
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 25
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          maximum: 100000
          default: 0
          description: Zero-based starting record offset for paginating search results
      - name: agencies
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 40
          description: Optional Grants.gov agency codes
        style: form
        explode: false
      - name: eligibilityCodes
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
      - name: fundingCategories
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 40
          description: Optional Grants.gov funding activity category codes
        style: form
        explode: false
      - name: fundingInstruments
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 40
          description: Optional Grants.gov funding instrument codes
        style: form
        explode: false
      - 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:
                - query
                - totalMatches
                - pagination
                - opportunities
                - source
                - caveat
                properties:
                  query:
                    type: object
                  totalMatches:
                    type: integer
                    minimum: 0
                  pagination:
                    type: object
                    required:
                    - offset
                    - rows
                    - totalMatches
                    - hasMore
                    - nextOffset
                    properties:
                      offset:
                        type: integer
                        minimum: 0
                      rows:
                        type: integer
                        minimum: 1
                        maximum: 25
                      totalMatches:
                        type: integer
                        minimum: 0
                      hasMore:
                        type: boolean
                      nextOffset:
                        type:
                        - integer
                        - 'null'
                        minimum: 0
                    additionalProperties: false
                  opportunities:
                    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
                  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.05 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