Skip to content

Latest commit

 

History

History
2177 lines (1574 loc) · 72.7 KB

ImagesApi.md

File metadata and controls

2177 lines (1574 loc) · 72.7 KB

shutterstock-api.ImagesApi

All URIs are relative to https://api.shutterstock.com.

Method HTTP request Description
addImageCollectionItems POST /v2/images/collections/{id}/items Add images to collections
bulkSearchImages POST /v2/bulk_search/images Run multiple image searches
createImageCollection POST /v2/images/collections Create image collections
deleteImageCollection DELETE /v2/images/collections/{id} Delete image collections
deleteImageCollectionItems DELETE /v2/images/collections/{id}/items Remove images from collections
downloadImage POST /v2/images/licenses/{id}/downloads Download images
getFeaturedImageCollection GET /v2/images/collections/featured/{id} Get the details of featured image collections
getFeaturedImageCollectionItems GET /v2/images/collections/featured/{id}/items Get the contents of featured image collections
getFeaturedImageCollectionList GET /v2/images/collections/featured List featured image collections
getImage GET /v2/images/{id} Get details about images
getImageCollection GET /v2/images/collections/{id} Get the details of image collections
getImageCollectionItems GET /v2/images/collections/{id}/items Get the contents of image collections
getImageCollectionList GET /v2/images/collections List image collections
getImageKeywordSuggestions POST /v2/images/search/suggestions Get keywords from text
getImageLicenseList GET /v2/images/licenses List image licenses
getImageList GET /v2/images List images
getImageRecommendations GET /v2/images/recommendations List recommended images
getImageSuggestions GET /v2/images/search/suggestions Get suggestions for a search term
getUpdatedImages GET /v2/images/updated List updated images
licenseImages POST /v2/images/licenses License images
listImageCategories GET /v2/images/categories List image categories
listSimilarImages GET /v2/images/{id}/similar List similar images
renameImageCollection POST /v2/images/collections/{id} Rename image collections
searchImages GET /v2/images/search Search for images

ImagesApi.addImageCollectionItems

ImagesApi.addImageCollectionItems(id, body)

Add images to collections

This endpoint adds one or more images to a collection by image IDs.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "126351027"; // String | Collection ID

const body = new ShutterstockApiReference.CollectionItemRequest(); // CollectionItemRequest | Array of image IDs to add to the collection


api.addImageCollectionItems(id, body)
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID
body (required) CollectionItemRequest Array of image IDs to add to the collection

Accepted authentication

  • OAuth Required scopes:
    • collections.edit

HTTP request headers

  • Content-Type: application/json

Return type

No response body.

ImagesApi.bulkSearchImages

BulkImageSearchResults ImagesApi.bulkSearchImages(body, queryParams)

Run multiple image searches

This endpoint runs up to 5 image searches in a single request and returns up to 20 results per search. You can provide global search parameters in the query parameters and override them for each search in the body parameter. The query and body parameters are the same as in the GET /v2/images/search endpoint.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const body = new ShutterstockApiReference.BulkImageSearchRequest(); // BulkImageSearchRequest | List of queries to request results for and filters to apply per query; these values override the defaults in the query parameters

const queryParams = { 
  'added_date': new Date("2021-03-29"), // Date | Show images added on the specified date
  'added_date_start': new Date("2021-03-29"), // Date | Show images added on or after the specified date
  'aspect_ratio_min': 1.7778, // Number | Show images with the specified aspect ratio or higher, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
  'aspect_ratio_max': 1.7778, // Number | Show images with the specified aspect ratio or lower, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
  'aspect_ratio': 1.7778, // Number | Show images with the specified aspect ratio, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
  'added_date_end': new Date("2021-03-29"), // Date | Show images added before the specified date
  'category': "category_example", // String | Show images with the specified Shutterstock-defined category; specify a category name or ID
  'color': "4F21EA", // String | Specify either a hexadecimal color in the format '4F21EA' or 'grayscale'; the API returns images that use similar colors
  'contributor': ["[123456]"], // [String] | Show images with the specified contributor names or IDs, allows multiple
  'contributor_country': "US", // Object | Show images from contributors in one or more specified countries, or start with NOT to exclude a country from the search
  'fields': "fields_example", // String | Fields to display in the response; see the documentation for the fields parameter in the overview section
  'height': 56, // Number | (Deprecated; use height_from and height_to instead) Show images with the specified height
  'height_from': 1080, // Number | Show images with the specified height or larger, in pixels
  'height_to': 1080, // Number | Show images with the specified height or smaller, in pixels
  'image_type': ["photo"], // [String] | Show images of the specified type
  'keyword_safe_search': true, // Boolean | Hide results with potentially unsafe keywords
  'language': "fr", // String | Set query and result language (uses Accept-Language header if not set)
  'license': ["license_example"], // [String] | Show only images with the specified license
  'model': ["[12345, 67890]"], // [String] | Show image results with the specified model IDs
  'orientation': "vertical", // String | Show image results with horizontal or vertical orientation
  'page': 1, // Number | Page number
  'per_page': 20, // Number | Number of results per page
  'people_model_released': true, // Boolean | Show images of people with a signed model release
  'people_age': "20s", // String | Show images that feature people of the specified age category
  'people_ethnicity': ["hispanic"], // [String] | Show images with people of the specified ethnicities, or start with NOT to show images without those ethnicities
  'people_gender': "both", // String | Show images with people of the specified gender
  'people_number': 2, // Number | Show images with the specified number of people
  'region': "US", // Object | Raise or lower search result rankings based on the result's relevance to a specified region; you can provide a country code or an IP address from which the API infers a country
  'safe': true, // Boolean | Enable or disable safe search
  'sort': "popular", // String | Sort by
  'spellcheck_query': true, // Boolean | Spellcheck the search query and return results on suggested spellings
  'view': "minimal", // String | Amount of detail to render in the response
  'width': 56, // Number | (Deprecated; use width_from and width_to instead) Show images with the specified width
  'width_from': 1920, // Number | Show images with the specified width or larger, in pixels
  'width_to': 1920 // Number | Show images with the specified width or smaller, in pixels
};

