{
  "openapi": "3.0.1",
  "info": {
    "title": "Grants.gov Opportunities Feed: New & Forecasted Federal Grants",
    "description": "New and forecasted US federal grant opportunities from the official Grants.gov API. Filter by keyword, agency, eligibility (nonprofit, small business, tribal, city), category and CFDA. Optional award ceiling/floor, funding and eligibility details. New-since-last-run mode for daily alerts.",
    "version": "0.1",
    "x-build-id": "nRNNCFMOq6LUaTfBp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/moment-data~grants-opportunities-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-moment-data-grants-opportunities-feed",
        "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/moment-data~grants-opportunities-feed/runs": {
      "post": {
        "operationId": "runs-sync-moment-data-grants-opportunities-feed",
        "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/moment-data~grants-opportunities-feed/run-sync": {
      "post": {
        "operationId": "run-sync-moment-data-grants-opportunities-feed",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "window",
              "sinceLastRun"
            ],
            "type": "string",
            "description": "window (default): opportunities posted in the last N days, no saved state. sinceLastRun: only opportunities not delivered before for this State key (plus forecasts that have since been officially posted); use this for daily schedules.",
            "default": "window"
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Opportunities posted (or forecast) on grants.gov in the last N calendar days (US Eastern). Also the first-run window in sinceLastRun mode. In window mode an empty result is retried once with 30 days.",
            "default": 7
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "grants.gov keyword search, e.g. \"rural broadband\", \"opioid\", \"workforce\", \"artificial intelligence\", or an opportunity number prefix such as PAR-25."
          },
          "statuses": {
            "title": "Statuses",
            "type": "array",
            "description": "posted (open for applications) and/or forecasted (announced ahead of time). Empty = both.",
            "items": {
              "type": "string"
            }
          },
          "agencies": {
            "title": "Agencies",
            "type": "array",
            "description": "grants.gov agency codes or names. A department code expands to all its sub-agencies: HHS, HHS-NIH11, HHS-CDC, DOE, NSF, USDA, USDA-NIFA, ED, EPA, DOJ codes like USDOJ-OJP. Names such as \"National Institutes of Health\" also work. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "eligibilities": {
            "title": "Eligible applicants",
            "type": "array",
            "description": "Who can apply (any match). Friendly names or grants.gov codes: nonprofit (12,13), small business (23), for profit (22,23), state (00), county (01), city (02), school district (05), university (06,20), tribal (07,11), public housing (08), individuals (21), unrestricted (99). Empty = any.",
            "items": {
              "type": "string"
            }
          },
          "fundingCategories": {
            "title": "Funding categories",
            "type": "array",
            "description": "Category names or codes (any match): Health (HL), Education (ED), Science and Technology (ST), Environment (ENV), Agriculture (AG), Arts (AR), Community Development (CD), Energy (EN), Housing (HO), Transportation (T), Law, Justice and Legal Services (LJL), Income Security and Social Services (ISS), Employment, Labor and Training (ELT), IIJA (IIJ) and more. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "fundingInstruments": {
            "title": "Funding instruments",
            "type": "array",
            "description": "grant (G), cooperative agreement (CA), procurement contract (PC), other (O). Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "assistanceListings": {
            "title": "Assistance Listing (CFDA) numbers",
            "type": "array",
            "description": "e.g. 93.243, 84.305, 10.310. Opportunities listing any of these numbers. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "closingWithinDays": {
            "title": "Closing within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Optional: only posted opportunities whose application deadline is within N days (forecasts are kept). Leave empty for no deadline filter."
          },
          "enrichDetails": {
            "title": "Add award amounts, eligibility & description (extra charge)",
            "type": "boolean",
            "description": "Fetches each opportunity's full grants.gov record: award ceiling and floor, estimated total funding, expected number of awards, cost sharing, eligible applicant types, eligibility details, funding categories and instruments, plain-text description, forecast dates. Charged as one grant-enriched event per opportunity.",
            "default": false
          },
          "maxItems": {
            "title": "Max opportunities per run",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on delivered opportunities (also caps your spend). Default is small so a first run is quick and cheap; raise it for production.",
            "default": 30
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the saved search for sinceLastRun mode. Each key keeps its own history, so use one key per schedule.",
            "default": "default"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}