
Quickstart Guide: GrantExec Grants & Foundations API
Welcome to your GrantExec Grants and Foundations API, powered by Algolia! This guide walks you through getting access, setting up your own API key, and making your first queries against the the dataset.
๐ย Notes for customers testing with our Sandbox environment:
The sandbox environment contains a sample of 200 grant and 200 foundation records from our full databases.
GrantExec may update or change records, settings, permissions or access at any time.
๐ฉ Accept Your Algolia Invitation
After meeting with us, you will receive an email invitation from Algolia to join the GrantExec instance.
Click the invitation link.
Create or log into your Algolia account.
Youโll be added to the application environment that hosts your licensed dataset.
๐ Find your API Key
Once inside the Algolia dashboard:
Select API Keysย from the Overview view.

Under Your API Keys you will find your Application ID and Search API Key

โ ย Copy and securely storeย your API key. This will be used in all subsequent API calls.
API Documentation
View these docs to learn how to leverage and configure your Algolia API instance.
GrantExec Schemas
Grants Database
Attribute | Description | Type |
funding_opportunity_title | The official name or title of the grant or funding opportunity. | STRING |
url | The web link directing users to the official page of the funding opportunity | STRING |
description | A summary of the funding opportunity, outlining the purpose, dates, eligibility, funding, and contact information for the grant. | STRING |
funding_source_type | Identifies whether the funding comes from a government entity (Federal, State, or Local) or a private corporation or foundation (Private). | STRING |
funding_source | The name of the organization or entity providing the funding for the opportunity. | STRING |
parent_grant_program | If the funding opportunity is part of a larger or ongoing program, this field notes the overarching grant program. | STRING |
nationwide | A boolean field (TRUE or FALSE) indicating whether the grant is available nationwide or is geographically restricted. | BOOLEAN |
states | Specifies the individual U.S. states and territories where the funding opportunity is available. | STRING |
eligible_geographies | Describes the geographic regions aside from states where applicants are eligible for the funding. Eligible geographies may include counties, cities, regional designations, area designations within states, and occasionally countries outside the US when applicable. | STRING |
opportunity_status | Indicates whether the funding opportunity is currently Active, Forecasted, or Closed. Active: Can submit an application today Forecasted: Can submit an application in the future Closed: Can no longer submit applications | STRING |
opportunity_stage | Gives additional context to opportunity_status ย - Active grants will be "Accepting Applications" - Forecasted grants will be either "Early Engagement" (an opening date has been set for the next round) or "Anticipating Next Round" (it will open for another round but no date has been set yet.) - Closed grants will be "No longer accepting applications." | STRING |
next_deadline_date | This refers to a requirement that is due before the deadline for the full application. Common examples are; Concept Papers, Letters of Intent (LOI), Phase 1, etc. | TIMESTAMP |
next_deadline_type | This describes what is due by the next_deadline_date ย | STRING |
application_open_date | The first date when full applications will be accepted | TIMESTAMP |
application_close_date | The last date that complete, final applications will be accepted and considered by the funder. | TIMESTAMP |
rolling | A rolling grant has no defined deadline. | BOOLEAN |
recurring | Opportunities identified as cyclical, meaning it re-opens or will be scheduled to re-open on a pre-determined schedule. | BOOLEAN |
next_cycle | If a grant is recurring, next_cycle is when the next grant cycle is expected to open. | STRING |
internal_next_check_date | An internal tool that allows our team to re-visit grants on a particular day in the future. | TIMESTAMP |
primary_funding_category | The main area of focus or mission that the grant supports. List of categories: Agriculture, Animal Welfare, Arts, Business and Commerce, Capacity Building, Community Development, Consumer Protection, Disaster Prevention and Relief, Diversity Equity and Inclusion, Education, Employment Labor and Training, Energy, Environment, Food and Nutrition, Health, Housing, Humanities, Infrastructure, Income Security and Social Services, Information and Statistics, International Development, Law Justice and Legal Services, Natural Resources, Opportunity Zone Benefits, Recreation, Safety, Science and Technology, Social Advocacy, Transportation, Women & Girl Services, Workforce Development, Youth. | STRING |
funding_category_[2-10] | Additional categories that reflect secondary areas the grant may support. | STRING |
award_ceiling | The maximum amount of funding that can be awarded to a single recipient for this opportunity. | INTEGER |
award_floor | The minimum amount of funding that can be awarded to a single recipient for this opportunity. | INTEGER |
total_program_funding | The total available funds for the entire program or funding cycle. | INTEGER |
funding_details | Specific funding details including special requirements, restrictions, and any other relevant information about the funding including for how funding is used. | STRING |
number_of_awards | The number of awards that will be distributed. Blank if not specified. | INTEGER |
matching_requirement | A boolean field (TRUE or FALSE) indicating whether the grant program requires applicants commit additional funding in order to be awarded the grant. | BOOLEAN |
matching_requirement_amount | If matching is required, the percentage or dollar amount that must be provided by the applicant. | STRING |
primary_eligibility_category | The main type of organization or individual eligible to apply. Eligibility Categories: City or township governments, County governments, Exclusive - see details, For profit organizations other than small businesses, Independent school districts, Individuals, Large-Scale Enterprises, Native American tribal organizations, Other, Nonprofits, Private institutions of higher education, Public and State controlled institutions of higher education, Public housing authorities, Small businesses, Special district governments, State governments, Unrestricted. See 'Categories' tab for more information. | STRING |
eligibility_category_[2-10] | Additional eligibility categories that may apply. | STRING |
eligibility_explanation | Detailed eligibility criteria, including any unique or exclusive conditions. | STRING |
grantor_name | The name of the individual responsible for overseeing the funding opportunity. | STRING |
grantor_email | Contact email for the individual responsible for overseeing the funding opportunity. | STRING |
grantor_phone | Contact phone for the individual responsible for overseeing the funding opportunity. | STRING |
pdf_link | A link to any downloadable PDF documents that outline details of the opportunity. | STRING |
application_question_list | If available, a list of questions applicants must answer in their grant application. | STRING |
application_time_estimate | An estimate of how much time it will take to complete the application. | STRING |
expert_tips | Notes or recommendations on how to maximize the chance of a successful application. | STRING |
previous_recipients | Past awardees or organizations that have received funding through this program. | STRING |
date_added | The date this opportunity was first added to the GrantExec database. | TIMESTAMP |
checked_date | The most recent date the opportunity was checked or updated by the team. | TIMESTAMP |
Foundations Database
Attribute | Description | Type |
ein | Employer Identification Number | STRING |
return_type | Type of tax return filed | STRING |
organization_name | Name of the organization | STRING |
source_url | URL source of the data | STRING |
website | Organization's website | STRING |
address | Organization's address | STRING |
in_state_only | Whether grants are limited to in-state only | STRING |
state | State where organization is located | STRING |
accepts_unsolicited_applications | Whether organization accepts unsolicited grant applications | STRING |
most_recent_year | Most recent year of available data | INTEGER |
most_recent_year_assets | Assets for the most recent year | INTEGER |
most_recent_year_expenses | Expenses for the most recent year | INTEGER |
most_recent_year_number_of_grants | Number of grants awarded in the most recent year | INTEGER |
most_recent_year_total_giving | Total giving amount for the most recent year | INTEGER |
most_recent_year_funding_received | Funding received in the most recent year | INTEGER |
most_recent_year_median_grant_amount | Median grant amount for the most recent year | INTEGER |
most_recent_year_min_grant_amount | Minimum grant amount for the most recent year | INTEGER |
most_recent_year_max_grant_amount | Maximum grant amount for the most recent year | INTEGER |
records | Array of historical financial records | RECORD |
records.year | Year of the record | INTEGER |
records.assets | Assets for the year | INTEGER |
records.expenses | Expenses for the year | INTEGER |
records.number_of_grants | Number of grants awarded in the year | INTEGER |
records.total_giving | Total giving amount for the year | INTEGER |
records.funding_received | Funding received in the year | INTEGER |
records.median_grant_amount | Median grant amount for the year | INTEGER |
records.min_grant_amount | Minimum grant amount for the year | INTEGER |
records.max_grant_amount | Maximum grant amount for the year | INTEGER |
records.recipients | Array of grant recipients for the year | RECORD |
records.recipients.award | Grant award amount | INTEGER |
records.recipients.address | Recipient's address | STRING |
records.recipients.purpose | Purpose of the grant | STRING |
records.recipients.state | State of the recipient | STRING |
records.recipients.title | Grant title or recipient organization name | STRING |
records.recipients.year | Year the grant was awarded | STRING |
contacts | Array of organization contacts | RECORD |
Contact person's name | STRING | |
Contact phone number | STRING | |
contacts.title | Contact person's title | STRING |
index_id | Unique identifier for the record | INTEGER |
Overview
Full Algolia API Reference Guide
Configure
Example Searches
Implementation Notes
Authentication: Include your API key in the X-Algolia-API-Keyย header
Application ID: Include your application ID in the X-Algolia-Application-Idย header
Index Names: Replace with your assigned index names (e.g., grantexec_grants_customer123, grantexec_foundations_customer123)
Endpoint: https://{APPLICATION_ID}-dsn.algolia.net/1/indexes/{INDEX_NAME}/search
๐ย Note: Some of these examples require you to configure Facets.
Sample cURL Command:
curl -X POST \\
"https://YOUR_APP_ID-dsn.algolia.net/1/indexes/YOUR_GRANTS_INDEX/query" \\
-H "X-Algolia-API-Key: YOUR_API_KEY" \\
-H "X-Algolia-Application-Id: YOUR_APP_ID" \\
-H "Content-Type: application/json" \\
-H "X-Algolia-UserToken: user_$(date +%s)" \\
-d '{your_search_query_json}'
Grants Index
Example 1: Basic Text Search for Education Opportunities
{
"query": "education",
"filters": "",
"facets": ["opportunity_status", "funding_source_type", "primary_funding_category"],
"hitsPerPage": 20,
"attributesToRetrieve": [
"funding_opportunity_title",
"funding_source",
"description",
"award_ceiling",
"opportunity_status",
"states",
"primary_funding_category",
"url"
],
"attributesToHighlight": []
}
Example 2: Active and Forecasted Grant Opportunities
{
"query": "",
"filters": "opportunity_status:Active OR opportunity_status:Forecasted",
"facets": ["funding_source_type", "primary_funding_category", "opportunity_stage"],
"sortFacetValuesBy": "count",
"hitsPerPage": 25,
"attributesToRetrieve": [
"funding_opportunity_title",
"funding_source",
"description",
"opportunity_status",
"opportunity_stage",
"next_deadline_date",
"application_close_date",
"award_ceiling",
"primary_funding_category",
"url"
],
"attributesToHighlight": []
}
Example 3: Explore Eligibility and Geographic Distribution
{
"query": "",
"filters": "",
"facets": ["primary_eligibility_category", "states", "nationwide", "funding_source_type"],
"sortFacetValuesBy": "count",
"getRankingInfo": true,
"hitsPerPage": 50,
"attributesToRetrieve": [
"funding_opportunity_title",
"funding_source",
"primary_eligibility_category",
"states",
"nationwide",
"award_ceiling",
"award_floor",
"recurring",
"matching_requirement",
"url"
],
"attributesToHighlight": []
}
Foundations Database Examples
Example 1: Foundations Accepting Unsolicited Applications
{
"query": "",
"filters": "accepts_unsolicited_applications:'Yes'",
"facets": ["state", "in_state_only", "accepts_unsolicited_applications"],
"sort": ["most_recent_year_total_giving:desc"],
"hitsPerPage": 30,
"attributesToRetrieve": [
"organization_name",
"website",
"state",
"address",
"most_recent_year_assets",
"most_recent_year_total_giving",
"most_recent_year_number_of_grants",
"most_recent_year_median_grant_amount",
"in_state_only",
"contacts"
],
"attributesToHighlight": []
}
Example 2: Explore Foundation Grant History and Recipients
{
"query": "",
"filters": "",
"facets": "",
"attributesToSearchOn": ["organization_name", "records.recipients.purpose", "records.recipients.title"],
"hitsPerPage": 20,
"attributesToRetrieve": [
"organization_name",
"website",
"state",
"most_recent_year_total_giving",
"most_recent_year_number_of_grants",
"most_recent_year_median_grant_amount",
"most_recent_year_min_grant_amount",
"most_recent_year_max_grant_amount",
"accepts_unsolicited_applications",
"records.recipients.purpose",
"records.recipients.title",
"contacts"
],
"attributesToHighlight": []
}
Example 3: Geographic Distribution and Foundation Characteristics
{
"query": "",
"filters": "",
"facets": ["state", "in_state_only", "accepts_unsolicited_applications", "most_recent_year"],
"sort": ["most_recent_year_assets:desc"],
"hitsPerPage": 50,
"attributesToRetrieve": [
"organization_name",
"website",
"state",
"address",
"most_recent_year",
"most_recent_year_assets",
"most_recent_year_total_giving",
"most_recent_year_number_of_grants",
"accepts_unsolicited_applications",
"in_state_only",
"contacts"
],
"attributesToHighlight": []
}
Question? Need Support?
Send us an email [email protected].