api.bulkSearchImages(body, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
body (required) BulkImageSearchRequest List of queries to request results for and filters to apply per query; these values override the defaults in the query parameters
added_date Date Show images added on the specified date
added_date_start Date Show images added on or after the specified date
aspect_ratio_min Number Show images with the specified aspect ratio or higher, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
aspect_ratio_max Number Show images with the specified aspect ratio or lower, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
aspect_ratio Number Show images with the specified aspect ratio, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
added_date_end Date Show images added before the specified date
category String Show images with the specified Shutterstock-defined category; specify a category name or ID
color String Specify either a hexadecimal color in the format '4F21EA' or 'grayscale'; the API returns images that use similar colors
contributor [String] Show images with the specified contributor names or IDs, allows multiple
contributor_country Object Show images from contributors in one or more specified countries, or start with NOT to exclude a country from the search
fields String Fields to display in the response; see the documentation for the fields parameter in the overview section
height Number (Deprecated; use height_from and height_to instead) Show images with the specified height
height_from Number Show images with the specified height or larger, in pixels
height_to Number Show images with the specified height or smaller, in pixels
image_type [String] Show images of the specified type

Valid values: "photo", "illustration", "vector"
keyword_safe_search Boolean Hide results with potentially unsafe keywords, defaults to true
language String Set query and result language (uses Accept-Language header if not set)

Valid values: "ar", "bg", "bn", "cs", "da", "de", "el", "en", "es", "fi", "fr", "gu", "he", "hi", "hr", "hu", "id", "it", "ja", "kn", "ko", "ml", "mr", "nb", "nl", "or", "pl", "pt", "ro", "ru", "sk", "sl", "sv", "ta", "te", "th", "tr", "uk", "ur", "vi", "zh", "zh-Hant"
license [String] Show only images with the specified license

Valid values: "commercial", "editorial", "enhanced"
model [String] Show image results with the specified model IDs
orientation String Show image results with horizontal or vertical orientation

Valid values: "horizontal", "vertical"
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 20
people_model_released Boolean Show images of people with a signed model release
people_age String Show images that feature people of the specified age category

Valid values: "infants", "children", "teenagers", "20s", "30s", "40s", "50s", "60s", "older"
people_ethnicity [String] Show images with people of the specified ethnicities, or start with NOT to show images without those ethnicities

Valid values: "african", "african_american", "black", "brazilian", "chinese", "caucasian", "east_asian", "hispanic", "japanese", "middle_eastern", "native_american", "pacific_islander", "south_asian", "southeast_asian", "other", "NOT african", "NOT african_american", "NOT black", "NOT brazilian", "NOT chinese", "NOT caucasian", "NOT east_asian", "NOT hispanic", "NOT japanese", "NOT middle_eastern", "NOT native_american", "NOT pacific_islander", "NOT south_asian", "NOT southeast_asian", "NOT other"
people_gender String Show images with people of the specified gender

Valid values: "male", "female", "both"
people_number Number Show images with the specified number of people
region Object Raise or lower search result rankings based on the result's relevance to a specified region; you can provide a country code or an IP address from which the API infers a country
safe Boolean Enable or disable safe search, defaults to true
sort String Sort by, defaults to popular

Valid values: "newest", "popular", "relevance", "random"
spellcheck_query Boolean Spellcheck the search query and return results on suggested spellings, defaults to true
view String Amount of detail to render in the response, defaults to minimal

Valid values: "minimal", "full"
width Number (Deprecated; use width_from and width_to instead) Show images with the specified width
width_from Number Show images with the specified width or larger, in pixels
width_to Number Show images with the specified width or smaller, in pixels

Accepted authentication

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Return type

BulkImageSearchResults

Example response

{
  "results" : [ {
    "data" : [ {
      "id" : "1572478477",
      "aspect" : 1.5,
      "assets" : {
        "preview" : {
          "height" : 300,
          "url" : "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
          "width" : 450
        },
        "small_thumb" : {
          "height" : 67,
          "url" : "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
          "width" : 100
        },
        "large_thumb" : {
          "height" : 100,
          "url" : "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
          "width" : 150
        },
        "mosaic" : {
          "height" : 167,
          "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-250nw-1572478477.jpg",
          "width" : 250
        },
        "huge_thumb" : {
          "height" : 260,
          "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
          "width" : 390
        },
        "preview_1000" : {
          "url" : "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
          "width" : 1000,
          "height" : 667
        },
        "preview_1500" : {
          "url" : "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
          "width" : 1500,
          "height" : 1000
        }
      },
      "contributor" : {
        "id" : "250738318"
      },
      "description" : "cropped image of woman gardening",
      "image_type" : "photo",
      "has_model_release" : true,
      "media_type" : "image"
    } ],
    "page" : 1,
    "per_page" : 5,
    "search_id" : "749090bb-2967-4a20-b22e-c800dc845e10",
    "spellcheck_info" : { },
    "total_count" : 45
  }, {
    "data" : [ ],
    "page" : 1,
    "per_page" : 5,
    "search_id" : "749090bb-2967-4a20-b22e-c800dc845e11",
    "spellcheck_info" : { },
    "total_count" : 0
  } ]
}

ImagesApi.createImageCollection

CollectionCreateResponse ImagesApi.createImageCollection(body)

Create image collections

This endpoint creates one or more image collections (lightboxes). To add images to the collections, use POST /v2/images/collections/{id}/items.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const body = new ShutterstockApiReference.CollectionCreateRequest(); // CollectionCreateRequest | The names of the new collections


api.createImageCollection(body)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
body (required) CollectionCreateRequest The names of the new collections

Accepted authentication

  • OAuth Required scopes:
    • collections.edit

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Return type

CollectionCreateResponse

Example response

{
  "id" : "48433105"
}

ImagesApi.deleteImageCollection

ImagesApi.deleteImageCollection(id)

Delete image collections

This endpoint deletes an image collection.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "136351027"; // String | Collection ID


api.deleteImageCollection(id)
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID

Accepted authentication

  • OAuth Required scopes:
    • collections.edit

HTTP request headers

No request headers required.

Return type

No response body.

ImagesApi.deleteImageCollectionItems

ImagesApi.deleteImageCollectionItems(id, queryParams)

Remove images from collections

This endpoint removes one or more images from a collection.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "126351027"; // String | Collection ID

const queryParams = { 
  'item_id': ["item_id_example"] // [String] | One or more image IDs to remove from the collection
};

api.deleteImageCollectionItems(id, queryParams)
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID
item_id [String] One or more image IDs to remove from the collection

Accepted authentication

  • OAuth Required scopes:
    • collections.edit

HTTP request headers

No request headers required.

Return type

No response body.

ImagesApi.downloadImage

Url ImagesApi.downloadImage(id, body)

Download images

This endpoint redownloads images that you have already received a license for. The download links in the response are valid for 8 hours.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "e123"; // String | License ID

const body = new ShutterstockApiReference.RedownloadImage(); // RedownloadImage | Information about the images to redownload


api.downloadImage(id, body)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String License ID
body (required) RedownloadImage Information about the images to redownload

Accepted authentication

  • OAuth Required scopes:
    • licenses.view

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Return type

Url

Example response

{
  "url" : "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.jpg"
}

ImagesApi.getFeaturedImageCollection

FeaturedCollection ImagesApi.getFeaturedImageCollection(id, queryParams)

Get the details of featured image collections

This endpoint gets more detailed information about a featured collection, including its cover image and timestamps for its creation and most recent update. To get the images, use GET /v2/images/collections/featured/{id}/items.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "136351027"; // String | Collection ID

const queryParams = { 
  'embed': "embed_example", // String | Which sharing information to include in the response, such as a URL to the collection
  'asset_hint': "1x" // String | Cover image size
};

api.getFeaturedImageCollection(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID
embed String Which sharing information to include in the response, such as a URL to the collection

Valid values: "share_url"
asset_hint String Cover image size, defaults to 1x

Valid values: "1x", "2x"

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

FeaturedCollection

Example response

{
  "total_item_count" : 82,
  "items_updated_time" : "2021-07-08T12:33:37.000Z",
  "name" : "Exercise & Fitness",
  "id" : "19853",
  "created_time" : "2021-07-07T13:10:24.000Z",
  "updated_time" : "2021-07-07T13:10:24.000Z",
  "cover_item" : {
    "url" : "https://ak.picdn.net/assets/cms/b467415246debdab45825d915a548f8f79b57882-Collection_1_Thumnail.jpg"
  }
}

ImagesApi.getFeaturedImageCollectionItems

CollectionItemDataList ImagesApi.getFeaturedImageCollectionItems(id, queryParams)

Get the contents of featured image collections

This endpoint lists the IDs of images in a featured collection and the date that each was added.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "136351027"; // String | Collection ID

const queryParams = { 
  'page': 1, // Number | Page number
  'per_page': 100 // Number | Number of results per page
};

api.getFeaturedImageCollectionItems(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 100

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

CollectionItemDataList

Example response

{
  "data" : [ {
    "id" : "1690105108",
    "added_time" : "2021-07-08T12:33:37.000Z",
    "media_type" : "image"
  }, {
    "id" : "1468703072",
    "added_time" : "2021-07-08T12:31:43.000Z",
    "media_type" : "image"
  } ],
  "page" : 1,
  "per_page" : 2,
  "total_count" : 82
}

ImagesApi.getFeaturedImageCollectionList

FeaturedCollectionDataList ImagesApi.getFeaturedImageCollectionList(queryParams)

List featured image collections

This endpoint lists featured collections of specific types and a name and cover image for each collection.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const queryParams = { 
  'embed': "share_url", // String | Which sharing information to include in the response, such as a URL to the collection
  'type': ["[photo]"], // [String] | The types of collections to return
  'asset_hint': "1x" // String | Cover image size
};

api.getFeaturedImageCollectionList(queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
embed String Which sharing information to include in the response, such as a URL to the collection

Valid values: "share_url"
type [String] The types of collections to return

Valid values: "photo", "editorial", "vector"
asset_hint String Cover image size, defaults to 1x

Valid values: "1x", "2x"

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

FeaturedCollectionDataList

Example response

{
  "data" : [ {
    "total_item_count" : 82,
    "items_updated_time" : "2021-07-08T12:33:37.000Z",
    "name" : "Exercise & Fitness",
    "id" : "19853",
    "created_time" : "2021-07-07T13:10:24.000Z",
    "updated_time" : "2021-07-07T13:10:24.000Z",
    "cover_item" : {
      "url" : "https://ak.picdn.net/assets/cms/b467415246debdab45825d915a548f8f79b57882-Collection_1_Thumnail.jpg"
    }
  } ],
  "page" : 1,
  "per_page" : 5,
  "total_count" : 123455
}

ImagesApi.getImage

Image ImagesApi.getImage(id, queryParams)

Get details about images

This endpoint shows information about an image, including a URL to a preview image and the sizes that it is available in.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "465011609"; // String | Image ID

const queryParams = { 
  'language': "es", // String | Language for the keywords and categories in the response
  'view': "full", // String | Amount of detail to render in the response
  'search_id': "00000000-0000-0000-0000-000000000000" // String | The ID of the search that is related to this request
};

api.getImage(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Image ID
language String Language for the keywords and categories in the response

Valid values: "ar", "bg", "bn", "cs", "da", "de", "el", "en", "es", "fi", "fr", "gu", "he", "hi", "hr", "hu", "id", "it", "ja", "kn", "ko", "ml", "mr", "nb", "nl", "or", "pl", "pt", "ro", "ru", "sk", "sl", "sv", "ta", "te", "th", "tr", "uk", "ur", "vi", "zh", "zh-Hant"
view String Amount of detail to render in the response, defaults to full

Valid values: "minimal", "full"
search_id String The ID of the search that is related to this request

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

Image

Example response

{
  "id" : "1572478477",
  "aspect" : 1.5,
  "assets" : {
    "preview" : {
      "height" : 300,
      "url" : "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width" : 450
    },
    "small_thumb" : {
      "height" : 67,
      "url" : "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width" : 100
    },
    "large_thumb" : {
      "height" : 100,
      "url" : "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width" : 150
    },
    "mosaic" : {
      "height" : 167,
      "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-250nw-1572478477.jpg",
      "width" : 250
    },
    "huge_thumb" : {
      "height" : 260,
      "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
      "width" : 390
    },
    "preview_1000" : {
      "url" : "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
      "width" : 1000,
      "height" : 667
    },
    "preview_1500" : {
      "url" : "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
      "width" : 1500,
      "height" : 1000
    }
  },
  "contributor" : {
    "id" : "250738318"
  },
  "description" : "cropped image of woman gardening",
  "image_type" : "photo",
  "has_model_release" : true,
  "media_type" : "image",
  "original_filename" : "123.jpg"
}

ImagesApi.getImageCollection

Collection ImagesApi.getImageCollection(id, queryParams)

Get the details of image collections

This endpoint gets more detailed information about a collection, including its cover image and timestamps for its creation and most recent update. To get the images in collections, use GET /v2/images/collections/{id}/items.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "126351027"; // String | Collection ID

const queryParams = { 
  'embed': ["embed_example"], // [String] | Which sharing information to include in the response, such as a URL to the collection
  'share_code': "share_code_example" // String | Code to retrieve a shared collection
};

api.getImageCollection(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID
embed [String] Which sharing information to include in the response, such as a URL to the collection

Valid values: "share_code", "share_url"
share_code String Code to retrieve a shared collection

Accepted authentication

  • OAuth Required scopes:
    • collections.view

HTTP request headers

  • Accept: application/json

Return type

Collection

Example response

{
  "id" : "293542904",
  "name" : "My collection",
  "total_item_count" : 85,
  "items_updated_time" : "2021-05-20T16:15:22-04:00",
  "cover_item" : {
    "id" : "297886754"
  }
}

ImagesApi.getImageCollectionItems

CollectionItemDataList ImagesApi.getImageCollectionItems(id, queryParams)

Get the contents of image collections

This endpoint lists the IDs of images in a collection and the date that each was added.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "126351027"; // String | Collection ID

const queryParams = { 
  'page': 1, // Number | Page number
  'per_page': 100, // Number | Number of results per page
  'share_code': "share_code_example", // String | Code to retrieve the contents of a shared collection
  'sort': "oldest" // String | Sort order
};

api.getImageCollectionItems(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 100
share_code String Code to retrieve the contents of a shared collection
sort String Sort order, defaults to oldest

Valid values: "newest", "oldest"

Accepted authentication

  • OAuth Required scopes:
    • collections.view

HTTP request headers

  • Accept: application/json

Return type

CollectionItemDataList

Example response

{
  "data" : [ {
    "id" : "1690105108",
    "added_time" : "2021-07-08T12:33:37.000Z",
    "media_type" : "image"
  }, {
    "id" : "1468703072",
    "added_time" : "2021-07-08T12:31:43.000Z",
    "media_type" : "image"
  } ],
  "page" : 1,
  "per_page" : 2,
  "total_count" : 82
}

ImagesApi.getImageCollectionList

CollectionDataList ImagesApi.getImageCollectionList(queryParams)

List image collections

This endpoint lists your collections of images and their basic attributes.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const queryParams = { 
  'embed': ["share_code"], // [String] | Which sharing information to include in the response, such as a URL to the collection
  'page': 1, // Number | Page number
  'per_page': 100 // Number | Number of results per page
};

api.getImageCollectionList(queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
embed [String] Which sharing information to include in the response, such as a URL to the collection

Valid values: "share_code", "share_url"
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 100

Accepted authentication

  • OAuth Required scopes:
    • collections.view

HTTP request headers

  • Accept: application/json

Return type

CollectionDataList

Example response

{
  "data" : [ {
    "id" : "293542904",
    "name" : "My collection",
    "total_item_count" : 85,
    "items_updated_time" : "2021-05-20T16:15:22-04:00",
    "cover_item" : {
      "id" : "297886754"
    }
  } ],
  "page" : 1,
  "per_page" : 100,
  "total_count" : 1
}

ImagesApi.getImageKeywordSuggestions

SearchEntitiesResponse ImagesApi.getImageKeywordSuggestions(body)

Get keywords from text

This endpoint returns up to 10 important keywords from a block of plain text.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const body = new ShutterstockApiReference.SearchEntitiesRequest(); // SearchEntitiesRequest | Plain text to extract keywords from


api.getImageKeywordSuggestions(body)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
body (required) SearchEntitiesRequest Plain text to extract keywords from

Accepted authentication

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Return type

SearchEntitiesResponse

Example response

{
  "keywords" : [ "planting", "flowers", "springtime", "beautiful" ]
}

ImagesApi.getImageLicenseList

DownloadHistoryDataList ImagesApi.getImageLicenseList(queryParams)

List image licenses

This endpoint lists existing licenses.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const queryParams = { 
  'image_id': "12345678", // String | Show licenses for the specified image ID
  'license': "standard", // String | Show images that are available with the specified license, such as `standard` or `enhanced`
  'page': 1, // Number | Page number
  'per_page': 20, // Number | Number of results per page
  'sort': "newest", // String | Sort order
  'username': "aUniqueUsername", // String | Filter licenses by username of licensee
  'start_date': new Date("2021-03-29T13:25:13.521Z"), // Date | Show licenses created on or after the specified date
  'end_date': new Date("2021-03-29T13:25:13.521Z"), // Date | Show licenses created before the specified date
  'download_availability': "all", // String | Filter licenses by download availability
  'team_history': false // Boolean | Set to true to see license history for all members of your team.
};

api.getImageLicenseList(queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
image_id String Show licenses for the specified image ID
license String Show images that are available with the specified license, such as standard or enhanced
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 20
sort String Sort order, defaults to newest

Valid values: "newest", "oldest"
username String Filter licenses by username of licensee
start_date Date Show licenses created on or after the specified date
end_date Date Show licenses created before the specified date
download_availability String Filter licenses by download availability, defaults to all

Valid values: "all", "downloadable", "non_downloadable"
team_history Boolean Set to true to see license history for all members of your team., defaults to false

Accepted authentication

  • OAuth Required scopes:
    • licenses.view

HTTP request headers

  • Accept: application/json

Return type

DownloadHistoryDataList

Example response

{
  "total_count" : 2890,
  "page" : 1,
  "per_page" : 1,
  "data" : [ {
    "id" : "e1eba3833793e77188d22caae8bac9f2cd",
    "user" : {
      "username" : "editorial_test_account_002"
    },
    "license" : "premier_editorial_all_digital",
    "download_time" : "2021-07-15T15:46:34.000Z",
    "is_downloadable" : false,
    "image" : {
      "id" : "9763363ao",
      "format" : {
        "size" : "original"
      }
    },
    "subscription_id" : "s12345678",
    "metadata" : {
      "purchase_order" : "123456",
      "client" : "Company A",
      "job" : "Important project",
      "other" : "Important media"
    }
  } ]
}

ImagesApi.getImageList

ImageDataList ImagesApi.getImageList(id, queryParams)

List images

This endpoint lists information about one or more images, including the available sizes.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = ["[1110335168, 465011609]"]; // [String] | One or more image IDs

const queryParams = { 
  'view': "minimal", // String | Amount of detail to render in the response
  'search_id': "00000000-0000-0000-0000-000000000000" // String | The ID of the search that is related to this request
};

api.getImageList(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) [String] One or more image IDs
view String Amount of detail to render in the response, defaults to minimal

Valid values: "minimal", "full"
search_id String The ID of the search that is related to this request

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

ImageDataList

Example response

{
  "data" : [ {
    "id" : "1572478477",
    "aspect" : 1.5,
    "assets" : {
      "preview" : {
        "height" : 300,
        "url" : "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 450
      },
      "small_thumb" : {
        "height" : 67,
        "url" : "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 100
      },
      "large_thumb" : {
        "height" : 100,
        "url" : "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 150
      },
      "mosaic" : {
        "height" : 167,
        "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-250nw-1572478477.jpg",
        "width" : 250
      },
      "huge_thumb" : {
        "height" : 260,
        "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
        "width" : 390
      },
      "preview_1000" : {
        "url" : "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
        "width" : 1000,
        "height" : 667
      },
      "preview_1500" : {
        "url" : "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 1500,
        "height" : 1000
      }
    },
    "contributor" : {
      "id" : "250738318"
    },
    "description" : "cropped image of woman gardening",
    "image_type" : "photo",
    "has_model_release" : true,
    "media_type" : "image"
  } ],
  "page" : 1,
  "per_page" : 5,
  "total_count" : 123455
}

ImagesApi.getImageRecommendations

RecommendationDataList ImagesApi.getImageRecommendations(id, queryParams)

List recommended images

This endpoint returns images that customers put in the same collection as the specified image IDs.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = ["[465011609]"]; // [String] | Image IDs

const queryParams = { 
  'max_items': 20, // Number | Maximum number of results returned in the response
  'safe': true // Boolean | Restrict results to safe images
};

api.getImageRecommendations(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) [String] Image IDs
max_items Number Maximum number of results returned in the response, defaults to 20
safe Boolean Restrict results to safe images, defaults to true

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

RecommendationDataList

Example response

{
  "data" : [ {
    "id" : "123456789"
  }, {
    "id" : "99379946"
  }, {
    "id" : "133918412"
  } ],
  "page" : 1,
  "per_page" : 5,
  "total_count" : 12
}

ImagesApi.getImageSuggestions

Suggestions ImagesApi.getImageSuggestions(query, queryParams)

Get suggestions for a search term

This endpoint provides autocomplete suggestions for partial search terms.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const query = "cats"; // String | Search term for which you want keyword suggestions

const queryParams = { 
  'limit': 10 // Number | Limit the number of suggestions
};

api.getImageSuggestions(query, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
query (required) String Search term for which you want keyword suggestions
limit Number Limit the number of suggestions, defaults to 10

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

Suggestions

Example response

{
  "data" : [ "cat scan", "cats and dogs", "cats playing", "catsuit", "cat silhouette", "catskills", "cats eyes", "cat sitting", "cat sleeping", "cats eye" ]
}

ImagesApi.getUpdatedImages

UpdatedMediaDataList ImagesApi.getUpdatedImages(queryParams)

List updated images

This endpoint lists images that have been updated in the specified time period to update content management systems (CMS) or digital asset management (DAM) systems. In most cases, use the interval parameter to show images that were updated recently, but you can also use the start_date and end_date parameters to specify a range of no more than three days. Do not use the interval parameter with either start_date or end_date.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const queryParams = { 
  'type': ["addition"], // [String] | Show images that were added, deleted, or edited; by default, the endpoint returns images that were updated in any of these ways
  'start_date': new Date("2021-03-29"), // Date | Show images updated on or after the specified date
  'end_date': new Date("2021-03-29"), // Date | Show images updated before the specified date
  'interval': "1 HOUR", // String | Show images updated in the specified time period, where the time period is an interval (like SQL INTERVAL) such as 1 DAY, 6 HOUR, or 30 MINUTE; the default is 1 HOUR, which shows images that were updated in the hour preceding the request
  'page': 1, // Number | Page number
  'per_page': 100, // Number | Number of results per page
  'sort': "newest" // String | Sort order
};

api.getUpdatedImages(queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
type [String] Show images that were added, deleted, or edited; by default, the endpoint returns images that were updated in any of these ways

Valid values: "addition", "deletion", "edit"
start_date Date Show images updated on or after the specified date
end_date Date Show images updated before the specified date
interval String Show images updated in the specified time period, where the time period is an interval (like SQL INTERVAL) such as 1 DAY, 6 HOUR, or 30 MINUTE; the default is 1 HOUR, which shows images that were updated in the hour preceding the request, defaults to 1 HOUR
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 100
sort String Sort order, defaults to newest

Valid values: "newest", "oldest"

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

UpdatedMediaDataList

Example response

{
  "data" : [ {
    "id" : "123456789",
    "updated_time" : "2020-05-29T12:10:22-05:00",
    "updates" : [ "addition", "edit" ]
  } ],
  "page" : 1,
  "per_page" : 5,
  "total_count" : 13
}

ImagesApi.licenseImages

LicenseImageResultDataList ImagesApi.licenseImages(body, queryParams)

License images

This endpoint gets licenses for one or more images. You must specify the image IDs in the body parameter and other details like the format, size, and subscription ID either in the query parameter or with each image ID in the body parameter. Values in the body parameter override values in the query parameters. The download links in the response are valid for 8 hours.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const body = new ShutterstockApiReference.LicenseImageRequest(); // LicenseImageRequest | List of images to request licenses for and information about each license transaction; these values override the defaults in the query parameters

const queryParams = { 
  'subscription_id': "subscription_id_example", // String | Subscription ID to use to license the image
  'format': "format_example", // String | (Deprecated) Image format
  'size': "huge", // String | Image size
  'search_id': "search_id_example" // String | Search ID that was provided in the results of an image search
};

api.licenseImages(body, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
body (required) LicenseImageRequest List of images to request licenses for and information about each license transaction; these values override the defaults in the query parameters
subscription_id String Subscription ID to use to license the image
format String (Deprecated) Image format

Valid values: "eps", "jpg"
size String Image size, defaults to huge

Valid values: "small", "medium", "huge", "vector", "custom"
search_id String Search ID that was provided in the results of an image search

Accepted authentication

  • OAuth Required scopes:
    • licenses.create Required scopes:
    • purchases.view

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

Return type

LicenseImageResultDataList

Example response

{
  "data" : [ {
    "image_id" : "59656357",
    "download" : {
      "url" : "https://download.shutterstock.com/gatekeeper/[random-characters]/shutterstock_59656357.jpg"
    },
    "allotment_charge" : 1
  } ],
  "page" : 1,
  "per_page" : 5,
  "total_count" : 23
}

ImagesApi.listImageCategories

CategoryDataList ImagesApi.listImageCategories(queryParams)

List image categories

This endpoint lists the categories (Shutterstock-assigned genres) that images can belong to.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const queryParams = { 
  'language': "es" // String | Language for the keywords and categories in the response
};

api.listImageCategories(queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
language String Language for the keywords and categories in the response

Valid values: "ar", "bg", "bn", "cs", "da", "de", "el", "en", "es", "fi", "fr", "gu", "he", "hi", "hr", "hu", "id", "it", "ja", "kn", "ko", "ml", "mr", "nb", "nl", "or", "pl", "pt", "ro", "ru", "sk", "sl", "sv", "ta", "te", "th", "tr", "uk", "ur", "vi", "zh", "zh-Hant"

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

CategoryDataList

Example response

{
  "data" : [ {
    "id" : "1",
    "name" : "Animals/Wildlife"
  }, {
    "id" : "11",
    "name" : "The Arts"
  } ],
  "page" : 1,
  "per_page" : 2,
  "total_count" : 13
}

ImagesApi.listSimilarImages

ImageSearchResults ImagesApi.listSimilarImages(id, queryParams)

List similar images

This endpoint returns images that are visually similar to an image that you specify.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "465011609"; // String | Image ID

const queryParams = { 
  'language': "es", // String | Language for the keywords and categories in the response
  'page': 1, // Number | Page number
  'per_page': 20, // Number | Number of results per page
  'view': "minimal" // String | Amount of detail to render in the response
};

api.listSimilarImages(id, queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Image ID
language String Language for the keywords and categories in the response

Valid values: "ar", "bg", "bn", "cs", "da", "de", "el", "en", "es", "fi", "fr", "gu", "he", "hi", "hr", "hu", "id", "it", "ja", "kn", "ko", "ml", "mr", "nb", "nl", "or", "pl", "pt", "ro", "ru", "sk", "sl", "sv", "ta", "te", "th", "tr", "uk", "ur", "vi", "zh", "zh-Hant"
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 20
view String Amount of detail to render in the response, defaults to minimal

Valid values: "minimal", "full"

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

ImageSearchResults

Example response

{
  "data" : [ {
    "id" : "1572478477",
    "aspect" : 1.5,
    "assets" : {
      "preview" : {
        "height" : 300,
        "url" : "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 450
      },
      "small_thumb" : {
        "height" : 67,
        "url" : "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 100
      },
      "large_thumb" : {
        "height" : 100,
        "url" : "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 150
      },
      "mosaic" : {
        "height" : 167,
        "url" : "https://image.shutterstock.com/image-photo/stock-photo-cropped-image-of-woman-gardening-250nw-1572478477.jpg",
        "width" : 250
      },
      "huge_thumb" : {
        "height" : 260,
        "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
        "width" : 390
      },
      "preview_1000" : {
        "url" : "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
        "width" : 1000,
        "height" : 667
      },
      "preview_1500" : {
        "url" : "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 1500,
        "height" : 1000
      }
    },
    "contributor" : {
      "id" : "250738318"
    },
    "description" : "cropped image of woman gardening",
    "image_type" : "photo",
    "has_model_release" : true,
    "media_type" : "image"
  } ],
  "page" : 1,
  "per_page" : 5,
  "search_id" : "749090bb-2967-4a20-b22e-c800dc845e10",
  "spellcheck_info" : { },
  "total_count" : 45
}

ImagesApi.renameImageCollection

ImagesApi.renameImageCollection(id, body)

Rename image collections

This endpoint sets a new name for an image collection.

Example

const sstk = require('shutterstock-api');

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const id = "126351027"; // String | Collection ID

const body = new ShutterstockApiReference.CollectionUpdateRequest(); // CollectionUpdateRequest | The new name for the collection


api.renameImageCollection(id, body)
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
id (required) String Collection ID
body (required) CollectionUpdateRequest The new name for the collection

Accepted authentication

  • OAuth Required scopes:
    • collections.edit

HTTP request headers

  • Content-Type: application/json

Return type

No response body.

ImagesApi.searchImages

ImageSearchResults ImagesApi.searchImages(queryParams)

Search for images

This endpoint searches for images. If you specify more than one search parameter, the API uses an AND condition. Array parameters can be specified multiple times; in this case, the API uses an AND or an OR condition with those values, depending on the parameter. You can also filter search terms out in the query parameter by prefixing the term with NOT. Free API accounts show results only from a limited library of media, not the full Shutterstock media library. Also, the number of search fields they can use in a request is limited.

Example

const sstk = require('shutterstock-api');

// To use HTTP basic authorization:
sstk.setBasicAuth(client_id, client_secret);

// To use OAuth access token authorization:
sstk.setAccessToken(process.env.SHUTTERSTOCK_API_TOKEN);

const api = new sstk.ImagesApi();

const queryParams = { 
  'added_date': new Date("2021-03-29"), // Date | Show images added on the specified date
  'added_date_start': new Date("2021-03-29"), // Date | Show images added on or after the specified date
  'aspect_ratio_min': 1.7778, // Number | Show images with the specified aspect ratio or higher, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
  'aspect_ratio_max': 1.7778, // Number | Show images with the specified aspect ratio or lower, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
  'aspect_ratio': 1.7778, // Number | Show images with the specified aspect ratio, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
  'ai_search': true, // Boolean | Set to true and specify the `ai_objective` and `ai_industry` parameters to use AI-powered search; the API returns information about how well images meet the objective for the industry 
  'ai_labels_limit': 20, // Number | For AI-powered search, specify the maximum number of labels to return
  'ai_industry': "ai_industry_example", // String | For AI-powered search, specify the industry to target; requires that the `ai_search` parameter is set to true
  'ai_objective': "ai_objective_example", // String | For AI-powered search, specify the goal of the media; requires that the `ai_search` parameter is set to true
  'added_date_end': new Date("2021-03-29"), // Date | Show images added before the specified date
  'category': "category_example", // String | Show images with the specified Shutterstock-defined category; specify a category name or ID
  'color': "4F21EA", // String | Specify either a hexadecimal color in the format '4F21EA' or 'grayscale'; the API returns images that use similar colors
  'contributor': ["[123456]"], // [String] | Show images with the specified contributor names or IDs, allows multiple
  'contributor_country': "US", // Object | Show images from contributors in one or more specified countries, or start with NOT to exclude a country from the search
  'fields': "fields_example", // String | Fields to display in the response; see the documentation for the fields parameter in the overview section
  'height': 56, // Number | (Deprecated; use height_from and height_to instead) Show images with the specified height
  'height_from': 1080, // Number | Show images with the specified height or larger, in pixels
  'height_to': 1080, // Number | Show images with the specified height or smaller, in pixels
  'image_type': ["photo"], // [String] | Show images of the specified type
  'keyword_safe_search': true, // Boolean | Hide results with potentially unsafe keywords
  'language': "fr", // String | Set query and result language (uses Accept-Language header if not set)
  'license': ["license_example"], // [String] | Show only images with the specified license
  'model': ["[12345, 67890]"], // [String] | Show image results with the specified model IDs
  'orientation': "vertical", // String | Show image results with horizontal or vertical orientation
  'page': 1, // Number | Page number
  'per_page': 20, // Number | Number of results per page
  'people_model_released': true, // Boolean | Show images of people with a signed model release
  'people_age': "20s", // String | Show images that feature people of the specified age category
  'people_ethnicity': ["hispanic"], // [String] | Show images with people of the specified ethnicities, or start with NOT to show images without those ethnicities
  'people_gender': "both", // String | Show images with people of the specified gender
  'people_number': 2, // Number | Show images with the specified number of people
  'query': "dogs on the beach", // String | One or more search terms separated by spaces; you can use NOT to filter out images that match a term
  'region': "US", // Object | Raise or lower search result rankings based on the result's relevance to a specified region; you can provide a country code or an IP address from which the API infers a country
  'safe': true, // Boolean | Enable or disable safe search
  'sort': "popular", // String | Sort by
  'spellcheck_query': true, // Boolean | Spellcheck the search query and return results on suggested spellings
  'view': "minimal", // String | Amount of detail to render in the response
  'width': 56, // Number | (Deprecated; use width_from and width_to instead) Show images with the specified width
  'width_from': 1920, // Number | Show images with the specified width or larger, in pixels
  'width_to': 1920 // Number | Show images with the specified width or smaller, in pixels
};

api.searchImages(queryParams)
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Parameters

Name Type Description
added_date Date Show images added on the specified date
added_date_start Date Show images added on or after the specified date
aspect_ratio_min Number Show images with the specified aspect ratio or higher, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
aspect_ratio_max Number Show images with the specified aspect ratio or lower, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
aspect_ratio Number Show images with the specified aspect ratio, using a positive decimal of the width divided by the height, such as 1.7778 for a 16:9 image
ai_search Boolean Set to true and specify the ai_objective and ai_industry parameters to use AI-powered search; the API returns information about how well images meet the objective for the industry
ai_labels_limit Number For AI-powered search, specify the maximum number of labels to return, defaults to 20
ai_industry String For AI-powered search, specify the industry to target; requires that the ai_search parameter is set to true

Valid values: "automotive", "cpg", "finance", "healthcare", "retail", "technology"
ai_objective String For AI-powered search, specify the goal of the media; requires that the ai_search parameter is set to true

Valid values: "awareness", "traffic", "conversions"
added_date_end Date Show images added before the specified date
category String Show images with the specified Shutterstock-defined category; specify a category name or ID
color String Specify either a hexadecimal color in the format '4F21EA' or 'grayscale'; the API returns images that use similar colors
contributor [String] Show images with the specified contributor names or IDs, allows multiple
contributor_country Object Show images from contributors in one or more specified countries, or start with NOT to exclude a country from the search
fields String Fields to display in the response; see the documentation for the fields parameter in the overview section
height Number (Deprecated; use height_from and height_to instead) Show images with the specified height
height_from Number Show images with the specified height or larger, in pixels
height_to Number Show images with the specified height or smaller, in pixels
image_type [String] Show images of the specified type

Valid values: "photo", "illustration", "vector"
keyword_safe_search Boolean Hide results with potentially unsafe keywords, defaults to true
language String Set query and result language (uses Accept-Language header if not set)

Valid values: "ar", "bg", "bn", "cs", "da", "de", "el", "en", "es", "fi", "fr", "gu", "he", "hi", "hr", "hu", "id", "it", "ja", "kn", "ko", "ml", "mr", "nb", "nl", "or", "pl", "pt", "ro", "ru", "sk", "sl", "sv", "ta", "te", "th", "tr", "uk", "ur", "vi", "zh", "zh-Hant"
license [String] Show only images with the specified license

Valid values: "commercial", "editorial", "enhanced"
model [String] Show image results with the specified model IDs
orientation String Show image results with horizontal or vertical orientation

Valid values: "horizontal", "vertical"
page Number Page number, defaults to 1
per_page Number Number of results per page, defaults to 20
people_model_released Boolean Show images of people with a signed model release
people_age String Show images that feature people of the specified age category

Valid values: "infants", "children", "teenagers", "20s", "30s", "40s", "50s", "60s", "older"
people_ethnicity [String] Show images with people of the specified ethnicities, or start with NOT to show images without those ethnicities

Valid values: "african", "african_american", "black", "brazilian", "chinese", "caucasian", "east_asian", "hispanic", "japanese", "middle_eastern", "native_american", "pacific_islander", "south_asian", "southeast_asian", "other", "NOT african", "NOT african_american", "NOT black", "NOT brazilian", "NOT chinese", "NOT caucasian", "NOT east_asian", "NOT hispanic", "NOT japanese", "NOT middle_eastern", "NOT native_american", "NOT pacific_islander", "NOT south_asian", "NOT southeast_asian", "NOT other"
people_gender String Show images with people of the specified gender

Valid values: "male", "female", "both"
people_number Number Show images with the specified number of people
query String One or more search terms separated by spaces; you can use NOT to filter out images that match a term
region Object Raise or lower search result rankings based on the result's relevance to a specified region; you can provide a country code or an IP address from which the API infers a country
safe Boolean Enable or disable safe search, defaults to true
sort String Sort by, defaults to popular

Valid values: "newest", "popular", "relevance", "random"
spellcheck_query Boolean Spellcheck the search query and return results on suggested spellings, defaults to true
view String Amount of detail to render in the response, defaults to minimal

Valid values: "minimal", "full"
width Number (Deprecated; use width_from and width_to instead) Show images with the specified width
width_from Number Show images with the specified width or larger, in pixels
width_to Number Show images with the specified width or smaller, in pixels

Accepted authentication

HTTP request headers

  • Accept: application/json

Return type

ImageSearchResults

Example response

{
  "data" : [ {
    "id" : "1572478477",
    "aspect" : 1.5,
    "assets" : {
      "preview" : {
        "height" : 300,
        "url" : "https://image.shutterstock.com/display_pic_with_logo/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 450
      },
      "small_thumb" : {
        "height" : 67,
        "url" : "https://thumb7.shutterstock.com/thumb_small/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 100
      },
      "large_thumb" : {
        "height" : 100,
        "url" : "https://thumb7.shutterstock.com/thumb_large/250738318/1572478477/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 150
      },
      "mosaic" : {
        "height" : 167,
        "url" : "https://image.shutterstock.com/image-photo/stock-photo-cropped-image-of-woman-gardening-250nw-1572478477.jpg",
        "width" : 250
      },
      "huge_thumb" : {
        "height" : 260,
        "url" : "https://image.shutterstock.com/image-photo/cropped-image-woman-gardening-260nw-1572478477.jpg",
        "width" : 390
      },
      "preview_1000" : {
        "url" : "https://ak.picdn.net/shutterstock/photos/1572478477/watermark_1000/1706028c641ea2f443057287c67d9b91/preview_1000-1572478477.jpg",
        "width" : 1000,
        "height" : 667
      },
      "preview_1500" : {
        "url" : "https://image.shutterstock.com/z/stock-photo-cropped-image-of-woman-gardening-1572478477.jpg",
        "width" : 1500,
        "height" : 1000
      }
    },
    "contributor" : {
      "id" : "250738318"
    },
    "description" : "cropped image of woman gardening",
    "image_type" : "photo",
    "has_model_release" : true,
    "media_type" : "image"
  } ],
  "page" : 1,
  "per_page" : 5,
  "search_id" : "749090bb-2967-4a20-b22e-c800dc845e10",
  "spellcheck_info" : { },
  "total_count" : 45
}