{
  "openapi": "3.0.1",
  "info": {
    "title": "Grants.gov Opportunities: US Federal Grants Feed",
    "description": "Search US federal grant opportunities from the official Grants.gov API by keyword, eligibility, funding category, agency and dates. Gets award ceiling and floor, expected awards, eligibility, ALN numbers and a summary. Optional new-since-last-run monitor mode.",
    "version": "1.0",
    "x-build-id": "E9DrTlfQf7NIlb5b1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/offerastudio~grants-gov-opportunities/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-offerastudio-grants-gov-opportunities",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/offerastudio~grants-gov-opportunities/runs": {
      "post": {
        "operationId": "runs-sync-offerastudio-grants-gov-opportunities",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/offerastudio~grants-gov-opportunities/run-sync": {
      "post": {
        "operationId": "run-sync-offerastudio-grants-gov-opportunities",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Search phrases. Each phrase is searched on its own and the results are merged, so an opportunity matches if it contains any phrase. Leave empty for all opportunities.",
            "items": {
              "type": "string"
            }
          },
          "eligibility": {
            "title": "Who can apply",
            "type": "array",
            "description": "Only opportunities open to at least one of these applicant types.",
            "items": {
              "type": "string",
              "enum": [
                "nonprofits",
                "small-business",
                "for-profit",
                "state-local-government",
                "school-districts",
                "higher-education",
                "tribal",
                "public-housing",
                "individuals",
                "unrestricted",
                "others"
              ],
              "enumTitles": [
                "Nonprofits (with or without 501(c)(3))",
                "Small businesses",
                "For-profit organizations other than small businesses",
                "State, county, city and special district governments",
                "Independent school districts",
                "Public and private institutions of higher education",
                "Native American tribal governments and organizations",
                "Public housing authorities",
                "Individuals",
                "Unrestricted (open to any applicant)",
                "Others (see the notice)"
              ]
            }
          },
          "fundingCategories": {
            "title": "Funding categories",
            "type": "array",
            "description": "Grants.gov funding activity categories.",
            "items": {
              "type": "string",
              "enum": [
                "AG",
                "AR",
                "BC",
                "CD",
                "CP",
                "DPR",
                "ED",
                "ELT",
                "EN",
                "ENV",
                "FN",
                "HL",
                "HO",
                "HU",
                "ISS",
                "IS",
                "IIJ",
                "LJL",
                "NR",
                "OZ",
                "O",
                "RT",
                "RD",
                "ST",
                "T"
              ],
              "enumTitles": [
                "Agriculture",
                "Arts",
                "Business and Commerce",
                "Community Development",
                "Consumer Protection",
                "Disaster Prevention and Relief",
                "Education",
                "Employment, Labor and Training",
                "Energy",
                "Environment",
                "Food and Nutrition",
                "Health",
                "Housing",
                "Humanities",
                "Income Security and Social Services",
                "Information and Statistics",
                "Infrastructure Investment and Jobs Act",
                "Law, Justice and Legal Services",
                "Natural Resources",
                "Opportunity Zone Benefits",
                "Other",
                "Recreation and Tourism",
                "Regional Development",
                "Science and Technology",
                "Transportation"
              ]
            }
          },
          "agencies": {
            "title": "Agencies",
            "type": "array",
            "description": "Agency codes or names: HHS (all of HHS), HHS-NIH11, DOE, NSF, or part of a name such as \"Forest Service\". An opportunity matches if its agency matches any entry.",
            "items": {
              "type": "string"
            }
          },
          "alnNumbers": {
            "title": "Assistance Listing (ALN / CFDA) numbers",
            "type": "array",
            "description": "For example 93.847. An opportunity matches if it has any of them.",
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Opportunity status",
            "type": "array",
            "description": "Posted = open for applications. Forecasted = announced in advance.",
            "items": {
              "type": "string",
              "enum": [
                "posted",
                "forecasted"
              ],
              "enumTitles": [
                "Posted (open)",
                "Forecasted"
              ]
            },
            "default": [
              "posted",
              "forecasted"
            ]
          },
          "postedFrom": {
            "title": "Posted from",
            "type": "string",
            "description": "First posting date, for example 2026-10-01, or relative: \"7 days\" means 7 days ago."
          },
          "postedTo": {
            "title": "Posted to",
            "type": "string",
            "description": "Last posting date, inclusive."
          },
          "closingFrom": {
            "title": "Closing from",
            "type": "string",
            "description": "Earliest closing date, for example 2026-11-01, or relative: \"+30 days\" means in 30 days. Opportunities without a closing date (forecasts) are left out when a closing window is set."
          },
          "closingTo": {
            "title": "Closing to",
            "type": "string",
            "description": "Latest closing date, inclusive."
          },
          "minAwardCeiling": {
            "title": "Minimum award ceiling (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only opportunities whose award ceiling is at least this much. Needs one extra request per opportunity checked."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Stop after this many rows. You pay $0.002 for each.",
            "default": 50
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "all",
              "new-since-last-run"
            ],
            "type": "string",
            "description": "All = every matching opportunity each time. New since last run = remembers what it has seen (in a named key-value store) and returns only new and changed opportunities; the first run saves a baseline.",
            "default": "all"
          },
          "includeUnchanged": {
            "title": "Include unchanged opportunities",
            "type": "boolean",
            "description": "Monitor mode: also return opportunities that did not change (you pay for them).",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Names the snapshot store, so you can edit the filters without losing it. Leave empty to name it after the filters."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}