Connect your account, then chat with AI to run tools.
Pexels API is a developer tool providing access to a large library of free stock photos and videos, enabling integration into web and mobile applications. It is primarily used to enhance applications with high-quality media content.
Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.
Browse all toolsDomain knowledge for Pexels — workflow patterns, data models, and gotchas for your AI agent.
Pexels provides a large library of high-quality stock photos and videos licensed under the Pexels License (personal and commercial use, no attribution required but appreciated).
| Field | Type | Description |
|---|---|---|
id | integer | Unique numeric photo identifier |
width | integer | Original width in pixels |
height | integer | Original height in pixels |
url | string | Pexels web page URL for this photo |
photographer | string | Photographer display name |
photographer_url | string | Photographer's Pexels profile URL |
photographer_id | integer | Photographer's numeric ID |
avg_color | string | Hex color (e.g. #978E82), useful as image placeholder |
alt | string | Alt text describing the photo |
liked | boolean | Whether the current user liked this photo |
src | object | Pre-sized image URLs (see below) |
src object sizes:
| Key | Dimensions | Notes |
|---|---|---|
original | Full resolution | Matches width×height |
large2x | W 940 × H 650 @2x | Retina-ready |
large | W 940 × H 650 | Standard large |
medium | H 350 (proportional) | Proportionally scaled |
small | H 130 (proportional) | Thumbnail |
portrait | W 800 × H 1200 | Cropped portrait |
landscape | W 1200 × H 627 | Cropped landscape |
tiny | W 280 × H 200 | Smallest preview |
| Field | Type | Description |
|---|---|---|
id | integer | Unique numeric video identifier |
width | integer | Original width in pixels |
height | integer | Original height in pixels |
url | string | Pexels web page URL for this video |
image | string | Video screenshot/poster URL |
duration | integer | Duration in seconds |
user | object | Videographer: id (int), name (str), url (str) |
video_files | array | Available quality versions (see below) |
video_pictures | array | Preview thumbnails: id, picture (URL), nr (index) |
video_files element:
| Field | Type | Description |
|---|---|---|
id | integer | File variant ID |
quality | string/null | "hd", "sd", "hls", or null |
file_type | string | MIME type (e.g. video/mp4) |
width | integer/null | Width (null for HLS) |
height | integer/null | Height (null for HLS) |
fps | number | Frames per second |
link | string | Direct download URL |
size | integer | File size in bytes |
| Field | Type | Description |
|---|---|---|
id | string | Alphanumeric collection identifier (e.g. "8xntbhr") |
title | string | Collection name |
description | string/null | Optional description |
private | boolean | Whether the collection is private |
media_count | integer | Total photos + videos |
photos_count | integer | Number of photos |
videos_count | integer | Number of videos |
photographer_id).user.id).type field ("Photo" or "Video") to discriminate./v1/)| Endpoint | Method | Description |
|---|---|---|
/v1/search?query=... | GET | Full-text search with orientation, size, color, locale filters |
/v1/curated | GET | Trending editor-curated photos, updated hourly |
/v1/photos/:id | GET | Single Photo by numeric ID |
/v1/videos/)| Endpoint | Method | Description |
|---|---|---|
/v1/videos/search?query=... | GET | Full-text search with orientation, size, locale filters |
/v1/videos/popular | GET | Trending videos with min_width, min_height, min_duration, max_duration filters |
/v1/videos/videos/:id | GET | Single Video by numeric ID |
/v1/collections/)| Endpoint | Method | Description |
|---|---|---|
/v1/collections/featured | GET | Editor-curated themed collections |
/v1/collections | GET | Your saved collections |
/v1/collections/:id | GET | All media in a collection, filterable by type (photos/videos) and sort (asc/desc) |
All list endpoints accept page (default 1) and per_page (default 15, max 80). Responses include page, per_page, total_results, and optional next_page/prev_page URL strings. The total_results for search endpoints is capped at a high number (e.g. 8000) even when more results exist.
X-Ratelimit-Limit (monthly quota), X-Ratelimit-Remaining, X-Ratelimit-Reset (UNIX timestamp for monthly rollover).#ffffff).large = 24MP+, medium = 12MP+, small = 4MP+; for videos, large = 4K, medium = Full HD, small = HD.quality field may be null for newer video files — use width/height to determine actual resolution.https://api.pexels.com/videos/ still works but should not be used — use /v1/videos/ instead.Best practice: link to the photo/video page on Pexels and credit the photographer/videographer (e.g. "Photo by John Doe on Pexels"). Use the url field from the response for attribution links.
Browse and retrieve Pexels photo/video collections. Pass collection_id to get all media (photos and videos) within that collection, with optional type...
Retrieve free stock photos from Pexels. Pass photo_id to get a single photo with full metadata and download URLs. Pass query to search by keyword with...
Retrieve free stock videos from Pexels. Pass video_id to get a single video with full metadata, download links, and preview images. Pass query to sear...
Pexels API is a developer tool providing access to a large library of free stock photos and videos, enabling integration into web and mobile applications. It is primarily used to enhance applications with high-quality media content. It provides 3 tools that AI agents can use through the Model Context Protocol (MCP).
Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/pexels-api. Authentication is handled automatically.
Pexels provides 3 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.
Pexels uses API Key. Pexels requires credentials. Connect via MCPBundles and authentication is handled automatically.
Connect Pexels to any MCP client in minutes
Model Context Protocol lets AI tools call external capabilities securely through a single URL. This bundle groups tools behind an MCP endpoint that many clients can use.
Skip the manual setup! Use the .mcpb file format for one-click installation. Check the Claude Desktop tab for setup instructions.
Select ChatGPT, Cursor, Claude Code, or another tab for copy-paste config.
More media integrations you might like
100ms provides a full-featured API for integrating real-time audio and video streaming into applicat...
This server is focused on generating unique digital art pieces through programmable art blocks, allo...
AssemblyAI offers a Speech-to-Text API, providing automated transcription and audio intelligence fea...
AudioScrape enables you to search audio content like Google searches text. With AudioScrape MCP, you...
Bunny, Inc. offers a suite of API-based services including audio and video content creation, transla...
Canva MCP Server enables AI assistants to create designs, autofill templates, manage folders, search...