Nonprofit Search GraphQL

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
NameDescription
request - ApiRequestInput

Example

Query
query v1($request: ApiRequestInput) {
  v1(request: $request) {
    code
    title
    took
    time
    searchTerm
    showingResultsFor
    resultsCount
    pageCount
    errors
    hits {
      ...HitFragment
    }
  }
Variables
{
Response
{

Types

ApiRequestInput

Fields
Input FieldDescription
searchTerms - StringKeyword search terms.
from - IntThe offset from the first result. Defaults to 0.
size - IntThe maximum number of hits to be returned. Defaults to 25. The maximum number allowed is 25
sort - SortFilterInput
autoSuggestion - BooleanOptional 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
{

ApiResponse

Fields
Field NameDescription
code - Int!Response Code.
title - StringDiagnostic message for response status.
took - Int!Time taken for request to process in milliseconds.
time - StringTime of API call.
searchTerm - StringTerm that response was searched on.
showingResultsFor - StringShowing 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
{

FilterInput

Fields
Input FieldDescription
organization - OrganizationFilterInput
financials - FinancialsFilterInput
geography - GeographyFilterInput
lastUpdated - LastUpdatedFilterInput
Example
{

Financials

Fields
Field NameDescription
mostRecentYear - MostRecentYear
requiredToFile990T - BooleanFlag indicating the organization is required to file a 990-T.
a133AuditPerformed - BooleanFlag indicating the organization performed A-133 audit.
Example
{

FinancialsFilterInput

Fields
Input FieldDescription
mostRecentYear - MostRecentYearFilterInput
requiredToFile990t - BooleanFlag indicating the organization is required to file a 990-T. Value set as true or false.
a133AuditPerformed - BooleanFlag indicating the organization performed A-133 audit. Value set as true or false.
Example
{

FoundationCode

Fields
Field NameDescription
code - StringFoundation code that describes the organization.
foundationCodeDescription - StringDescription of foundation code.
Example
{

Geography

Fields
Field NameDescription
addressType - StringAddress type of the organization.
street1 - StringAddress line 1 of the organization.
street2 - StringAddress line 2 of the organization.
street3 - StringAddress line 3 of the organization.
street4 - StringAddress line 4 of the organization.
city - StringCity of the organization's address.
msa - StringMetropolitan Statistical Area of the organization's address.
county - StringCounty of the organization's address.
admin1Code - StringState (Abbreviation) of the organization's address.
admin1Description - StringDescription of admin1_code.
postalCode - StringPostal code of the organization's address.
geoFocus - [Int!]Where organization's funding is used.
countryCode - StringCountry code of the organization's address.
countryName - StringCountry name of the organization's address.
formattedAddress - StringFormatted address of the organization.
latitude - Decimallatitude of the organization's address.
longitude - Decimallongitude of the organization's address.
Example
{

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
{

Hit

Fields
Field NameDescription
organization - Organization
properties - Properties
geography - Geography
taxonomies - Taxonomy
financials - Financials
lastModified - LastModified
Example
{

IrsFormTypesFilterInput

Fields
Input FieldDescription
f990 - Boolean!Flag indicating the organization files a form 990. Value set as true or false.
f990PF - BooleanFlag indicating the organization files a form 990-PF. Value set as true or false.
f990EZ - BooleanFlag indicating the organization files a form 990ez. Value set as true or false.
f990N - BooleanFlag indicating the organization files a form 990n. Value set as true or false.
Example
{

LastModified

Fields
Field NameDescription
sealLastModified - StringDate when Candid seal status was last modified.
profileLastModified - StringDatetime of last update to Candid profile.
demographicsLastModified - StringDatetime of last update to organization demographics information.
financialsLastModified - StringDatetime of last update to organization's financial information.
modified - StringDatetime of organization's last modified entry.
Example
{

LastUpdatedFilterInput

Fields
Input FieldDescription
startDate - StringA filter, along with end_date, defines a range on date_type, in the format yyyy-MM-ddTHH:mm:ss.
endDate - StringA 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
{

LegalIDsInput

Fields
Input FieldDescription
legalID - StringLegal ID of organization
legalIDType - StringLegal ID type of organization
Example
{

LegalIds

Fields
Field NameDescription
legalID - StringLegal ID of organization
legalIDType - StringType of organization's legal id
Example
{

MostRecentYear

Fields
Field NameDescription
source - StringTax form filing type.
fiscalYear - IntFiscal year of the most recent tax filing.
totalGiving - Decimal
totalRevenue - DecimalMost recent year total revenue.
totalExpenses - DecimalMost recent year total expenses.
totalAssets - DecimalMost recent year total assets.
currency - StringCurrency of financial numbers
Example
{

MostRecentYearFilterInput

Fields
Input FieldDescription
formTypes - IrsFormTypesFilterInput
totalGiving - NumberRangeFilterInput
totalRevenue - NumberRangeFilterInput
totalExpenses - NumberRangeFilterInput
totalAssets - NumberRangeFilterInput
Example
{

Names

Fields
Field NameDescription
name - StringOrganization name also known as
nameType - StringHow the organization is also known as
Example
{

NamesInput

Fields
Input FieldDescription
name - StringAllows search on exact organization name. Provides best match results, not exact match.
nameType - StringName type
Example
{

NteeCode

Fields
Field NameDescription
nteeCode - StringNational Taxonomy of Exempt Entities.
nteeCodeDescription - StringDescription of NTEE code.
Example
{

NumberRangeFilterInput

Fields
Input FieldDescription
min - IntMinimum number
max - IntMaximum number
Example
{

Organization

Fields
Field NameDescription
candidEntityID - StringA unique number identifying organizations and organizational entities.
ein - StringEmployer Identification Number.
legalIDs - [LegalIds]
organizationName - StringThe public name recognized by the IRS.
organizationAKANames - [Names]
mission - StringCandid gets you the information you need to do good.
websites - [Website]
organizationLogo - StringURL for the organization's logo.
organizationPhone - StringPhone number of the primary contact at the organization.
candidSealLevel - StringCandid seal level.
candidSealYear - IntCandid seal year.
candidSealImage - StringCandid's seal logo.
candidProfileLink - StringCandid's public profile URL.
organizationDonationLink - StringDonation link of the organization.
leaderName - StringName of leader.
leaderTitle - StringLeader's title.
contactName - StringName of the primary contact at the organization.
contactEmail - StringEmail of the primary contact at the organization.
contactPhone - StringPhone number of the primary contact at the organization.
contactTitle - StringTitle of the primary contact at the organization.
numberOfEmployees - IntNumber of employees at the organization.
rulingYear - IntThe year the IRS granted organization tax exempt status (a.k.a. Ruling Year).
groupExemption - StringFour-digit number assigned to a group of organizations falling under a central/parent organization holding group exemption letters.
Example
{

OrganizationFilterInput

Fields
Input FieldDescription
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 - StringGroup exemption codes, comma separated.
numberOfEmployees - NumberRangeFilterInputRange specifying the number of employees at the organization.
rulingYear - NumberRangeFilterInputRange 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
{

OrganizationTypeCode

Fields
Field NameDescription
code - StringOrganization type code.
organizationTypeDescription - StringDescription of organization type code.
Example
{

PopulationServedCode

Fields
Field NameDescription
code - StringPopulation served code.
populationServedDescritpion - StringDescription of population served code.
Example
{

Properties

Fields
Field NameDescription
bmfStatus - BooleanIf the organization is present on the BMF.
pub78Verified - BooleanIf the organization is Pub78 verified.
revoked - BooleanIf the organization is revoked.
defunct - BooleanIf the organization is defunct.
merged - BooleanIf the organization is merged.
grantmakerStatus - BooleanIf the organization is a grantmaker.
allowOnlineGiving - BooleanIf the organization allows online giving.
demographicsSubmitted - BooleanIf the organization has submitted demographics information.
demographicsLeader - [String!]Demographics of the organization's leade.r
hasUrl - BooleanIf the organization is a url listed.
hasContact - BooleanIf the organization is contact listed.
parent - BooleanIf the organization is a parent.
subordinate - BooleanIf the organization is a subordinate.
independent - BooleanIf the organization is independent.
headquarters - BooleanIf the organization is a national headquarter.
Example
{

PropertyFilterInput

Fields
Input FieldDescription
bmfStatus - BooleanFlag indicating the organization has the most recent IRS BMF. Defaults to null. Otherwise true or false.
pub78Verified - BooleanFlag indicating the organization is pub78 verified. Value setf as true or false.
excludeRevokedOrganizations - BooleanFlag to exclude revoked organizations. Value set as true or false.
excludeDefunctOrganizations - BooleanFlag to exclude defunct organizations. Value set as true or false.
excludeMergedOrganizations - BooleanFlag to exclude merged organizations. Value set as true or false.
grantmakerStatus - BooleanFlag indicating the organization Grantmaker Status. Value set as true or false.
allowOnlineGiving - BooleanFlag indicating the organization allows online giving. Value set as true or false.
demographicsSubmitted - BooleanFlag indicating the organization has submitted demographics information. Value set as true or false.
hasUrl - BooleanFlag indicating the organization has a website. Value set as true or false.
hasContact - BooleanFlag indicating the organization has a contact reference. Value set as true or false.
parent - BooleanFlag indicating the organization is a parent. Value set as true or false.
subordinate - BooleanFlag indicating the organization is a subordinate. Value set as true or false.
independent - BooleanFlag indicating the organization is independent. Value set as true or false.
headquarters - BooleanFlag indicating the organization is a headquarter. Value set as true or false.
Example
{

SortFilterInput

Fields
Input FieldDescription
sortBy - StringSort results based on input value. Leave blank to sort by relevance.
sortOrder - StringDefault value is ascending. Allowed values are "asc" (ascending) and "desc" (descending).
Example
{

SubjectCode

Fields
Field NameDescription
code - StringSubject code.
subjectCodeDescription - StringDescription of subject code.
Example
{

SubsectionCode

Fields
Field NameDescription
code - StringIRS subsection code of the organization.
subsectionCodeDescription - StringDescription of IRS subsection code.
Example
{

SustainableDevelopmentGoal

Fields
Field NameDescription
sdgCode - StringSustainable development goal code.
sdgDescription - StringDescription of sustainable development goal code.
Example
{

Taxonomy

Fields
Field NameDescription
subjectCodes - [SubjectCode]
populationServedCodes - [PopulationServedCode]
organizationTypeCodes - [OrganizationTypeCode]
nteeCodes - [NteeCode]
subsectionCode - SubsectionCode
foundationCode - FoundationCode
sdGs - [SustainableDevelopmentGoal]
Example
{

Website

Fields
Field NameDescription
websiteURL - StringURL for the organization's website.
websiteType - StringType of organization's website URL.
Example
{