When do I use basic auth vs OAuth?

If you need to log in, download, view license history, or perform any other action that you would need to be logged in as a specific user on our site, you will need to use our OAuth2 workflow to authorize. If you just need access to searches and media details, basic auth will work fine for you. In the API Resources documentation, look for a 'Required Scopes' section. If one exists, you will need to be authorized via OAuth 2 to use that resource.

Do you have sample code or client libraries I can use to start?

Yes, see our Sample Code page.


When using image search, the thumbnails have an image ID displayed. How do I remove that ID and only show the thumbnail?

Shutterstock thumbnails come with IDs embedded into the image themselves. The API gives you the information you need to hide these IDs.

For thumbnails, either the actual jpg width or actual jpg height will be different from the width or height returned by the API. The width and height returned by the API is the appropriate cropped display size, not the size of the jpg itself.

To hide these IDs, enclose the jpgs inside a div of the returned width and height, with overflow set to hidden. The ID at the bottom or right of the jpg will overflow beyond the dimensions of the containing div and disappear. For example:

<div style="height:110px;width:150px;overflow:hidden">
  <img src="">

How can I create a curated collection of images or videos to offer in my application?

You can create a lightbox, clipbox, or soundbox on the Shutterstock site then pull it through the API into your application. This way you'll only be offering the assets contained in that collection on your platform.

**How can I get more than 2000 search results?

If you receive this message, you should suggest to your end users to add more search terms. Only trusted API partners are permitted to access more than 2000 search results. If your application requires more than 2000 search results, please contact us at

  "page": 101,
  "per_page": 20,
  "total_count": 0,
  "search_id": "",
  "data": [],
  "message": "Too Many Results: Please provide more query parameters to narrow your search."

Affiliate Questions

I'm an affiliate referring traffic to Shutterstock. How do I apply tracking links to my API calls?

The API returns results that link directly to Shutterstock as the API is intended to be general-purpose. If you are an affiliate and want to be paid for directing users to Shutterstock you will need to generate affiliate links.

Retrieve an image link from the API, or supply your own:[image_id]

URL encode it:[image_id]

Append it to your Impact Radius URL via the u param.[your impact radius affiliate id]/43068/1305?[image_id]

Video affiliates will start with a slightly different URL.[video_id]

And, following the same encoding above, will have a slightly different Impact Radius URL.[your impact radius affiliate id]/42119/1305?[video_id]

Licensing/Downloading Questions

What do I need in order to license/download via the API? How does it work?

In addition to your Client ID and Secret you'll also need an image purchasing username and password. You submit your license request using both sets of credentials. In your license request, you'll also need to provide the asset ID, the size you need, and the subscription_id (the account from which you’re downloading from). To pull your subscription IDs, you can use the customer subscriptions endpoint.

Also, Media and Premier accounts have 4 custom metadata fields that need to be passed with each request (even if you do not use them, you need to pass them through as empty).

Can I download editorial images?

Shutterstock offers commercial and editorial use images. The search results default to displaying commercial use images only, but you can access editorial use images if your licensing agreement allows it. To search for editorial images add the license=editorial query parameter to your search request.

To download an editorial image or video clip a user must acknowledge that the image or video will be used only as the license allows. The following notice (or equivalent non-English translation) must be presented to the user before downloading each editorial image or video:

Editorial Use Only. Use of this image/video in advertising or for promotional purposes is prohibited.

The user must indicate agreement (for instance, by checking a checkbox) before an editorial download can begin. Calls to the image or video licensing endpoints for editorial assets must include an editorial_acknowledgement parameter. The parameter's value should be true if the user agreed to the notice, or false if they did not agree. A download will not be allowed if the user does not agree.

To determine whether an image is considered an editorial image look at the value for model_released parameter returned by the image details endpoint. Editorial images have a code value of 3 and a translation_id of EDITORIAL_ONLY.

To determine whether a video clip is considered an editorial video clip look at the value for model_released parameter returned by the video details endpoint. Editorial videos have a value of editorial.

What do I need to do to download or backup assets into a CMS or DAM?

To populate your DAM from your Shutterstock downloads you write RESTful client code to perform the following:

  1. Authenticate using your image purchasing account. The server will return JSON with an access_token parameter that you use in subsequent requests to authenticate as that user.
  2. For each image you want to redownload from shutterstock you must call the image downloads endpoint using the download ID you received when you first licensed the image. If you don't have a download ID you will need to relicense the image.
  3. Once you have downloaded the image you can name the file whatever you want before copying the file onto your system, or DAM, as desired.
  4. You can then run this process in batches as desired to keep downloading and copying the previously-licensed images.

The same process can be done for video and music purchases.