Shutterstock · Capability
Shutterstock API Reference — editorial_video
Shutterstock API Reference — editorial_video. 4 operations. Lead operation: List editorial video categories. Self-contained Naftiko capability covering one Shutterstock business surface.
What You Can Do
GET
Geteditorialcategories
— List editorial video categories
/v1/v2/editorial/videos/categories
POST
Licenseeditorialvideo
— License editorial video content
/v1/v2/editorial/videos/licenses
GET
Editorialvideossearch
— Search editorial video content
/v1/v2/editorial/videos/search
GET
Editorialvideosdetails
— Get editorial video content details
/v1/v2/editorial/videos/{id}
MCP Tools
list-editorial-video-categories
List editorial video categories
read-only
idempotent
license-editorial-video-content
License editorial video content
search-editorial-video-content
Search editorial video content
read-only
idempotent
get-editorial-video-content-details
Get editorial video content details
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Shutterstock API Reference — editorial_video
description: 'Shutterstock API Reference — editorial_video. 4 operations. Lead operation: List editorial video categories.
Self-contained Naftiko capability covering one Shutterstock business surface.'
tags:
- Shutterstock
- editorial_video
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SHUTTERSTOCK_API_KEY: SHUTTERSTOCK_API_KEY
capability:
consumes:
- type: http
namespace: shutterstock-editorial-video
baseUri: https://api.shutterstock.com
description: Shutterstock API Reference — editorial_video business capability. Self-contained, no shared references.
resources:
- name: v2-editorial-videos-categories
path: /v2/editorial/videos/categories
operations:
- name: geteditorialcategories
method: GET
description: List editorial video categories
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: v2-editorial-videos-licenses
path: /v2/editorial/videos/licenses
operations:
- name: licenseeditorialvideo
method: POST
description: License editorial video content
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v2-editorial-videos-search
path: /v2/editorial/videos/search
operations:
- name: editorialvideossearch
method: GET
description: Search editorial video content
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: query
in: query
type: string
description: One or more search terms separated by spaces
- name: sort
in: query
type: string
description: Sort by
- name: category
in: query
type: string
description: Show editorial video content within a certain editorial category; specify by category name
- name: country
in: query
type: string
description: Show only editorial video content that is available for distribution in a certain country
required: true
- name: supplier_code
in: query
type: array
description: Show only editorial video content from certain suppliers
- name: date_start
in: query
type: string
description: Show only editorial video content generated on or after a specific date
- name: date_end
in: query
type: string
description: Show only editorial video content generated on or before a specific date
- name: resolution
in: query
type: string
description: Show only editorial video content with specific resolution
- name: fps
in: query
type: number
description: Show only editorial video content generated with specific frames per second
- name: per_page
in: query
type: integer
description: Number of results per page
- name: cursor
in: query
type: string
description: The cursor of the page with which to start fetching results; this cursor is returned from previous
requests
- name: v2-editorial-videos-id
path: /v2/editorial/videos/{id}
operations:
- name: editorialvideosdetails
method: GET
description: Get editorial video content details
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Editorial ID
required: true
- name: country
in: query
type: string
description: Returns only if the content is available for distribution in a certain country
required: true
authentication:
type: bearer
token: '{{env.SHUTTERSTOCK_API_KEY}}'
exposes:
- type: rest
namespace: shutterstock-editorial-video-rest
port: 8080
description: REST adapter for Shutterstock API Reference — editorial_video. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/v2/editorial/videos/categories
name: v2-editorial-videos-categories
description: REST surface for v2-editorial-videos-categories.
operations:
- method: GET
name: geteditorialcategories
description: List editorial video categories
call: shutterstock-editorial-video.geteditorialcategories
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/editorial/videos/licenses
name: v2-editorial-videos-licenses
description: REST surface for v2-editorial-videos-licenses.
operations:
- method: POST
name: licenseeditorialvideo
description: License editorial video content
call: shutterstock-editorial-video.licenseeditorialvideo
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/editorial/videos/search
name: v2-editorial-videos-search
description: REST surface for v2-editorial-videos-search.
operations:
- method: GET
name: editorialvideossearch
description: Search editorial video content
call: shutterstock-editorial-video.editorialvideossearch
with:
query: rest.query
sort: rest.sort
category: rest.category
country: rest.country
supplier_code: rest.supplier_code
date_start: rest.date_start
date_end: rest.date_end
resolution: rest.resolution
fps: rest.fps
per_page: rest.per_page
cursor: rest.cursor
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/editorial/videos/{id}
name: v2-editorial-videos-id
description: REST surface for v2-editorial-videos-id.
operations:
- method: GET
name: editorialvideosdetails
description: Get editorial video content details
call: shutterstock-editorial-video.editorialvideosdetails
with:
id: rest.id
country: rest.country
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: shutterstock-editorial-video-mcp
port: 9090
transport: http
description: MCP adapter for Shutterstock API Reference — editorial_video. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: list-editorial-video-categories
description: List editorial video categories
hints:
readOnly: true
destructive: false
idempotent: true
call: shutterstock-editorial-video.geteditorialcategories
outputParameters:
- type: object
mapping: $.
- name: license-editorial-video-content
description: License editorial video content
hints:
readOnly: false
destructive: false
idempotent: false
call: shutterstock-editorial-video.licenseeditorialvideo
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: search-editorial-video-content
description: Search editorial video content
hints:
readOnly: true
destructive: false
idempotent: true
call: shutterstock-editorial-video.editorialvideossearch
with:
query: tools.query
sort: tools.sort
category: tools.category
country: tools.country
supplier_code: tools.supplier_code
date_start: tools.date_start
date_end: tools.date_end
resolution: tools.resolution
fps: tools.fps
per_page: tools.per_page
cursor: tools.cursor
outputParameters:
- type: object
mapping: $.
- name: get-editorial-video-content-details
description: Get editorial video content details
hints:
readOnly: true
destructive: false
idempotent: true
call: shutterstock-editorial-video.editorialvideosdetails
with:
id: tools.id
country: tools.country
outputParameters:
- type: object
mapping: $.