Genuine Good News Grants API
The grants API from Genuine Good News — 1 operation(s) for grants.
The grants API from Genuine Good News — 1 operation(s) for grants.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/genuinegood-online:genuinegood-online-grants-api"
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.
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: 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