This SDK makes using the Getty Images API easy. It handles credential management, makes HTTP requests and is written with a fluent style in mind. For more info about the API, see the Documentation.
- Search for images and videos from our extensive creative and editorial catalogs.
- Get image and video metadata.
- Download files using your Getty Images products (e.g., Editorial subscriptions, Easy Access, Thinkstock Subscriptions, and Image Packs).
- Custom Request functionality that allows user to call any endpoint.
- You have Java JDK 8 or above installed.
- You have Maven installed
If you don't already have an API key, fill out and submit the contact form to be connected to our Sales team.
The SDK is available on maven central repository. Include the following dependency in your pom.xml file:
<dependency>
<groupId>com.gettyimages</groupId>
<artifactId>gettyimagesapi-sdk</artifactId>
<version>X.X.X</version>
</dependency>
Install in your workspace with:
$ mvn install
String apiKey = "API Key";
String apiSecret = "API Secret";
ApiClient client = ApiClient.GetApiClientWithClientCredentials(apiKey, apiSecret);
try {
SearchImagesCreative search = client.searchimagescreative()
.withPhrase("cat")
.withAgeOfPeople(EnumSet.of(AgeOfPeople.CHILD, AgeOfPeople.BABY,AgeOfPeople.ADULT))
.withPage(3);
String result = search.executeAsync();
System.out.print(result);
} catch (SdkException e) {
System.out.println("Exception occurred while searching for creative images: " + e.getLocalizedMessage());
System.exit(-1);
}
String apiKey = "API Key";
String apiSecret = "API Secret";
ApiClient client = ApiClient.GetApiClientWithClientCredentials(apiKey, apiSecret);
try {
SearchVideosEditorial search = client.searchvideoseditorial()
.withPhrase("cat")
.withResponseFields(Arrays.asList("allowed_use","caption"))
.withFormatAvailable(FormatAvailable.HD)
.withExcludeNudity(true);
String result = search.executeAsync();
System.out.print(result);
} catch (SdkException e) {
System.out.println("Exception occurred while searching for creative images: " + e.getLocalizedMessage());
System.exit(-1);
}
String apiKey = "API Key";
String apiSecret = "API Secret";
ApiClient client = ApiClient.GetApiClientWithClientCredentials(apiKey, apiSecret);
try {
SearchImagesCreative search = client.searchimagescreative()
.withPhrase("cat")
.withCustomParameter("safe_search", "true")
.withCustomHeader("gi-country-code", "CAN");
String result = search.executeAsync();
System.out.print(result);
} catch (SdkException e) {
System.out.println("Exception occurred while searching for creative images: " + e.getLocalizedMessage());
System.exit(-1);
}
String apiKey = "API Key";
String apiSecret = "API Secret";
ApiClient client = ApiClient.GetApiClientWithClientCredentials(apiKey, apiSecret);
Map params = new HashMap();
params.put("phrase", "cat");
params.put("fields", Arrays.asList("artist", "id"));
params.put("age_of_people", EnumSet.of(AgeOfPeople.NEWBORN,AgeOfPeople.BABY,AgeOfPeople.CHILD));
try {
CustomRequest search = client.customrequest()
.withMethod("GET")
.withRoute("/search/images")
.withQueryParameters(params);
String result = search.executeAsync();
System.out.print(result);
} catch (SdkException e) {
System.out.println("Exception occurred while searching for creative images: " + e.getLocalizedMessage());
System.exit(-1);
}
For more examples, see unittests package.
In production applications, we recommend utilizing the ApiClient
as a global singleton. This ensures that token caching is properly performed.