The GlobalGiving API is RESTful in nature and requires users to construct Uniform Resource Identifiers (URIs) that will return the data requested in the format indicated.


As an example, try out the Get Themes API Operation which returns all GlobalGiving themes, under which projects are categorized, by accessing the following URL:


HTTPS Protocol


In the example above, the first thing you should notice is GlobalGiving API operations use the HTTPS protocol. This ensures all sensitive data, such as when submitting a donation.

Query String Parameters


Almost all API operations require at a minimum an api_key query string parameter. The one exception is the Get Access Token operation where the api_key, instead, is embedded in the posted XML or JSON data.

Query string parameters make up part of the URL and contains data the GlobalGiving API operation is expecting and will process.

Response Data

When accessing the above example URL in a browser, the results are returned in the default XML format since the response type was not specified. To change the response format to JSON a client such as cURL, where the Accept header can be specified, must be used.

Responses may be formatted as XML 'Accept: application/xml' or JSON 'Accept: application/json'.

Request Data

Similarly, when posting data, such as when accessing the Get Access Token or Submitting a Donation operations, the format in which the data is sent can be specified using the Content header.

Request data may be sent as XML 'Content-Type: application/xml' or JSON 'Content-Type: application/json'.

Ready to get started?

Please read the Code of Conduct, and the Terms of Service, then register here to get your API key.

WARNING: Javascript is currently disabled or is not available in your browser. GlobalGiving makes extensive use of Javascript and will not function properly with Javascript disabled. Please enable Javascript and refresh this page.