API Conventions

Rate Limiting

All requests to the Shutterstock API are limited to an application specific number of requests per second. If you exceed your allotted limit you will receive an error response with a status code of 429.

If you are getting this status code frequently, please contact api@shutterstock.com to request a higher rate limit.

Pagination

You can specify the current page number by setting the page parameter (1-based). You can further change the default number of results by specifying the per_page parameter.

Multiple values

Multiple values for a given parameter can be provided in the following way:

id=123&id=456

The following are not valid:

id=[123,456]
id=123, 456
id=123 456

Partial Responses

Specify a fields parameter to limit responses to contain only the fields you need. The value of the parameter specifies fields in the same way that Google supports it across many of their APIs.

For example, to retrieve just the id and preview_url for search results, specify a fields parameter indicating as such:

$ curl https://api.shutterstock.com/v2/images/search?fields=data(id,preview_url)

E-Tag

An etag header is returned on all valid GET and HEAD requests and can be used to retrieve cached responses using the if-none-match header. For more information see RFC2616.

JSON-P

You can specify a callback parameter on any GET request to return the results wrapped in a Javascript function.

$ curl 'https://api.shutterstock.com/v2/test/validate?id=123&callback=jsonpCallback'

jsonpCallback({
  "statusCode": 200,
  "headers": {
    "X-End-User-Request-Id": "27e8b503-7f70-4020-b2da-16f2acad653c"
  },
  "body": {
    "header": { "user-agent": "curl/7.30.0" },
    "query": { "id": 123 }
  }
})

Asset URLs

To fetch an asset without looking up its details one can use the following URL structures:

Image

Size Url
thumb_small http://image.shutterstock.com/thumb_small/0/0/{image_id}.jpg
thumb_large http://image.shutterstock.com/thumb_large/0/0/{image_id}.jpg
preview http://image.shutterstock.com/display_pic_with_logo/0/0/{image_id}.jpg

Video

Size Url
thumb_webm http://ak.picdn.net/shutterstock/videos/{video_id}/thumb/{video_id}.webm
thumb_mp4 http://ak.picdn.net/shutterstock/videos/{video_id}/thumb/{video_id}.mp4
thumb_jpg http://ak.picdn.net/shutterstock/videos/{video_id}/thumb/{frame_number}.jpg
preview_webm http://ak.picdn.net/shutterstock/videos/{video_id}/preview/{video_id}.webm
preview_mp4 http://ak.picdn.net/shutterstock/videos/{video_id}/preview/{video_id}.mp4

Audio

Size Url
preview_mp3 http://ak.picdn.net/shutterstock/audio/{audio_id}/preview/{audio_id}.mp3
preview_ogg http://ak.picdn.net/shutterstock/audio/{audio_id}/preview/{audio_id}.ogg
waveform http://ak.picdn.net/shutterstock/audio/{audio_id}/waveform/{audio_id}.png

Contributor

Size Url
thumb http://ak.picdn.net/contributors/{contributor_id}/avatars/thumb.jpg
original http://ak.picdn.net/contributors/{contributor_id}/avatars/original.jpg