# Grant Matcher: federal grants that fit you (`hestias-creations/grant-matcher`) Actor

Reads every open federal grant your organisation can apply for and explains which ones fit, and why.

- **URL**: https://apify.com/hestias-creations/grant-matcher.md
- **Developed by:** [Hestias Creations](https://apify.com/hestias-creations) (community)
- **Categories:** Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$200.00 / 1,000 matching grants

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Grant Matcher: federal grants that fit your organisation

Tell it what your organisation does. It reads every open and forecast federal grant on Grants.gov that your type of
organisation can apply for, and returns the ones that fit. Each comes with the reasons, the things to check first,
and the deadline. It also lists the close calls it left out, and why, so you don't spend hours on grants you can't
win.

### What you get

- **Matches, ranked by fit (0–100).** Each one says:
  - which of your words it mentions;
  - whether your organisation type is eligible;
  - the deadline and how many days are left;
  - the award range and number of awards.
- **Check first:** cost sharing, "Others" eligibility that needs reading, short deadlines, and awards bigger than you
  said you can manage.
- **Close calls we left out, with the reason (these are free):**
  - forecasts that aren't taking applications yet, so you can watch for them to open;
  - grants where a nonprofit can only join as a partner to the lead applicant;
  - grants that share only one word with your keywords;
  - programs for work abroad;
  - programs limited to another region (Great Lakes, Colorado River Basin and so on);
  - research grants when you provide services;
  - deadlines too soon;
  - eligibility limited to other kinds of applicants.
- A readable **report.html** in the run's key-value store, plus the results as a dataset (JSON, CSV or Excel).

### Example input

```json
{
  "orgType": "nonprofit-501c3",
  "mission": "We restore wetland and streamside habitat for native fish and wildlife in the Willamette Valley, Oregon, working with private landowners and volunteers.",
  "keywords": ["habitat restoration", "wetland", "watershed", "wildlife"],
  "state": "OR",
  "maxAward": 1000000
}
```

### Pricing

You pay per matched grant returned. Close calls, input errors and runs with no matches cost nothing. Set
**Maximum results**, or a spending limit on the run, to cap the cost. If the limit is reached, the run stops and
says so.

### What it doesn't do

- It covers **federal** grants listed on Grants.gov only. It doesn't cover state, local or foundation grants, which
  are often where local service organisations find most of their funding.
- It doesn't guarantee eligibility, and it doesn't write applications. The agency's notice is the authority.
  Always read it before applying.
- The fit score is our judgement of how well a notice matches what you described. It isn't a prediction of winning.

### Run it every week

Schedule it weekly with the same input to catch new notices as they post. Forecasts become open notices and
deadlines move.

### Data and privacy

- Your input (organisation type, mission and preferences) is used only for the run. Nothing is kept by us between
  runs.
- This product uses the Grants.gov API but is not endorsed or certified by the U.S. Department of Health and Human
  Services.
- Hestia's Creations is not affiliated with any funding agency.

Made by Hestia's Creations, a small company in Springfield, Oregon, working on the ethical use of AI for everyday
people.

# Actor input Schema

## `orgType` (type: `string`):

What kind of organisation is applying.

## `mission` (type: `string`):

One to three sentences about your work and who it serves.

## `keywords` (type: `array`):

Specific services or topics (these count double).

## `exclude` (type: `array`):

Words that mark grants you never want.

## `state` (type: `string`):

Two-letter code, such as OR.

## `minAward` (type: `integer`):

Leave out grants whose largest award is below this.

## `maxAward` (type: `integer`):

Grants whose smallest award is above this get a warning.

## `minDaysLeft` (type: `integer`):

Leave out grants closing sooner than this.

## `international` (type: `boolean`):

Include programs run by U.S. embassies and missions for work in other countries.

## `maxResults` (type: `integer`):

You pay per result returned, so this also caps the cost of a run.

## Actor input object example

```json
{
  "orgType": "nonprofit-501c3",
  "mission": "We restore wetland and streamside habitat for native fish and wildlife in the Willamette Valley, Oregon, working with private landowners and volunteers.",
  "keywords": [
    "habitat restoration",
    "wetland",
    "watershed",
    "wildlife"
  ],
  "exclude": [],
  "state": "OR",
  "minDaysLeft": 14,
  "international": false,
  "maxResults": 15
}
```

# Actor output Schema

## `report` (type: `string`):

The full report as a web page: results, close calls and notes.

## `results` (type: `string`):

One item per result, with its reasons (JSON; add ?format=csv for a spreadsheet).

## `summary` (type: `string`):

The whole report as JSON, close calls and notes included.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mission": "We restore wetland and streamside habitat for native fish and wildlife in the Willamette Valley, Oregon, working with private landowners and volunteers.",
    "keywords": [
        "habitat restoration",
        "wetland",
        "watershed",
        "wildlife"
    ],
    "state": "OR"
};

// Run the Actor and wait for it to finish
const run = await client.actor("hestias-creations/grant-matcher").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mission": "We restore wetland and streamside habitat for native fish and wildlife in the Willamette Valley, Oregon, working with private landowners and volunteers.",
    "keywords": [
        "habitat restoration",
        "wetland",
        "watershed",
        "wildlife",
    ],
    "state": "OR",
}

# Run the Actor and wait for it to finish
run = client.actor("hestias-creations/grant-matcher").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mission": "We restore wetland and streamside habitat for native fish and wildlife in the Willamette Valley, Oregon, working with private landowners and volunteers.",
  "keywords": [
    "habitat restoration",
    "wetland",
    "watershed",
    "wildlife"
  ],
  "state": "OR"
}' |
apify call hestias-creations/grant-matcher --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hestias-creations/grant-matcher"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BMRwLEidbRIeUe2Oy/builds/6M8pOJVgweJEE3sI0/openapi.json
