Skip to main content
GET
/
beta
/
nonprofits
/
search
Search Nonprofits
curl --request GET \
  --url https://api.givingcompass.org/insights/beta/nonprofits/search \
  --header 'X-API-Key: <api-key>'
{
  "intentDetails": {
    "llm_response": {
      "function_name": "<string>",
      "arguments": {},
      "message": "<string>"
    },
    "intent": "<string>",
    "prompt": "<string>",
    "cause": "<string>",
    "city": "<string>",
    "state": "<string>",
    "zip": "<string>",
    "min_revenue": 123,
    "max_revenue": 123,
    "sdgs": [
      123
    ],
    "ntee_codes": [
      "<string>"
    ],
    "organization_name": "<string>",
    "organization_ein": "<string>",
    "min_score": 123,
    "max_score": 123,
    "min_rating": 123,
    "max_rating": 123,
    "org_size": [
      "<string>"
    ]
  },
  "nonprofits": [
    {
      "ein": "<string>",
      "name": "<string>",
      "url": "<string>",
      "summary": "<string>",
      "streetAddress": "<string>",
      "city": "<string>",
      "state": "<string>",
      "zipCode5": "<string>",
      "ntee": "<string>",
      "issueArea": "<string>",
      "yearFounded": 123,
      "filingYear": 123,
      "revenueGrandTotal": 123,
      "netAssets": 123,
      "foundation": true,
      "inactive": true,
      "irsRulingDate": "2023-12-25",
      "sdgs": [
        123
      ],
      "formType": "<string>",
      "lat": 123,
      "lng": 123,
      "cnScore": 123,
      "cnRating": 123,
      "cnSize": "<string>",
      "vectorScore": 123
    }
  ]
}

Authorizations

X-API-Key
string
header
required

Add a header [X-API-Key] with the token

Headers

x-session-id
string<uuid>

A unique UUID value to maintain context

Query Parameters

q
string | null

Primary query used for the search

Maximum string length: 256
subsection_codes
string[] | null

List of 2-character numeric subsection codes (e.g., '03' indicates a 501C3, '04' indicates a 501C4)

Required string length: 2
foundation
boolean | null

Flag to filter by foundation status. If true, only foundations are included, and excluded if false.

deductible_donations
boolean | null

Flag to limit the search to organizations with deductible donations

latitude
number | null

Latitude for location-based search

longitude
number | null

Longitude for location-based search

location_range
number | null

Search radius in miles (0 for unlimited)

Required range: x >= 0
city
string | null

City for location-based search

Required string length: 2 - 100
county
string | null

County for location-based search

Required string length: 2 - 100
state
string | null

State for location-based search (2 character abbreviation)

Required string length: 2
zip_code
string | null

ZIP Code for location-based search

min_revenue
integer | null

Minimum annual revenue in dollars

Required range: x >= 0
max_revenue
integer | null

Maximum annual revenue in dollars

Required range: x >= 0
min_expenses
integer | null

Minimum annual expenses in dollars

Required range: x >= 0
max_expenses
integer | null

Maximum annual expenses in dollars

Required range: x >= 0
min_assets
integer | null

Minimum total assets in dollars

Required range: x >= 0
max_assets
integer | null

Maximum total assets in dollars

Required range: x >= 0
sdgs
integer[] | null

List of SDG numbers to filter by

Required range: 1 <= x <= 17
ntee_codes
string[] | null

List of NTEE (National Taxonomy of Exempt Entities) codes

min_employees
integer | null

Minimum number of employees

Required range: x >= 0
max_employees
integer | null

Maximum number of employees

Required range: x >= 0
min_score
integer | null

Minimum organization score

Required range: 0 <= x <= 100
max_score
integer | null

Maximum organization score

Required range: 0 <= x <= 100
min_rating
integer | null

Minimum star rating for organization

Required range: 0 <= x <= 4
max_rating
integer | null

Maximum star rating for organization

Required range: 0 <= x <= 4
org_size
string[] | null

One or more sizes of the organization based on classification. Valid values are 'Small', 'Medium', 'Large', and 'Super-Size'.

sort
string[] | null

Sort options for the search results.

max_vector_distance
number | null

Max vector distance for the search. Higher number means more lenient vector matching.

Required range: 0 <= x <= 1
model
string | null
default:gemini-2.5-flash-lite

LLM model to use for intent processing. Options: 'gemini-2.5-flash-lite' (default) or 'gpt-3.5-turbo-0125'.

page
integer
default:1

Page number

Required range: x >= 1
size
integer
default:10

Items per page

Required range: 1 <= x <= 100

Response

Successful Response

intentDetails
BetaChatIntentResponse · object

Response model for chat intents in the insights beta endpoint - Based off ChatIntentResponse

nonprofits
BetaNonprofitDetailsResponse · object[] | null