curl --request GET \
--url https://prod-api.raisedonors.com/api/Donor/list \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Donor/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Donor/list"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Donor/list");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Donor/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://prod-api.raisedonors.com/api/Donor/list")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Donor/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Donor/list';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"items": [
{
"id": 200234,
"name": "Marcus Castellano",
"title": "Mr.",
"firstName": "Marcus",
"middleName": "David",
"lastName": "Castellano",
"suffix": null,
"email": "marcus.castellano@example.org",
"phone": "(555) 012-3401",
"createdDate": "2018-09-15T14:22:31Z",
"modifiedDate": "2025-10-12T09:15:42Z",
"notes": "Board member. Prefers email for receipts and annual reports.",
"isOrganization": false,
"organizationName": null,
"crmKeyUrls": {
"VirtuousCRM": {
"crmKey": "100234",
"url": "https://app.virtuoussoftware.com/Generosity/Contact/Detail/100234"
}
},
"crmKey": "100234",
"crmSecondKey": null,
"isTestMode": false,
"isArchived": false,
"isGDPRDeleted": false,
"primaryAddress": {
"id": 400101,
"donorId": 200234,
"isPrimary": true,
"address1": "219 Oak Hill Drive",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97478",
"countryString": "United States",
"addressTypeDisplay": "Home"
},
"donorAddresses": [
{
"id": 400101,
"donorId": 200234,
"isPrimary": true,
"address1": "219 Oak Hill Drive",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97478",
"countryString": "United States",
"addressTypeDisplay": "Home"
}
],
"donorEmailAddresses": [
{
"id": 300101,
"donorId": 200234,
"typeDisplay": "Home Email",
"value": "marcus.castellano@example.org",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": true,
"isPhone": false,
"isBounced": false,
"countryCode": null
}
],
"donorPhoneNumbers": [
{
"id": 300102,
"donorId": 200234,
"typeDisplay": "Mobile Phone",
"value": "(555) 012-3401",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": false,
"isPhone": true,
"isBounced": false,
"countryCode": "1"
},
{
"id": 300103,
"donorId": 200234,
"typeDisplay": "Home Phone",
"value": "(555) 012-3400",
"secondaryValue": null,
"isPrimary": false,
"isOptedIn": true,
"isValid": true,
"isEmail": false,
"isPhone": true,
"isBounced": false,
"countryCode": "1"
}
]
},
{
"id": 200456,
"name": "Priya Sharma",
"title": "Ms.",
"firstName": "Priya",
"middleName": null,
"lastName": "Sharma",
"suffix": null,
"email": "priya.sharma@example.org",
"phone": "(555) 012-3450",
"createdDate": "2023-02-15T10:30:00Z",
"modifiedDate": "2025-11-15T03:00:00Z",
"notes": "Monthly donor since February 2023. Volunteer organizer.",
"isOrganization": false,
"organizationName": null,
"crmKeyUrls": {
"VirtuousCRM": {
"crmKey": "100456",
"url": "https://app.virtuoussoftware.com/Generosity/Contact/Detail/100456"
}
},
"crmKey": "100456",
"crmSecondKey": null,
"isTestMode": false,
"isArchived": false,
"isGDPRDeleted": false,
"primaryAddress": {
"id": 400156,
"donorId": 200456,
"isPrimary": true,
"address1": "1542 Elmwood Lane",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97477",
"countryString": "United States",
"addressTypeDisplay": "Home"
},
"donorAddresses": [
{
"id": 400156,
"donorId": 200456,
"isPrimary": true,
"address1": "1542 Elmwood Lane",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97477",
"countryString": "United States",
"addressTypeDisplay": "Home"
}
],
"donorEmailAddresses": [
{
"id": 300156,
"donorId": 200456,
"typeDisplay": "Home Email",
"value": "priya.sharma@example.org",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": true,
"isPhone": false,
"isBounced": false,
"countryCode": null
}
],
"donorPhoneNumbers": [
{
"id": 300157,
"donorId": 200456,
"typeDisplay": "Mobile Phone",
"value": "(555) 012-3450",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": false,
"isPhone": true,
"isBounced": false,
"countryCode": "1"
}
]
},
{
"id": 202301,
"name": "The Aspen Family Foundation",
"title": null,
"firstName": null,
"middleName": null,
"lastName": null,
"suffix": null,
"email": "grants@aspenfoundation.example.org",
"phone": "(555) 012-3800",
"createdDate": "2023-06-15T11:05:00Z",
"modifiedDate": "2025-06-20T16:41:09Z",
"notes": "Annual grantor. Capital campaign supporter.",
"isOrganization": true,
"organizationName": "The Aspen Family Foundation",
"crmKeyUrls": {},
"crmKey": "102301",
"crmSecondKey": null,
"isTestMode": false,
"isArchived": false,
"isGDPRDeleted": false,
"primaryAddress": {
"id": 400231,
"donorId": 202301,
"isPrimary": true,
"address1": "100 Foundation Boulevard",
"address2": "Suite 200",
"city": "Portland",
"state": "OR",
"postal": "97201",
"countryString": "United States",
"addressTypeDisplay": "Work"
},
"donorAddresses": [],
"donorEmailAddresses": [],
"donorPhoneNumbers": []
}
],
"total": 1284
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"take": [
"take must be between 1 and 1000."
]
},
"instance": "/api/Donor/list"
}{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/Donor/list"
}List All Donors
Returns a paginated list of donors.
curl --request GET \
--url https://prod-api.raisedonors.com/api/Donor/list \
--header 'Authorization: <api-key>'const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://prod-api.raisedonors.com/api/Donor/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/Donor/list"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/Donor/list");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/Donor/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://prod-api.raisedonors.com/api/Donor/list")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/Donor/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/Donor/list';
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"items": [
{
"id": 200234,
"name": "Marcus Castellano",
"title": "Mr.",
"firstName": "Marcus",
"middleName": "David",
"lastName": "Castellano",
"suffix": null,
"email": "marcus.castellano@example.org",
"phone": "(555) 012-3401",
"createdDate": "2018-09-15T14:22:31Z",
"modifiedDate": "2025-10-12T09:15:42Z",
"notes": "Board member. Prefers email for receipts and annual reports.",
"isOrganization": false,
"organizationName": null,
"crmKeyUrls": {
"VirtuousCRM": {
"crmKey": "100234",
"url": "https://app.virtuoussoftware.com/Generosity/Contact/Detail/100234"
}
},
"crmKey": "100234",
"crmSecondKey": null,
"isTestMode": false,
"isArchived": false,
"isGDPRDeleted": false,
"primaryAddress": {
"id": 400101,
"donorId": 200234,
"isPrimary": true,
"address1": "219 Oak Hill Drive",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97478",
"countryString": "United States",
"addressTypeDisplay": "Home"
},
"donorAddresses": [
{
"id": 400101,
"donorId": 200234,
"isPrimary": true,
"address1": "219 Oak Hill Drive",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97478",
"countryString": "United States",
"addressTypeDisplay": "Home"
}
],
"donorEmailAddresses": [
{
"id": 300101,
"donorId": 200234,
"typeDisplay": "Home Email",
"value": "marcus.castellano@example.org",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": true,
"isPhone": false,
"isBounced": false,
"countryCode": null
}
],
"donorPhoneNumbers": [
{
"id": 300102,
"donorId": 200234,
"typeDisplay": "Mobile Phone",
"value": "(555) 012-3401",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": false,
"isPhone": true,
"isBounced": false,
"countryCode": "1"
},
{
"id": 300103,
"donorId": 200234,
"typeDisplay": "Home Phone",
"value": "(555) 012-3400",
"secondaryValue": null,
"isPrimary": false,
"isOptedIn": true,
"isValid": true,
"isEmail": false,
"isPhone": true,
"isBounced": false,
"countryCode": "1"
}
]
},
{
"id": 200456,
"name": "Priya Sharma",
"title": "Ms.",
"firstName": "Priya",
"middleName": null,
"lastName": "Sharma",
"suffix": null,
"email": "priya.sharma@example.org",
"phone": "(555) 012-3450",
"createdDate": "2023-02-15T10:30:00Z",
"modifiedDate": "2025-11-15T03:00:00Z",
"notes": "Monthly donor since February 2023. Volunteer organizer.",
"isOrganization": false,
"organizationName": null,
"crmKeyUrls": {
"VirtuousCRM": {
"crmKey": "100456",
"url": "https://app.virtuoussoftware.com/Generosity/Contact/Detail/100456"
}
},
"crmKey": "100456",
"crmSecondKey": null,
"isTestMode": false,
"isArchived": false,
"isGDPRDeleted": false,
"primaryAddress": {
"id": 400156,
"donorId": 200456,
"isPrimary": true,
"address1": "1542 Elmwood Lane",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97477",
"countryString": "United States",
"addressTypeDisplay": "Home"
},
"donorAddresses": [
{
"id": 400156,
"donorId": 200456,
"isPrimary": true,
"address1": "1542 Elmwood Lane",
"address2": null,
"city": "Springfield",
"state": "OR",
"postal": "97477",
"countryString": "United States",
"addressTypeDisplay": "Home"
}
],
"donorEmailAddresses": [
{
"id": 300156,
"donorId": 200456,
"typeDisplay": "Home Email",
"value": "priya.sharma@example.org",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": true,
"isPhone": false,
"isBounced": false,
"countryCode": null
}
],
"donorPhoneNumbers": [
{
"id": 300157,
"donorId": 200456,
"typeDisplay": "Mobile Phone",
"value": "(555) 012-3450",
"secondaryValue": null,
"isPrimary": true,
"isOptedIn": true,
"isValid": true,
"isEmail": false,
"isPhone": true,
"isBounced": false,
"countryCode": "1"
}
]
},
{
"id": 202301,
"name": "The Aspen Family Foundation",
"title": null,
"firstName": null,
"middleName": null,
"lastName": null,
"suffix": null,
"email": "grants@aspenfoundation.example.org",
"phone": "(555) 012-3800",
"createdDate": "2023-06-15T11:05:00Z",
"modifiedDate": "2025-06-20T16:41:09Z",
"notes": "Annual grantor. Capital campaign supporter.",
"isOrganization": true,
"organizationName": "The Aspen Family Foundation",
"crmKeyUrls": {},
"crmKey": "102301",
"crmSecondKey": null,
"isTestMode": false,
"isArchived": false,
"isGDPRDeleted": false,
"primaryAddress": {
"id": 400231,
"donorId": 202301,
"isPrimary": true,
"address1": "100 Foundation Boulevard",
"address2": "Suite 200",
"city": "Portland",
"state": "OR",
"postal": "97201",
"countryString": "United States",
"addressTypeDisplay": "Work"
},
"donorAddresses": [],
"donorEmailAddresses": [],
"donorPhoneNumbers": []
}
],
"total": 1284
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"take": [
"take must be between 1 and 1000."
]
},
"instance": "/api/Donor/list"
}{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/Donor/list"
}filter for a free-text search, sortBy and descending to order the results, and includeDetails=true to include each donor’s addresses and contact methods. For condition-based searches, use Query Donors; for a quick type-ahead lookup, use Search Donors.Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Query Parameters
A free-text search term. Only donors whose name, email, phone, or address match the term are returned.
The number of records to skip before the first record returned. Use it with take to page through the results.
The maximum number of records to return in this page of results.
Field to sort by (case-insensitive). Valid options: createdate, createddatetime, email, firstname, gifts, giftsum, id, lastname, modifieddatetimeutc, name, phone
createdate, createddatetime, email, firstname, gifts, giftsum, id, lastname, modifieddatetimeutc, name, phone The direction to sort the results. Set to true to sort in descending order.
When true, each donor includes their addresses and contact methods. This can slow down large result sets.
Was this page helpful?