DonorDrive Public API

DonorDrive's Public API provides publicly available data from the Extra Life website in an easily parseable JSON format. This allows for participants and third-parties to create applications without requiring special users or permissions.

Refresh Rate
When creating any application that requests data from the DonorDrive system, please set your refresh rate to 60 seconds or greater. Rapid, consecutive requests can trigger DDoS protection and prevent access.

URL Format

In the following examples, text surrounded by curly braces, like {Participant ID} is to be replaced with a valid value.
For example,

participantID={Participant ID}&format=json


could be replaced with the following

participantID=247408&format=json

Participant Data

Basic Information

This endpoint provides a list of basic data for a specific participant.

Request Format

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participant&participantID={Participant ID}&format=json

Request Example

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participant&participantID=247408&format=json

Response Example

{

    "displayName":"Tim Mixell",

    "totalRaisedAmount":137.01,

    "fundraisingGoal":501,

    "participantID":247408,

    "createdOn":"2017-09-29T21:26:26-0400",

    "avatarImageURL":"//assets.donordrive.com/extralife/images/$avatars$/constituent_98DEB758-C29F-F29A-66B83598945B70D1.jpg",

    "timestamp":201709292126837,

    "teamID":33258,

    "isTeamCaptain":true

}

 

Participant Donations Received

This endpoint provides a list of donations received by a specific participant.

The results of this endpoint are paginated: 100 records-per-page. The order of the records is the descending order of "createdOn" (newest records show up first). Append/increment &page={Page Number} to traverse the record set. The x-total-records header is provided to facilitate pagination logic.


Request Format

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participantDonations&participantID={Participant ID}&format=json&page={Page Number}


Request Example

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participantDonations&participantID=247408&format=json&page=5


Response Example

[

    {

        "message":"O Captain! My Captain!",

        "createdOn":"2017-10-24T14:23:40-0400",

        "donorName":"Matt Clark",

        "avatarImageURL":"//assets.donordrive.com/extralife/images/$avatars$/constituent_9458D3A3-C29F-F29A-6D50666F86E432E6.jpg",

        "timestamp":20171024142340123,

        "donationAmount":103.00

    },

    {

        "message":null,

        "createdOn":"2017-10-25T14:41:56-0400",

        "donorName":"Bob Mixell",

        "avatarImageURL":"//assets.donordrive.com/clients/extralife/img/avatar-constituent-default.gif",

        "timestamp":20171025144156331,

        "donationAmount":15.00

    }

]


Team Data

Basic Information

This endpoint provides a list of basic data for a specific team.

Request Format

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.team&teamID={Team ID}&format=json


Request Example

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.team&teamID=33258&format=json


Response Example

{

    "totalRaisedAmount":2605.67,

    "fundraisingGoal":5000.00,

    "createdOn":"2017-01-09T05:41:08-0400",

    "avatarImageURL":"//assets.donordrive.com/extralife/images/$event534$/avatar_team_33258.jpg",

    "teamID":33258,

    "name":"Team DonorDrive",

    "timestamp":20170109054108451

}


Team Donations Received

This endpoint provides a list of donations made to all participants on a team.

The results of this endpoint are paginated: 100 records-per-page. The order of the records is the descending order of "createdOn" (newest records show up first). Append/increment &page={Page Number} to traverse the record set.

The x-total-records header is provided to facilitate pagination logic.
 

Request Format

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.teamDonations&teamID={Team ID}&format=json&page={Page Number}


Request Example

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.teamDonations&teamID=33258&format=json&page=1


Response Example

[

    {

        "message":"Go man go!",

        "createdOn":"2017-10-27T14:23:40-0400",

        "donorName":"Nik Stephens",

        "avatarImageURL":"//assets.donordrive.com/extralife/images/$avatars$/constituent_1093BCC8-C299-258B-B36089D2C862374F.jpg",

        "donationAmount":45.00,

        "timestamp":201710271423400

    },

    {

        "message":null,

        "createdOn":"2017-10-26T14:41:56-0400",

        "donorName":"Scott Brady",

        "avatarImageURL":"//assets.donordrive.com/clients/extralife/img/avatar-constituent-default.gif",

        "donationAmount":25.00,

        "participantID":247427,

        "participantDisplayName":"Sbrady",

        "timestamp":20171026144156113

    }

]


Team Roster

This endpoint provides a list of team members from a specific team.

The results of this endpoint are paginated: 100 records-per-page. The order of the records is the descending order of "createdOn" (newest records show up first). Append/increment &page={Page Number} to traverse the record set.

The x-total-records header is provided to facilitate pagination logic.

Request Format

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.teamParticipants&teamID={Team ID}&format=json&page={Page Number}


Request Example

https://www.extra-life.org/index.cfm?fuseaction=donorDrive.teamParticipants&teamID=33258&format=json&page=1


Response Example

[

    {

        "displayName":"Ben Clayton",

        "participantID":248573,

        "createdOn":"2017-10-25T14:41:56-0400",

        "avatarImageURL":"//assets.donordrive.com/clients/extralife/img/avatar-constituent-default.gif",

        "isTeamCaptain":false,

        "totalRaisedAmount":178.19,

        "timestamp":20171025144156569

    },

    {

        "displayName":"Amy Gregory",

        "participantID":254778,

        "createdOn":"2017-08-11T13:45:27-0400",

        "avatarImageURL":"//assets.donordrive.com/extralife/images/$avatars$/constituent_A29C2DD4-C299-258B-BD0A00A270E4D64C.jpg",

        "isTeamCaptain":false,

        "totalRaisedAmount":1337.00,

        "timestamp":20170811134527001

    }

]