{
  "openapi": "3.0.1",
  "info": {
    "title": "Grants.gov Funding Opportunities Scraper",
    "description": "US federal grant opportunities from the official Grants.gov Search2 API: agency, ALN, deadline, award ceiling and floor, eligibility and agency contact.",
    "version": "0.1",
    "x-build-id": "nJt4yL5IW3mnBr8FY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/knotty_mistveil~grants-gov-opportunities/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-knotty_mistveil-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/knotty_mistveil~grants-gov-opportunities/runs": {
      "post": {
        "operationId": "runs-sync-knotty_mistveil-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/knotty_mistveil~grants-gov-opportunities/run-sync": {
      "post": {
        "operationId": "run-sync-knotty_mistveil-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": {
          "statuses": {
            "title": "Opportunity statuses",
            "type": "array",
            "description": "Which opportunity states to return. Posted = open for applications; Forecasted = announced in advance, not yet posted; Closed = past its due date but not yet archived; Archived = removed from the active list (the whole historical back-catalogue, about 73,000 records). Default: posted.",
            "items": {
              "type": "string",
              "enum": [
                "posted",
                "forecasted",
                "closed",
                "archived"
              ],
              "enumTitles": [
                "Posted (open now)",
                "Forecasted (announced in advance)",
                "Closed (due date passed)",
                "Archived (historical)"
              ]
            },
            "default": [
              "posted"
            ]
          },
          "daysBack": {
            "title": "Days back",
            "minimum": 1,
            "maximum": 9000,
            "type": "integer",
            "description": "Look-back window in days on the opportunity's open date (for a forecast, its estimated posting date), ending today. Ignored when Date from / Date to are set. The archive starts on 22 March 2004, so 9000 covers everything Grants.gov holds.",
            "default": 30
          },
          "dateFrom": {
            "title": "Date from",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Start of the open-date window, YYYY-MM-DD (inclusive). Overrides Days back."
          },
          "dateTo": {
            "title": "Date to",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "End of the open-date window, YYYY-MM-DD (inclusive). Defaults to today."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Terms passed to the Grants.gov full-text search, which covers the title, opportunity number, agency and description. Terms are ORed; a term containing spaces is searched as an exact phrase. Empty = no keyword filter.",
            "items": {
              "type": "string"
            }
          },
          "agencies": {
            "title": "Agency codes",
            "type": "array",
            "description": "Grants.gov agency codes. A department code keeps every sub-agency under it: HHS matches HHS-NIH11 and HHS-HRSA, USDOJ matches USDOJ-OJP-BJA. Common codes: HHS, NSF, DOE, DOD, USDA, ED, EPA, DOI, DOS, DOT, HUD, USDOJ, DOL, DHS, NASA, NEA, NEH, SBA, VA, USAID. Empty = all agencies.",
            "items": {
              "type": "string"
            }
          },
          "fundingCategories": {
            "title": "Funding categories",
            "type": "array",
            "description": "Grants.gov funding-activity categories. Empty = all categories.",
            "items": {
              "type": "string",
              "enum": [
                "ACA",
                "AG",
                "AR",
                "BC",
                "CD",
                "CP",
                "DPR",
                "ED",
                "ELT",
                "EN",
                "EIC",
                "ENV",
                "FN",
                "HL",
                "HO",
                "HU",
                "ISS",
                "IS",
                "IIJ",
                "LJL",
                "NR",
                "OZ",
                "RA",
                "RT",
                "RD",
                "ST",
                "T",
                "O"
              ],
              "enumTitles": [
                "Affordable Care Act",
                "Agriculture",
                "Arts",
                "Business and Commerce",
                "Community Development",
                "Consumer Protection",
                "Disaster Prevention and Relief",
                "Education",
                "Employment, Labor and Training",
                "Energy",
                "Energy Infrastructure and Critical Minerals",
                "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",
                "Recovery Act",
                "Recreation and Tourism",
                "Regional Development",
                "Science and Technology and other R&D",
                "Transportation",
                "Other"
              ]
            }
          },
          "eligibilities": {
            "title": "Eligible applicant types",
            "type": "array",
            "description": "Keep only opportunities open to at least one of these applicant types. Empty = all types.",
            "items": {
              "type": "string",
              "enum": [
                "00",
                "01",
                "02",
                "04",
                "05",
                "06",
                "07",
                "08",
                "11",
                "12",
                "13",
                "20",
                "21",
                "22",
                "23",
                "25",
                "99"
              ],
              "enumTitles": [
                "State governments",
                "County governments",
                "City or township governments",
                "Special district governments",
                "Independent school districts",
                "Public and State controlled higher education",
                "Native American tribal governments (Federally recognized)",
                "Public housing authorities / Indian housing authorities",
                "Native American tribal organizations (other)",
                "Nonprofits with 501(c)(3) status",
                "Nonprofits without 501(c)(3) status",
                "Private institutions of higher education",
                "Individuals",
                "For profit organizations other than small businesses",
                "Small businesses",
                "Others (see the opportunity's eligibility text)",
                "Unrestricted (open to any entity type)"
              ]
            }
          },
          "fundingInstruments": {
            "title": "Funding instruments",
            "type": "array",
            "description": "Keep only opportunities offering these award types. Empty = all instruments.",
            "items": {
              "type": "string",
              "enum": [
                "G",
                "CA",
                "PC",
                "O"
              ],
              "enumTitles": [
                "Grant",
                "Cooperative Agreement",
                "Procurement Contract",
                "Other"
              ]
            }
          },
          "alnPrefixes": {
            "title": "ALN (CFDA) prefixes",
            "type": "array",
            "description": "Assistance Listing Numbers or their prefixes. Two digits selects a department (93 = Health and Human Services, 47 = National Science Foundation, 84 = Education, 10 = Agriculture, 81 = Energy, 66 = EPA, 16 = Justice, 20 = Transportation, 14 = HUD); the full number selects one programme (93.310). An opportunity is kept when any of its ALNs starts with any prefix. Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Fetch full opportunity details",
            "type": "boolean",
            "description": "Call the Grants.gov fetchOpportunity endpoint once per kept opportunity to add the synopsis text, award ceiling and floor, estimated total funding, expected number of awards, cost-sharing flag, eligible applicant types, funding categories and instruments, archive date and the agency contact name, email and phone. Turning this off makes the run far faster - measured 8 September 2026: 500 records in 3.4 s with details off, 100 records in 22.5 s with them on - but leaves those fields null.",
            "default": true
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many opportunities. You are charged per opportunity delivered, so this is also the cost cap. Newest open date first, so a value below the window's volume drops the OLDEST opportunities in the window. Measured on 8 September 2026: 30 days of posted opportunities is about 180 records, 30 days of all four statuses about 295, a full year of all four about 2,525.",
            "default": 200
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}