Tutorial

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

Example

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://api.globalgiving.org/api/public/projectservice/themes?api_key=658137f6-ecaa-4587-8701-cc692cb9b153

Evaluating All the Pieces

HTTPS Protocol

https://api.globalgiving.org/api/public/projectservice/themes?api_key=658137f6-ecaa-4587-8701-cc692cb9b153

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 or order, is transmitted securely.

API Production and Test Domains

https://api.globalgiving.org/api/public/projectservice/themes?api_key=658137f6-ecaa-4587-8701-cc692cb9b153

All API operations are available using the api.globalgiving.org domain.

GlobalGiving Resource URIs

https://api.globalgiving.org/api/public/projectservice/themes?api_key=658137f6-ecaa-4587-8701-cc692cb9b153

GlobalGiving resources are accessed using URIs. All available API operations can be accessed here.

Query String Parameters

https://api.globalgiving.org/api/public/projectservice/themes?api_key=658137f6-ecaa-4587-8701-cc692cb9b153

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.