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

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.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 5/20
🔒 Security 15/15
🛠 Developer XP 3/20
✓ Reliability 10/15

Partially tested on Apr 5, 2026

Technical Specifications

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

Similar APIs

View All →