API Overview
page-template-default,page,page-id-15121,page-child,parent-pageid-15119,ajax_fade,page_not_loaded,,side_area_uncovered_from_content,qode-theme-ver-10.0,wpb-js-composer js-comp-ver-4.12,vc_responsive


Hook up our JSON API to your app

Our API 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.

In our Hacking Education contest, developers and data crunchers used our API to build 50 novel apps to improve public education in America. Check out the 8 contest finalists, these 25 awesome apps that wowed our judges and staff, and the Big Winner crowned by Stephen Colbert!

Getting Started

Check out the above examples of what others have built, then dive into our friendly Documentation to get started! You don’t even need to wait for an API key to get started, as our trial key provides full access to all our API functionality. If you have any questions, see our FAQ or our support forum.

Open Data

We recently published 13 years’ worth of data! That’s every classroom project and donation since the org’s inception in 2000. Much of the data isn’t available via the JSON API, such as every project donation and gift card purchase, and all the historical materials/resources requested by each teacher for each project.

What is JSON?

JSON (JavaScript Object Notation) is a simple, lightweight data format that represents arrays and key/value pairs, and is often used in place of XML.

While JSON was originally formulated to take advantage of Javascript’s eval function, libraries are now available for PHP, Java, Actionscript, C#, Ruby, Python, Objective C, and many others.

Learn more about JSON and access popular packages/parsers at http://www.json.org/.

How can I make an HTTP request?

Our API is simple: you make an HTTP request–assembled very similarly to a regular DonorsChoose.org front-end project search–and receive classroom project listings in a JSON response.

The easiest way to build your first request is to start by searching for projects on our site. For example, if you’d like to see a list of Arts & Music projects, the search results page address looks like this:

To view the same list in JSON format, simply change the URL like so:

Notice that in addition to changing the sub-domain from www. to api. and the URI from /donors/search.html to /common/json_feed.html, you will need to include an API Key on the query string.

Heads up that the first 70 lines of the response are blank so if you’re viewing the response in your browser, you’ll likely have to scroll a bit to get to the good stuff. (We know this is a bit annoying and hope to fix it soon.)


How can I receive a unique API key?

Our fully-featured trial API key “DONORSCHOOSE” is ideal for evaluative or testing purposes, or non-production-quality prototypes.

Once you’re ready to make things official, request a unique API key from us.

Also, we suggest you join our email list so we can notify you of any functional or policy changes.

API Tools

1. Choreos on Temboo
Generate code snippets to get data from our API in all popular languages on the fly.

2. Mashups on ProgrammableWeb

3. Docs, toggles, generators on mashape.com

4. Interactive Console from Apigee