{
  "openapi": "3.0.1",
  "info": {
    "title": "Grants.gov Federal Grant Crawler",
    "description": "Crawl federal grant opportunities from Grants.gov (posted, forecasted, closed, archived). Extract titles, agencies, CFDA numbers, funding amounts, eligibility, close dates, and grantor contacts. Filter by agency, category, instrument, eligibility, CFDA, keyword, or posted-date window.",
    "version": "1.0",
    "x-build-id": "1vsui5aFsvcELUKdD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jungle_synthesizer~grants-gov-crawler/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jungle_synthesizer-grants-gov-crawler",
        "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/jungle_synthesizer~grants-gov-crawler/runs": {
      "post": {
        "operationId": "runs-sync-jungle_synthesizer-grants-gov-crawler",
        "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/jungle_synthesizer~grants-gov-crawler/run-sync": {
      "post": {
        "operationId": "run-sync-jungle_synthesizer-grants-gov-crawler",
        "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",
        "required": [
          "sp_intended_usage",
          "sp_improvement_suggestions"
        ],
        "properties": {
          "sp_intended_usage": {
            "title": "What is the intended usage of this data?",
            "minLength": 1,
            "type": "string",
            "description": "Please describe how you plan to use the data extracted by this crawler."
          },
          "sp_improvement_suggestions": {
            "title": "How can we improve this crawler for you?",
            "minLength": 1,
            "type": "string",
            "description": "Provide any feedback or suggestions for improvements."
          },
          "sp_contact": {
            "title": "Contact Email",
            "minLength": 1,
            "type": "string",
            "description": "Provide your email address so we can get in touch with you."
          },
          "keyword": {
            "title": "Search Keyword",
            "type": "string",
            "description": "Full-text search across opportunity titles and descriptions."
          },
          "oppStatuses": {
            "title": "Opportunity Status",
            "enum": [
              "posted",
              "forecasted",
              "posted|forecasted",
              "closed",
              "archived",
              "posted|closed",
              "posted|forecasted|closed|archived"
            ],
            "type": "string",
            "description": "Pipe-separated status list. Default: posted (active opportunities only)."
          },
          "agencies": {
            "title": "Agencies",
            "type": "string",
            "description": "Pipe-separated sub-agency codes (e.g. USDA-AMS|DOD-AFRL). Sub-agency level codes only — top-level codes like USDA do not cascade. Leave blank for all agencies."
          },
          "cfda": {
            "title": "CFDA / Assistance Listing Numbers",
            "type": "string",
            "description": "Pipe-separated CFDA numbers (e.g. 15.931|10.170). Leave blank for all."
          },
          "fundingCategories": {
            "title": "Funding Categories",
            "type": "array",
            "description": "Filter by category of funding activity. Leave empty for all.",
            "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",
                "RD",
                "ST",
                "T",
                "HOU"
              ],
              "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 (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",
                "Regional Development",
                "Science and Technology",
                "Transportation",
                "Housing Assistance"
              ]
            }
          },
          "fundingInstruments": {
            "title": "Funding Instruments",
            "type": "array",
            "description": "Filter by type of financial assistance. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "G",
                "CA",
                "PC",
                "O"
              ],
              "enumTitles": [
                "Grant",
                "Cooperative Agreement",
                "Procurement Contract",
                "Other"
              ]
            }
          },
          "eligibilities": {
            "title": "Eligible Applicants",
            "type": "array",
            "description": "Filter by applicant eligibility type. Leave empty for all.",
            "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 ed",
                "Federally recognized Tribal governments",
                "Public housing authorities",
                "Non-federally recognized Tribal organizations",
                "501(c)(3) nonprofits (non-higher-ed)",
                "Non-501(c)(3) nonprofits (non-higher-ed)",
                "Private institutions of higher education",
                "Individuals",
                "For-profit organizations (non-small-business)",
                "Small businesses",
                "Others (see Additional Information)",
                "Unrestricted"
              ]
            }
          },
          "oppNum": {
            "title": "Opportunity Number",
            "type": "string",
            "description": "Specific opportunity number (e.g. P25AS00474). Filters to a single record."
          },
          "dateRange": {
            "title": "Posted Within Last N Days",
            "enum": [
              "",
              "3",
              "7",
              "14",
              "21",
              "28",
              "35",
              "42",
              "49",
              "56"
            ],
            "type": "string",
            "description": "Restrict to opportunities posted within the last N days. Leave empty for no date restriction."
          },
          "sortBy": {
            "title": "Sort By",
            "enum": [
              "",
              "openDate|desc",
              "openDate|asc",
              "closeDate|desc",
              "closeDate|asc",
              "title|asc",
              "agencyCode|asc"
            ],
            "type": "string",
            "description": "Sort order for listing results."
          },
          "fetchDetails": {
            "title": "Fetch Full Opportunity Details",
            "type": "boolean",
            "description": "When enabled, fetches full synopsis (description, funding amounts, eligibility, grantor contact) for each opportunity via a second API call. When disabled, only returns the lean listing summary. Detail fetches roughly double crawl time.",
            "default": true
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of grant opportunities to return.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Select proxies. Grants.gov is a government API and does not require proxies."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}