Candid's newest API to perform nonprofit searches. The latest and most up-to-date nonprofit information on over 4.9 million organizations available for you to integrate into your systems.
API Endpoints
https://api.candid.org/nonprofitsearch/graphql
Queries
v1
Description
Search, filter, and find nonprofit organizations with Candid's most popular data fields. Use those results to get more data from other Candid APIs. API returns search result in JSON format.
Response
Returns an ApiResponse
Arguments
Name | Description |
---|---|
request - ApiRequestInput
|
Example
Query
query v1($request: ApiRequestInput) {
v1(request: $request) {
code
title
took
time
searchTerm
showingResultsFor
resultsCount
pageCount
errors
hits {
...HitFragment
}
}
}
Variables
{"request": ApiRequestInput}
Response
{
"data": {
"v1": {
"code": 200,
"title": "Request was processed successfully!",
"took": 158,
"time": "2024-01-01 10:10:10Z",
"searchTerm": "candid",
"showingResultsFor": "candid",
"resultsCount": 987,
"pageCount": 198,
"errors": ["abc123"],
"hits": [Hit]
}
}
}
Types
ApiRequestInput
Fields
Input Field | Description |
---|---|
searchTerms - String
|
Keyword search terms. |
from - Int
|
The offset from the first result. Defaults to 0. |
size - Int
|
The maximum number of hits to be returned. Defaults to 25. The maximum number allowed is 25 |
sort - SortFilterInput
|
|
autoSuggestion - Boolean
|
Optional value to get correct results even if search request has a typo. Will only affect the search terms field. Defaults to true. |
filters - FilterInput
|
Example
{
"searchTerms": "candid",
"from": 20,
"size": 5,
"sort": SortFilterInput,
"autoSuggestion": false,
"filters": FilterInput
}
ApiResponse
Fields
Field Name | Description |
---|---|
code - Int!
|
Response Code. |
title - String
|
Diagnostic message for response status. |
took - Int!
|
Time taken for request to process in milliseconds. |
time - String
|
Time of API call. |
searchTerm - String
|
Term that response was searched on. |
showingResultsFor - String
|
Showing results for this term. |
resultsCount - Int!
|
Number of results returned by search. |
pageCount - Int!
|
Number of pages returned by the search. |
errors - [String]
|
List of errors encountered. |
hits - [Hit]
|
Example
{
"code": 200,
"title": "Request was processed successfully!",
"took": 158,
"time": "2024-01-01 10:10:10Z",
"searchTerm": "candid",
"showingResultsFor": "candid",
"resultsCount": 987,
"pageCount": 197,
"errors": ["xyz789"],
"hits": [Hit]
}
FilterInput
Fields
Input Field | Description |
---|---|
organization - OrganizationFilterInput
|
|
financials - FinancialsFilterInput
|
|
geography - GeographyFilterInput
|
|
lastUpdated - LastUpdatedFilterInput
|
Example
{
"organization": OrganizationFilterInput,
"financials": FinancialsFilterInput,
"geography": GeographyFilterInput,
"lastUpdated": LastUpdatedFilterInput
}
Financials
Fields
Field Name | Description |
---|---|
mostRecentYear - MostRecentYear
|
|
requiredToFile990T - Boolean
|
Flag indicating the organization is required to file a 990-T. |
a133AuditPerformed - Boolean
|
Flag indicating the organization performed A-133 audit. |
Example
{
"mostRecentYear": MostRecentYear,
"requiredToFile990T": true,
"a133AuditPerformed": true
}
FinancialsFilterInput
Fields
Input Field | Description |
---|---|
mostRecentYear - MostRecentYearFilterInput
|
|
requiredToFile990t - Boolean
|
Flag indicating the organization is required to file a 990-T. Value set as true or false. |
a133AuditPerformed - Boolean
|
Flag indicating the organization performed A-133 audit. Value set as true or false. |
Example
{
"mostRecentYear": MostRecentYearFilterInput,
"requiredToFile990t": true,
"a133AuditPerformed": true
}
FoundationCode
Fields
Field Name | Description |
---|---|
code - String
|
Foundation code that describes the organization. |
foundationCodeDescription - String
|
Description of foundation code. |
Example
{
"code": "15",
"foundationCodeDescription": "Organization which receives a substantial part of its support from a governmental unit or the general public"
}
Geography
Fields
Field Name | Description |
---|---|
addressType - String
|
Address type of the organization. |
street1 - String
|
Address line 1 of the organization. |
street2 - String
|
Address line 2 of the organization. |
street3 - String
|
Address line 3 of the organization. |
street4 - String
|
Address line 4 of the organization. |
city - String
|
City of the organization's address. |
msa - String
|
Metropolitan Statistical Area of the organization's address. |
county - String
|
County of the organization's address. |
admin1Code - String
|
State (Abbreviation) of the organization's address. |
admin1Description - String
|
Description of admin1_code. |
postalCode - String
|
Postal code of the organization's address. |
geoFocus - [Int!]
|
Where organization's funding is used. |
countryCode - String
|
Country code of the organization's address. |
countryName - String
|
Country name of the organization's address. |
formattedAddress - String
|
Formatted address of the organization. |
latitude - Decimal
|
latitude of the organization's address. |
longitude - Decimal
|
longitude of the organization's address. |
Example
{
"addressType": "main",
"street1": "32 Old Slip 24th Floor",
"street2": "xyz",
"street3": "xyz",
"street4": "xyz",
"city": "New York City",
"msa": "New York-Newark-Jersey City, NY-NJ-PA Metro Area",
"county": "New York",
"admin1Code": "NY",
"admin1Description": "New York",
"postalCode": "10005",
"geoFocus": [123],
"countryCode": "US",
"countryName": "United States",
"formattedAddress": "32 Old Slip 24th Floor, New York City, NY, 10005, USA",
"latitude": 40.706,
"longitude": -74.008613
}
GeographyFilterInput
Fields
Input Field | Description |
---|---|
admin1 - [String]
|
State code, comma separated. |
msa - [String]
|
Metropolitan statistical area, comma separated. |
city - [String]
|
US cities, comma separated. |
county - [String]
|
US counties, comma separated. |
postalCode - String
|
Five digit Postal code. |
radius - Int
|
Radius from the specified postal code in miles. Allowed range is between 1 and 50 miles. Values exceeding 50 will default to a radius of 50 miles. |
countryCode - [String]
|
Country codes, comma separated. |
countryName - [String]
|
Country names the nonprofit is registered in, comma separated. |
geoFocus - [String]
|
Use to filter by where funding is used. |
Example
{
"admin1": ["NY"],
"msa": ["New York-Newark-Jersey City, NY-NJ-PA Metro Area"],
"city": ["New York City"],
"county": ["New York"],
"postalCode": "10005",
"radius": 50,
"countryCode": ["US"],
"countryName": ["United States"],
"geoFocus": ["5128638"],
}
Hit
Fields
Field Name | Description |
---|---|
organization - Organization
|
|
properties - Properties
|
|
geography - Geography
|
|
taxonomies - Taxonomy
|
|
financials - Financials
|
|
lastModified - LastModified
|
Example
{
"organization": Organization,
"properties": Properties,
"geography": Geography,
"taxonomies": Taxonomy,
"financials": Financials,
"lastModified": LastModified
}
IrsFormTypesFilterInput
Fields
Input Field | Description |
---|---|
f990 - Boolean!
|
Flag indicating the organization files a form 990. Value set as true or false. |
f990PF - Boolean
|
Flag indicating the organization files a form 990-PF. Value set as true or false. |
f990EZ - Boolean
|
Flag indicating the organization files a form 990ez. Value set as true or false. |
f990N - Boolean
|
Flag indicating the organization files a form 990n. Value set as true or false. |
Example
{
"f990": true,
"f990PF": false,
"f990EZ": false,
"f990N": true
}
LastModified
Fields
Field Name | Description |
---|---|
sealLastModified - String
|
Date when Candid seal status was last modified. |
profileLastModified - String
|
Datetime of last update to Candid profile. |
demographicsLastModified - String
|
Datetime of last update to organization demographics information. |
financialsLastModified - String
|
Datetime of last update to organization's financial information. |
modified - String
|
Datetime of organization's last modified entry. |
Example
{
"sealLastModified": "2024-01-01 10:10:10",
"profileLastModified": "2024-01-01 10:10:10",
"demographicsLastModified": "2024-01-01 10:10:10",
"financialsLastModified": "2024-01-01 10:10:10",
"modified": "xyz789"
}
LastUpdatedFilterInput
Fields
Input Field | Description |
---|---|
startDate - String
|
A filter, along with end_date, defines a range on date_type, in the format yyyy-MM-ddTHH:mm:ss. |
endDate - String
|
A filter, along with start_date, defines a range on date_type, in the format yyyy-MM-ddTHH:mm:ss. |
dateType - String!
|
A filter, to specify updates made to a organization over the specified end_date and start_date. |
Example
{
"startDate": "2024-01-01 10:10:10",
"endDate": "2024-01-01 10:10:10",
"dateType": "seal_last_modified"
}
LegalIDsInput
Fields
Input Field | Description |
---|---|
legalID - String
|
Legal ID of organization |
legalIDType - String
|
Legal ID type of organization |
Example
{
"legalID": "13-1837418",
"legalIDType": "ein"
}
LegalIds
Fields
Field Name | Description |
---|---|
legalID - String
|
Legal ID of organization |
legalIDType - String
|
Type of organization's legal id |
Example
{
"legalID": "13-1837418",
"legalIDType": "ein"
}
MostRecentYear
Fields
Field Name | Description |
---|---|
source - String
|
Tax form filing type. |
fiscalYear - Int
|
Fiscal year of the most recent tax filing. |
totalGiving - Decimal
|
|
totalRevenue - Decimal
|
Most recent year total revenue. |
totalExpenses - Decimal
|
Most recent year total expenses. |
totalAssets - Decimal
|
Most recent year total assets. |
currency - String
|
Currency of financial numbers |
Example
{
"source": "990",
"fiscalYear": 2022,
"totalGiving": 2349999.0,
"totalRevenue": 2349999.0,
"totalExpenses": 22224499.0,
"totalAssets": 57426592.0,
"currency": "USD"
}
MostRecentYearFilterInput
Fields
Input Field | Description |
---|---|
formTypes - IrsFormTypesFilterInput
|
|
totalGiving - NumberRangeFilterInput
|
|
totalRevenue - NumberRangeFilterInput
|
|
totalExpenses - NumberRangeFilterInput
|
|
totalAssets - NumberRangeFilterInput
|
Example
{
"formTypes": IrsFormTypesFilterInput,
"totalGiving": NumberRangeFilterInput,
"totalRevenue": NumberRangeFilterInput,
"totalExpenses": NumberRangeFilterInput,
"totalAssets": NumberRangeFilterInput
}
Names
Fields
Field Name | Description |
---|---|
name - String
|
Organization name also known as |
nameType - String
|
How the organization is also known as |
Example
{
"name": "Foundation Center",
"nameType": "fka"
}
NamesInput
Fields
Input Field | Description |
---|---|
name - String
|
Allows search on exact organization name. Provides best match results, not exact match. |
nameType - String
|
Name type |
Example
{
"name": "Candid",
"nameType": "main"
}
NteeCode
Fields
Field Name | Description |
---|---|
nteeCode - String
|
National Taxonomy of Exempt Entities. |
nteeCodeDescription - String
|
Description of NTEE code. |
Example
{
"nteeCode": "T50",
"nteeCodeDescription": "Philanthropy, Voluntarism, and Grantmaking Foundations"
}
NumberRangeFilterInput
Fields
Input Field | Description |
---|---|
min - Int
|
Minimum number |
max - Int
|
Maximum number |
Example
{
"min": 123,
"max": 123
}
Organization
Fields
Field Name | Description |
---|---|
candidEntityID - String
|
A unique number identifying organizations and organizational entities. |
ein - String
|
Employer Identification Number. |
legalIDs - [LegalIds]
|
|
organizationName - String
|
The public name recognized by the IRS. |
organizationAKANames - [Names]
|
|
mission - String
|
Candid gets you the information you need to do good. |
websites - [Website]
|
|
organizationLogo - String
|
URL for the organization's logo. |
organizationPhone - String
|
Phone number of the primary contact at the organization. |
candidSealLevel - String
|
Candid seal level. |
candidSealYear - Int
|
Candid seal year. |
candidSealImage - String
|
Candid's seal logo. |
candidProfileLink - String
|
Candid's public profile URL. |
organizationDonationLink - String
|
Donation link of the organization. |
leaderName - String
|
Name of leader. |
leaderTitle - String
|
Leader's title. |
contactName - String
|
Name of the primary contact at the organization. |
contactEmail - String
|
Email of the primary contact at the organization. |
contactPhone - String
|
Phone number of the primary contact at the organization. |
contactTitle - String
|
Title of the primary contact at the organization. |
numberOfEmployees - Int
|
Number of employees at the organization. |
rulingYear - Int
|
The year the IRS granted organization tax exempt status (a.k.a. Ruling Year). |
groupExemption - String
|
Four-digit number assigned to a group of organizations falling under a central/parent organization holding group exemption letters. |
Example
{
"candidEntityID": "7578046",
"ein": "39-1731296",
"legalIDs": [LegalIds],
"organizationName": "Candid",
"organizationAKANames": [Names],
"mission": "Candid gets you the information you need to do good",
"websites": [Website],
"organizationLogo": "https://docs.candid.org/edoc/10485767",
"organizationPhone": "(212) 620-4230",
"candidSealLevel": "Platinum",
"candidSealYear": 2022,
"candidSealImage": "https://widgets.guidestar.org/TransparencySeal/png/13-1837418",
"candidProfileLink": "https://beta.candid.org/profile/6908122",
"organizationDonationLink": "https://candid.org/about/funding-candid",
"leaderName": "Ann Mei Chang",
"leaderTitle": "Chief Executive Officer",
"contactName": "John Smith",
"contactEmail": "[email protected]",
"contactPhone": "(212) 640-7438",
"contactTitle": "Support lead",
"numberOfEmployees": 123,
"rulingYear": 2019,
"groupExemption": "3297"
}
OrganizationFilterInput
Fields
Input Field | Description |
---|---|
candidEntityID - [String]
|
Candid entity ids, comma separated up to 25. |
ein - [String]
|
Employee identification numbers, comma separated up to 25. |
legalIDs - [LegalIDsInput]
|
|
names - [NamesInput]
|
|
candidSealLevel - [String]
|
Candid seal levels, comma separated. |
subjectCodes - [String]
|
Subject codes, comma separated. |
populationServedCodes - [String]
|
Population served codes, comma separated. |
organizationTypeCodes - [String]
|
Organization type codes, comma separated. |
nteeMajorCodes - [String]
|
National Taxonomy of Exempt Entities (NTEE) major codes, comma separated. |
nteeMinorCodes - [String]
|
National Taxonomy of Exempt Entities (NTEE) minor codes, comma separated. |
subsectionCodes - [String]
|
IRS subsection codes and/or descriptions, comma separated. |
foundationCodes - [String]
|
Foundation codes and/or descriptions, comma separated. |
sdGs - [String]
|
Sustainable development goals. |
groupExemption - String
|
Group exemption codes, comma separated. |
numberOfEmployees - NumberRangeFilterInput
|
Range specifying the number of employees at the organization. |
rulingYear - NumberRangeFilterInput
|
Range specifying the year the granted organization tax exempt status (a.k.a. Ruling Year). |
properties - PropertyFilterInput
|
|
demographicsLeader - [String]
|
Demographics of the organization's leader. |
Example
{
"candidEntityID": ["6908122"],
"ein": ["13-1837418"],
"legalIDs": [LegalIDsInput],
"names": [NamesInput],
"candidSealLevel": ["platinum"],
"subjectCodes": ["SN04"],
"populationServedCodes": ["PG0302"],
"organizationTypeCodes": ["EA040000"],
"nteeMajorCodes": ["T"],
"nteeMinorCodes": ["T50"],
"subsectionCodes": ["501(c)(3) Public Charity."],
"foundationCodes": ["15"],
"sdGs": ["17"],
"groupExemption": "1243",
"numberOfEmployees": NumberRangeFilterInput,
"rulingYear": NumberRangeFilterInput,
"properties": PropertyFilterInput,
"demographicsLeader": ["bipoc_leader"]
}
OrganizationTypeCode
Fields
Field Name | Description |
---|---|
code - String
|
Organization type code. |
organizationTypeDescription - String
|
Description of organization type code. |
Example
{
"code": "EA040000",
"organizationTypeDescription": "Public charities"
}
PopulationServedCode
Fields
Field Name | Description |
---|---|
code - String
|
Population served code. |
populationServedDescritpion - String
|
Description of population served code. |
Example
{
"code": "PG030000",
"populationServedDescritpion": "People with Physical Disabilities"
}
Properties
Fields
Field Name | Description |
---|---|
bmfStatus - Boolean
|
If the organization is present on the BMF. |
pub78Verified - Boolean
|
If the organization is Pub78 verified. |
revoked - Boolean
|
If the organization is revoked. |
defunct - Boolean
|
If the organization is defunct. |
merged - Boolean
|
If the organization is merged. |
grantmakerStatus - Boolean
|
If the organization is a grantmaker. |
allowOnlineGiving - Boolean
|
If the organization allows online giving. |
demographicsSubmitted - Boolean
|
If the organization has submitted demographics information. |
demographicsLeader - [String!]
|
Demographics of the organization's leade.r |
hasUrl - Boolean
|
If the organization is a url listed. |
hasContact - Boolean
|
If the organization is contact listed. |
parent - Boolean
|
If the organization is a parent. |
subordinate - Boolean
|
If the organization is a subordinate. |
independent - Boolean
|
If the organization is independent. |
headquarters - Boolean
|
If the organization is a national headquarter. |
Example
{
"bmfStatus": true,
"pub78Verified": true,
"revoked": false,
"defunct": false,
"merged": false,
"grantmakerStatus": true,
"allowOnlineGiving": true,
"demographicsSubmitted": false,
"demographicsLeader": ["bipoc_leader"],
"hasUrl": true,
"hasContact": false,
"parent": true,
"subordinate": true,
"independent": false,
"headquarters": true
}
PropertyFilterInput
Fields
Input Field | Description |
---|---|
bmfStatus - Boolean
|
Flag indicating the organization has the most recent IRS BMF. Defaults to null. Otherwise true or false. |
pub78Verified - Boolean
|
Flag indicating the organization is pub78 verified. Value setf as true or false. |
excludeRevokedOrganizations - Boolean
|
Flag to exclude revoked organizations. Value set as true or false. |
excludeDefunctOrganizations - Boolean
|
Flag to exclude defunct organizations. Value set as true or false. |
excludeMergedOrganizations - Boolean
|
Flag to exclude merged organizations. Value set as true or false. |
grantmakerStatus - Boolean
|
Flag indicating the organization Grantmaker Status. Value set as true or false. |
allowOnlineGiving - Boolean
|
Flag indicating the organization allows online giving. Value set as true or false. |
demographicsSubmitted - Boolean
|
Flag indicating the organization has submitted demographics information. Value set as true or false. |
hasUrl - Boolean
|
Flag indicating the organization has a website. Value set as true or false. |
hasContact - Boolean
|
Flag indicating the organization has a contact reference. Value set as true or false. |
parent - Boolean
|
Flag indicating the organization is a parent. Value set as true or false. |
subordinate - Boolean
|
Flag indicating the organization is a subordinate. Value set as true or false. |
independent - Boolean
|
Flag indicating the organization is independent. Value set as true or false. |
headquarters - Boolean
|
Flag indicating the organization is a headquarter. Value set as true or false. |
Example
{
"bmfStatus": false,
"pub78Verified": true,
"excludeRevokedOrganizations": true,
"excludeDefunctOrganizations": false,
"excludeMergedOrganizations": true,
"grantmakerStatus": true,
"allowOnlineGiving": false,
"demographicsSubmitted": false,
"hasUrl": false,
"hasContact": false,
"parent": false,
"subordinate": false,
"independent": false,
"headquarters": false
}
SortFilterInput
Fields
Input Field | Description |
---|---|
sortBy - String
|
Sort results based on input value. Leave blank to sort by relevance. |
sortOrder - String
|
Default value is ascending. Allowed values are "asc" (ascending) and "desc" (descending). |
Example
{
"sortBy": "organization_name",
"sortOrder": "asc"
}
SubjectCode
Fields
Field Name | Description |
---|---|
code - String
|
Subject code. |
subjectCodeDescription - String
|
Description of subject code. |
Example
{
"code": "SK020000",
"subjectCodeDescription": "Leadership development"
}
SubsectionCode
Fields
Field Name | Description |
---|---|
code - String
|
IRS subsection code of the organization. |
subsectionCodeDescription - String
|
Description of IRS subsection code. |
Example
{
"code": "03",
"subsectionCodeDescription": "501(c)(3) Public Charity"
}
SustainableDevelopmentGoal
Fields
Field Name | Description |
---|---|
sdgCode - String
|
Sustainable development goal code. |
sdgDescription - String
|
Description of sustainable development goal code. |
Example
{
"sdgCode": "SDG3",
"sdgDescription": "Good Health and Well-being"
}
Taxonomy
Fields
Field Name | Description |
---|---|
subjectCodes - [SubjectCode]
|
|
populationServedCodes - [PopulationServedCode]
|
|
organizationTypeCodes - [OrganizationTypeCode]
|
|
nteeCodes - [NteeCode]
|
|
subsectionCode - SubsectionCode
|
|
foundationCode - FoundationCode
|
|
sdGs - [SustainableDevelopmentGoal]
|
Example
{
"subjectCodes": [SubjectCode],
"populationServedCodes": [PopulationServedCode],
"organizationTypeCodes": [OrganizationTypeCode],
"nteeCodes": [NteeCode],
"subsectionCode": SubsectionCode,
"foundationCode": FoundationCode,
"sdGs": [SustainableDevelopmentGoal]
}
Website
Fields
Field Name | Description |
---|---|
websiteURL - String
|
URL for the organization's website. |
websiteType - String
|
Type of organization's website URL. |
Example
{
"websiteURL": "http://candid.org",
"websiteType": "main"
}