Sign Up

Log In

DonorsChoose.org data

FREE
By donorschoose.org
Updated 5 months ago
Education
-/10
Popularity Score
-
Latency
-
Success Rate

DonorsChoose.org data API Documentation

Our simple JSON API allows developers to help classroom projects with their website or application.

It serves up project titles, descriptions, classroom photos, geo-tags, full teacher-written essays, and more. It can also be used to issue gift cards to your customers so they can support a classroom projects of their choosing.

The API has been used by Chevron, SONIC Drive-In, NBC Universal, Bing, PayPal, Starbucks and others to build customized cause marketing and community engagement experiences.

View API Details

Supercharge your App

Discover and connect to thousands of APIs in the world's largest API Hub

GETDonor Pages
GETSearch
GETGiving Pages
GETTeacher Pages
GETDonor Pages

Sign up to test this endpoint
Log in
Header Parameters
X-RapidAPI-KeySTRING
REQUIRED
Required Parameters
donoridSTRING
REQUIREDThe ID number of donor you want information about.
APIKeySTRING
REQUIREDYou may also use DONORSCHOOSE for testing purposes. If you don't have a unique API key, location information or school photos may be omitted to protect school privacy.
Optional Parameters
callbackSTRING
OPTIONALIf you wish to wrap your response in a callback function, include the name here.You should make your callback static, as it will improve caching and in turn performance. (Many AJAX frameworks will make the callback a random string unless otherwise specified so you'll be overriding that default behavior.)lso be sure to enable any caching options (eg. set the cache param to True in jQuery) or else some frameworks will append a timestamp to each JSON request to prevent caching.
favoritesindexSTRING
OPTIONALindex into favorites.
showgivingpagesBOOLEAN
OPTIONALPass as true to retrieve giving pages and member giving pages. Default is false.
messagesmaxSTRING
OPTIONALThe max number of proposal messages to display. (default none, limit 500)
showbasicinfoBOOLEAN
OPTIONALWhether we should display basic donor info. Set this to false if you're retrieving paginated info, e.g. lists of proposals, and don't need to reload basic donor info. Default is true.
proposalsindexSTRING
OPTIONALindex into the result set of proposals (for pagination)
photosonlyBOOLEAN
OPTIONALSet to true to only load proposals that have associated "thank you" photos. This can be useful if your design depends heavily on that visual element.
favoritesmaxSTRING
OPTIONALThe number of favorites (starred proposals) to load. Default is none, limit is 100.
messagesverboseBOOLEAN
OPTIONALSet to true to return the text of teacher messages (still truncated at 175 chars). By default this is false, which means we provide a link to project page were the message was posted.
proposalsmaxSTRING
OPTIONALThe number of proposals to load. Default none, limit of 500.
messagesindexSTRING
OPTIONALIndex into messages.
Request Snippet
unirest.get("https://donorschooseorg-donorchoose-us.p.rapidapi.com/json-donor.html?callback=undefined&favoritesindex=undefined&showgivingpages=undefined&messagesmax=undefined&showbasicinfo=undefined&proposalsindex=undefined&photosonly=undefined&favoritesmax=undefined&messagesverbose=undefined&proposalsmax=undefined&messagesindex=undefined&APIKey=<required>")
.header("X-RapidAPI-Key", "undefined")
.end(function (result) {
  console.log(result.status, result.headers, result.body);
});
Sample Response

loading...

Log inSign up

Install SDK for NodeJS

Installing

To utilize unirest for node.js install the the npm module:

$ npm install unirest

After installing the npm package you can now start simplifying requests like so:

var unirest = require('unirest');

Creating Request

unirest.get("https://donorschooseorg-donorchoose-us.p.rapidapi.com/json-donor.html?callback=undefined&favoritesindex=undefined&showgivingpages=undefined&messagesmax=undefined&showbasicinfo=undefined&proposalsindex=undefined&photosonly=undefined&favoritesmax=undefined&messagesverbose=undefined&proposalsmax=undefined&messagesindex=undefined&APIKey=<required>")
.header("X-RapidAPI-Key", "undefined")
.end(function (result) {
  console.log(result.status, result.headers, result.body);
});
OAuth2 Authentication
Client ID
Client Secret
OAuth2 Authentication
Sign up for freeto test this endpoint
Join the world’s largest API marketplace with over half a million developers and thousands of APIs.
DiscoverAPIs
Testfrom the browser
Connectusing code snippets
Managefrom one dashboard