shutterstock API

Photography / OAuth Advanced HTTPS
Varies by plan (check documentation)

Overview

Shutterstock is a leading stock media platform, and its API lets you search and license millions of professional photos, videos, and music tracks programmatically. You authenticate with OAuth 2.0 and can integrate media search, licensing, and download workflows directly into your application. It is widely used by creative tools, CMS platforms, and marketing automation products.

Beginner Tip

Use the /v2/images/search endpoint with a simple keyword query to explore available images before attempting OAuth-based licensing. Read access requires only a client_id and client_secret for a client-credentials grant.

Available Data

image URLs in multiple sizes
photographer credit
image dimensions
download link
color data
stock price and symbol

Example Response

JSON Response
{
  "id": "Dwu85P9SOIk",
  "urls": {
    "full": "https://images.unsplash.com/photo-...",
    "regular": "https://images.unsplash.com/photo-...?w=1080",
    "thumb": "https://images.unsplash.com/photo-...?w=200"
  },
  "width": 4000,
  "height": 3000,
  "user": {
    "name": "John Doe",
    "username": "johndoe"
  }
}

Field Reference

data[].id Unique Shutterstock identifier for the image asset.
data[].description Short descriptive caption for the image provided by the contributor.
data[].assets.preview.url URL to a watermarked low-resolution preview of the image.
data[].contributor.id Identifier of the contributor (photographer) who uploaded the image.
total_count Total number of images matching the search query across all pages.

Implementation Example

Request
const url = "https://api-reference.shutterstock.com/";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "Authorization": "Bearer YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

HTTP 401 Unauthorized The access token is missing, expired, or incorrectly formatted.
Obtain a fresh OAuth 2.0 access token using the client credentials or authorization code flow and include it as a Bearer token.
HTTP 403 Forbidden: subscription required Your Shutterstock account does not have an active subscription or API plan for licensing.
Upgrade to an API-enabled subscription on the Shutterstock developer portal.
HTTP 429 Too Many Requests You have exceeded the API rate limit for your plan.
Implement exponential backoff and cache search results where possible to reduce call frequency.

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth OAuth
HTTPS REQUIRED
CORS UNKNOWN
Category Photography
Difficulty Advanced
Verified: 2026-04-04

Similar APIs

View All →