action shutterstock_search_editorial_videos { label: "Search editorial video content" description: "This endpoint searches for editorial videos. If you specify more than one search parameter, the API uses an AND condition. For example, if you set the `category` parameter to \"Alone,Performing\" and also specify a `query` parameter, the results include only videos that match the query and are in both the Alone and Performing categories. You can also filter search terms out in the `query` parameter by prefixing the term with NOT." provider: shutterstock method: GET path: "/v2/editorial/videos/search" encoding: json input: { type: "object" properties: { category: { type: "string" } country: { type: "string" format: "country-code-3" } cursor: { type: "string" } date_end: { type: "string" format: "date" } date_start: { type: "string" format: "date" } fps: { type: "number" } per_page: { type: "integer" } query: { type: "string" } resolution: { type: "string" enum: ["4k", "high_definition", "standard_definition"] } sort: { type: "string" enum: ["relevant", "newest", "oldest"] } supplier_code: { type: "array" items: { type: "string" } } } required: ["country"] additionalProperties: false } output: { type: "object" description: "Editorial search results" required: ["data", "total_count"] properties: { data: { type: "array" description: "Editorial items" items: { type: "object" description: "Metadata about editorial content" required: ["id"] properties: { aspect: { type: "number" } assets: { type: "object" description: "Asset information, including size and thumbnail URLs" properties: { original: { type: "object" description: "Video asset information" properties: { display_name: { type: "string" description: "Display name of this video size" } file_size: { type: "integer" description: "File size (in bytes) of this video size" } format: { type: "string" description: "Format of this video size" } fps: { type: "number" description: "Frames per second of this video size" } height: { type: "integer" description: "Height of this video size" } is_licensable: { type: "boolean" description: "Whether or not videos can be licensed in this video size" } width: { type: "integer" description: "Width of this video size" } } } preview_mp4: { type: "object" description: "Video preview information" required: ["url"] properties: { url: { type: "string" description: "Direct URL to the image" } } } preview_webm: { type: "object" additionalProperties: true } thumb_jpg: { type: "object" additionalProperties: true } } } byline: { type: "string" } caption: { type: "string" } categories: { type: "array" description: "List of categories" items: { type: "object" description: "Name of an editorial category" properties: { name: { type: "string" } } } } date_taken: { type: "string" format: "date" } description: { type: "string" } id: { type: "string" } keywords: { type: "array" items: { type: "string" } } title: { type: "string" } } } } message: { type: "string" description: "Optional error message" } next: { type: "string" description: "Cursor value that represents the next page of results" } page: { type: "integer" description: "Current page of the response" } per_page: { type: "integer" description: "Number of results per page" } prev: { type: "string" description: "Cursor value that represents the previous page of results" } search_id: { type: "string" description: "Unique identifier for the search request" } total_count: { type: "integer" description: "Total count of all results" } } } }