{
  "openapi": "3.0.1",
  "info": {
    "title": "Federal Grants & Contracts Finder: Grants.gov + USAspending",
    "description": "Open and forecasted federal grant opportunities from Grants.gov plus contract and grant awards from USAspending.gov, in one unified schema: deadlines, ceilings, amounts, agency, NAICS/PSC, recipient, and a link to the official record. No API key. $0.002 per opportunity, $0.0015 per award.",
    "version": "0.1",
    "x-build-id": "7s4Ar2yagfUo4L8sD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/transparent_meteorite~federal-grants-contracts/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-transparent_meteorite-federal-grants-contracts",
        "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/transparent_meteorite~federal-grants-contracts/runs": {
      "post": {
        "operationId": "runs-sync-transparent_meteorite-federal-grants-contracts",
        "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/transparent_meteorite~federal-grants-contracts/run-sync": {
      "post": {
        "operationId": "run-sync-transparent_meteorite-federal-grants-contracts",
        "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": "What to fetch",
            "enum": [
              "openOpportunities",
              "awards",
              "both"
            ],
            "type": "string",
            "description": "openOpportunities: open and forecasted grant opportunities from Grants.gov. awards: contract and grant awards already made, from USAspending.gov. both: run the two and merge into one unified output.",
            "default": "both"
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "One search per keyword, results merged and de-duplicated. Leave empty to list the newest opportunities / largest recent awards with only your other filters. Example: [\"cybersecurity\",\"rural broadband\"].",
            "default": [
              "cybersecurity"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max rows in total",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Hard cap on rows delivered (and billed) across everything. Opportunities are delivered first, then awards.",
            "default": 10
          },
          "opportunityStatuses": {
            "title": "Opportunity status",
            "type": "array",
            "description": "posted = open for applications, forecasted = announced in advance. (Closed and archived opportunities are not offered here.)",
            "items": {
              "type": "string",
              "enum": [
                "posted",
                "forecasted"
              ]
            },
            "default": [
              "posted",
              "forecasted"
            ]
          },
          "agencies": {
            "title": "Grants.gov agency codes",
            "type": "array",
            "description": "Optional. Grants.gov top-level agency codes, for example HHS, DOC, DOE, USDA, NSF, DOD, ED, DOT. Matches the agency filter on grants.gov.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "eligibilityCodes": {
            "title": "Applicant type codes",
            "type": "array",
            "description": "Optional. Grants.gov eligibility codes: 00 State governments, 01 County, 02 City or township, 04 Special district, 05 Independent school districts, 06 Public/state-controlled higher ed, 07 Federally recognized tribes, 12 Nonprofits with 501(c)(3), 13 Nonprofits without 501(c)(3), 20 Private higher ed, 21 Individuals, 22 For-profit (not small business), 23 Small businesses, 25 Others, 99 Unrestricted. Example: [\"23\",\"12\"].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "fundingCategories": {
            "title": "Funding category codes",
            "type": "array",
            "description": "Optional. Grants.gov category codes, for example ST (science and technology), HL (health), ED (education), EN (energy), AG (agriculture), BC (business and commerce), CD (community development), ENV (environment), HU (humanities), IS (information and statistics), TR (transportation).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "assistanceListings": {
            "title": "Assistance Listing (CFDA) numbers",
            "type": "array",
            "description": "Optional. For example 11.029. Opportunities for these programs only.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "closingWithinDays": {
            "title": "Only closing within N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Optional. Keep opportunities whose close date is within this many days from today. Opportunities with no close date (rolling) are kept only if you leave this empty."
          },
          "includeDetails": {
            "title": "Fetch opportunity details",
            "type": "boolean",
            "description": "One extra request per opportunity to Grants.gov fetchOpportunity: adds description, award ceiling and floor, expected number of awards, eligible applicants, funding instruments and posting/archive dates. No extra charge.",
            "default": true
          },
          "awardKinds": {
            "title": "Award kinds",
            "type": "array",
            "description": "contracts = procurement contracts and delivery orders; grants = grants and cooperative agreements.",
            "items": {
              "type": "string",
              "enum": [
                "contracts",
                "grants"
              ]
            },
            "default": [
              "contracts",
              "grants"
            ]
          },
          "awardsLookbackDays": {
            "title": "Awards look-back (days)",
            "minimum": 1,
            "maximum": 6000,
            "type": "integer",
            "description": "Awards with activity in the last N days. Ignored when both award dates below are set. USAspending data starts at 2007-10-01.",
            "default": 365
          },
          "awardsFromDate": {
            "title": "Awards from date",
            "type": "string",
            "description": "Optional, YYYY-MM-DD. Overrides the look-back. Example: \"2026-01-01\"."
          },
          "awardsToDate": {
            "title": "Awards to date",
            "type": "string",
            "description": "Optional, YYYY-MM-DD. Defaults to today. Example: \"2026-09-30\"."
          },
          "awardingAgencies": {
            "title": "Awarding agencies (USAspending)",
            "type": "array",
            "description": "Optional. Top-tier agency names exactly as USAspending writes them, for example Department of Defense, Department of Health and Human Services, National Aeronautics and Space Administration.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "naicsCodes": {
            "title": "NAICS codes",
            "type": "array",
            "description": "Optional. Contract awards only. For example 541512 or the prefix 5415.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "pscCodes": {
            "title": "PSC codes",
            "type": "array",
            "description": "Optional. Contract awards only. Product/Service Codes such as D302 (IT systems development). Example: [\"D302\",\"R425\"].",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "placeOfPerformanceStates": {
            "title": "Place of performance states",
            "type": "array",
            "description": "Optional. Two-letter US state codes, for example MI, TX.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "recipientSearch": {
            "title": "Recipient name contains",
            "type": "string",
            "description": "Optional. Track a competitor or a customer: awards whose recipient name matches this text. Example: \"Lockheed\"."
          },
          "minAwardAmount": {
            "title": "Minimum award amount (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Awards at or above this total amount."
          },
          "maxAwardAmount": {
            "title": "Maximum award amount (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Awards at or below this total amount."
          },
          "awardsSortBy": {
            "title": "Sort awards by",
            "enum": [
              "amount",
              "startDate"
            ],
            "type": "string",
            "description": "Largest amount first, or most recent start date first.",
            "default": "amount"
          },
          "monitorMode": {
            "title": "Monitor mode (only new or changed)",
            "type": "boolean",
            "description": "Recurring-run mode: return only opportunities and awards that are new or whose status, close date, amounts or recipient changed since the last monitor run (use a high enough Max items so the whole result window is covered). The first run is a baseline and returns everything in scope. Unchanged records are not returned and not charged. Schedule the actor (Schedules tab) to get a recurring feed. Each row gets a changeType of new or changed.",
            "default": false
          },
          "reportRemoved": {
            "title": "Also report removed (monitor mode)",
            "type": "boolean",
            "description": "With monitor mode on, also emit one row with changeType \"removed\" for opportunities or awards returned in an earlier run that the same searches no longer return (closed, archived, aged out or edited), only if every search ran to its end. Removed rows are free: they are not charged and never count toward your charge limit or max results. Nothing is reported as removed on the baseline run, when the fetch was incomplete or hit a cap, or when your input filters changed since the baseline (the next run re-learns the baseline instead). Default off.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the saved baseline. Use a different name per watch list so schedules do not overwrite each other. Default is 'default'. Example: \"cyber-watch\".",
            "default": "default"
          },
          "noticeTypes": {
            "title": "Notice types (opportunity status)",
            "type": "array",
            "description": "Extra opportunity statuses to search: posted, forecasted, closed, archived. Adds to the Opportunity statuses setting.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "setAsideCodes": {
            "title": "Set-aside codes (awards)",
            "type": "array",
            "description": "USAspending set-aside codes for contract awards, for example SBA, 8A, HZC, SDVOSBC, WOSB. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "naics": {
            "title": "NAICS codes (alias)",
            "type": "array",
            "description": "Same as NAICS codes; both lists are merged.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "postedFrom": {
            "title": "Posted from",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Date as YYYY-MM-DD. Filters opportunities by posting date."
          },
          "postedTo": {
            "title": "Posted to",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Date as YYYY-MM-DD. Filters opportunities by posting date."
          },
          "responseDueFrom": {
            "title": "Response due from",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Date as YYYY-MM-DD. Filters opportunities by response deadline."
          },
          "responseDueTo": {
            "title": "Response due to",
            "pattern": "^(\\d{4}-\\d{2}-\\d{2})?$",
            "type": "string",
            "description": "Date as YYYY-MM-DD. Filters opportunities by response deadline."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}