{
  "openapi": "3.0.1",
  "info": {
    "title": "Grants.gov Scraper: Federal Grant Opportunities",
    "description": "Scrape Grants.gov federal grant opportunities with award amounts, deadlines, eligibility, ALN and attachments; look up by number or monitor new grants. This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human Services.",
    "version": "0.1",
    "x-build-id": "3SvM49elCejUaSOAK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~grants-gov-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-grants-gov-scraper",
        "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/automation_craft~grants-gov-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-grants-gov-scraper",
        "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/automation_craft~grants-gov-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-grants-gov-scraper",
        "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": {
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Words to search for, as on Grants.gov: words separated by spaces match ANY of them, AND between words matches all, a phrase in double quotes matches exactly, a minus excludes a word (water -quality), a star matches a word start (wat*). Grants.gov searches the title, the description, the eligibility text and the Assistance Listing titles. Example: \"rural broadband\". Left empty: no keyword."
          },
          "statuses": {
            "title": "Opportunity status",
            "type": "array",
            "description": "Which opportunities to include. Left empty: forecasted and posted (the open ones, about 1,500). Closed and archived reach back to 2004 (about 82,000).",
            "items": {
              "type": "string",
              "enum": [
                "forecasted",
                "posted",
                "closed",
                "archived"
              ],
              "enumTitles": [
                "Forecasted (announced, not open yet)",
                "Posted (open for applications)",
                "Closed",
                "Archived"
              ]
            }
          },
          "agencies": {
            "title": "Agencies",
            "type": "array",
            "description": "Agency codes as Grants.gov lists them. A department code (HHS, DOE, NSF) includes all its sub agencies; a sub agency code (HHS-NIH11, DOE-ID) means that one only. Codes are checked against Grants.gov's own agency list; an unknown code stops the run with a free row that says so. Example: HHS-NIH11.",
            "items": {
              "type": "string"
            }
          },
          "fundingCategories": {
            "title": "Funding categories",
            "type": "array",
            "description": "Categories of funding activity. An opportunity matches when it carries ANY of the chosen 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",
                "O",
                "RA",
                "RT",
                "RD",
                "ST",
                "T"
              ],
              "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 Mineral and Materials (EICMM)",
                "Environment",
                "Food and Nutrition",
                "Health",
                "Housing",
                "Humanities",
                "Income Security and Social Services",
                "Information and Statistics",
                "Infrastructure Investment and Jobs Act (IIJA)",
                "Law, Justice and Legal Services",
                "Natural Resources",
                "Opportunity Zone Benefits",
                "Other",
                "Recovery Act",
                "Recreation and Tourism",
                "Regional Development",
                "Science and Technology and other Research and Development",
                "Transportation"
              ]
            }
          },
          "fundingInstruments": {
            "title": "Funding instruments",
            "type": "array",
            "description": "Grant, cooperative agreement, procurement contract or other. An opportunity matches when it carries ANY of the chosen instruments.",
            "items": {
              "type": "string",
              "enum": [
                "G",
                "CA",
                "PC",
                "O"
              ],
              "enumTitles": [
                "Grant",
                "Cooperative Agreement",
                "Procurement Contract",
                "Other"
              ]
            }
          },
          "eligibleApplicants": {
            "title": "Eligible applicants",
            "type": "array",
            "description": "Who may apply. An opportunity matches when it names ANY of the chosen applicant types. Unrestricted opportunities carry their own type (Unrestricted).",
            "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 institutions of higher education",
                "Native American tribal governments (Federally recognized)",
                "Public housing authorities/Indian housing authorities",
                "Native American tribal organizations (other than Federally recognized tribal governments)",
                "Nonprofits having a 501(c)(3) status with the IRS, other than institutions of higher education",
                "Nonprofits that do not have a 501(c)(3) status with the IRS, other than institutions of higher education",
                "Private institutions of higher education",
                "Individuals",
                "For profit organizations other than small businesses",
                "Small businesses",
                "Others (see text field entitled \"Additional Information on Eligibility\" for clarification)",
                "Unrestricted (i.e., open to any type of entity above), subject to any clarification in text field entitled \"Additional Information on Eligibility\""
              ]
            }
          },
          "assistanceListings": {
            "title": "Assistance Listing (CFDA) numbers",
            "type": "array",
            "description": "Assistance Listing numbers, formerly CFDA numbers, written NN.NNN (a few carry letters, such as 93.T21). Example: 93.866. An opportunity matches when it lists ANY of them.",
            "items": {
              "type": "string"
            }
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Only opportunities posted on or after the date N days before the run's date (US Eastern; a forecast counts from the day it was announced). Use this or the two posted dates below, not both."
          },
          "postedFrom": {
            "title": "Posted from",
            "type": "string",
            "description": "Earliest posted date, YYYY-MM-DD."
          },
          "postedTo": {
            "title": "Posted to",
            "type": "string",
            "description": "Latest posted date, YYYY-MM-DD."
          },
          "closingWithinDays": {
            "title": "Closing within the next N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Only opportunities whose application due date is between today and today plus N days (0 means closing today). Forecasts carry no close date, so this leaves them out. Use this or the two closing dates below, not both."
          },
          "closingFrom": {
            "title": "Closing from",
            "type": "string",
            "description": "Earliest application due date, YYYY-MM-DD."
          },
          "closingTo": {
            "title": "Closing to",
            "type": "string",
            "description": "Latest application due date, YYYY-MM-DD."
          },
          "minAwardCeiling": {
            "title": "Minimum award ceiling (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only opportunities whose largest single award (award ceiling) is at least this many US dollars. Checked on the full record: opportunities without a stated ceiling are left out, and records that do not pass are not charged."
          },
          "sortBy": {
            "title": "Order",
            "enum": [
              "newest",
              "oldest",
              "closingSoonest",
              "closingLatest",
              "agency",
              "title",
              "number"
            ],
            "type": "string",
            "description": "The order in which opportunities are read and delivered. Left empty: newest posted first."
          },
          "opportunities": {
            "title": "Opportunity numbers, ids or links",
            "type": "array",
            "description": "Opportunity numbers (PAR-25-274, HHS-2026-ACF-OCS-EE-0001), Grants.gov ids (357305) or Grants.gov links. Numbers are matched exactly and are case sensitive; a number shared by several opportunities returns each of them. An id or number Grants.gov does not have gets a free status row.",
            "items": {
              "type": "string"
            }
          },
          "includeDetails": {
            "title": "Full records",
            "type": "boolean",
            "description": "On: every opportunity is delivered as its full record (amounts, eligibility, description, contacts, attachments, packages, version count), one Opportunity event each. Off: the short list row only (id, number, title, agency, status, dates, Assistance Listings), one cheaper Search result event each. Left empty: on."
          },
          "includeRevisionHistory": {
            "title": "Revision rows",
            "type": "boolean",
            "description": "Adds one free row per amendment Grants.gov keeps in the record's history: which fields changed between two revisions, before and after, with the agency's comment. Needs full records."
          },
          "maxItems": {
            "title": "Maximum opportunities",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "The most paid rows (opportunities or search results) one run delivers. Left empty: 100. All open opportunities are about 1,500; the whole archive about 83,500."
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Give a name to remember what this search delivered. Each later run with the same name delivers, and charges for, only opportunities that are new to it, or that Grants.gov amended to a higher revision with a change in the status, close date, number, title or posted date. A deadline that passes is not an amendment, and an opportunity it delivered is never forgotten. One name belongs to one search (the same settings); a monitor works with full records."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}