# Pexels

```json
{
  "name": "Pexels",
  "slug": "pexels",
  "url": "https://composio.dev/toolkits/pexels",
  "markdown_url": "https://composio.dev/toolkits/pexels.md",
  "logo_url": "https://logos.composio.dev/api/pexels",
  "categories": [
    "design & creative tools"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-05-12T10:21:52.555Z"
}
```

![Pexels logo](https://logos.composio.dev/api/pexels)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Pexels MCP or direct API to search stock photos, fetch trending videos, license images, and power creative workflows through natural language.

## Summary

Pexels is a free stock library offering high-quality photos and videos via API. Instantly boost your app or website with stunning visuals for any use case.

## Categories

- design & creative tools

## Toolkit Details

- Tools: 9

## Images

- Logo: https://logos.composio.dev/api/pexels

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for Pexels.
  - Setup:
    - Configure Api Key credentials for Pexels.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Find free stock photos of beaches
- Get trending Pexels videos this week
- List featured photography collections
- Show details for a specific photo ID

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `PEXELS_COLLECTION_MEDIA` | Get Collection Media | Tool to get all media within a collection by its ID. Use when you need to fetch paginated media from a specific collection. |
| `PEXELS_CURATED_PHOTOS` | Get Curated Photos | Tool to get real-time curated photos. Use when you need to fetch curated photos with pagination support. |
| `PEXELS_FEATURED_COLLECTIONS` | Featured Collections | Tool to get featured collections. Use when you need curated collections of photos and videos with pagination support. |
| `PEXELS_GET_PHOTO` | Get Photo | Tool to retrieve detailed information about a specific photo. Use when you have a valid photo ID to fetch metadata including dimensions, photographer details, and image URLs. Use after confirming the photo ID from search or curated endpoints. |
| `PEXELS_GET_VIDEO_BY_ID` | Get Video by ID | Tool to retrieve detailed information about a specific video from Pexels. Use when you have a valid video ID to fetch metadata including dimensions, duration, videographer details, and available video file versions. |
| `PEXELS_MY_COLLECTIONS` | Get My Collections | Tool to get all of the user's collections on Pexels. Use when you need to list a user's collections with pagination support. |
| `PEXELS_POPULAR_VIDEOS` | Get Popular Videos | Tool to retrieve current popular Pexels videos. Use when you want to fetch trending videos from Pexels. |
| `PEXELS_SEARCH_PHOTOS` | Search Photos | Tool to search for photos on Pexels. Use when you need to retrieve photos by a search term and optional filters. Call after confirming you have a valid Pexels API key. Response image URLs are nested under `photo.src.` (e.g., `photo.src.original`, `photo.src.landscape`, `photo.src.medium`); the top-level `url` field is not sufficient for accessing specific image sizes. |
| `PEXELS_SEARCH_VIDEOS` | Search Videos | Tool to search for videos on Pexels by query and optional filters. Use when you need to find relevant video assets. Combining multiple filters with a narrow query may return few or no results; only apply strict filter combinations when explicitly required. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Pexels Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Pexels actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Find trending travel photos from last week'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Find trending travel photos from last week'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and Claude Agent SDK
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Create Tool Router Session

Initialize the Composio client and create a Tool Router session
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Pexels tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Search for nature landscape photos')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'Search for nature landscape photos' }],
  stopWhen: stepCountIs( 5 )
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Pexels Integration

- Supports both Pexels MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for searching, fetching, and managing Pexels media assets

### 2. Managed Auth

- Built-in API key handling with secure storage
- Central place to manage, scope, and revoke Pexels access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Pexels
- Scoped, least privilege access to Pexels resources
- Full audit trail of agent actions to support review and compliance

## Use Pexels with any AI Agent Framework

Choose a framework you want to connect Pexels with:

- [ChatGPT](https://composio.dev/toolkits/pexels/framework/chatgpt)
- [Antigravity](https://composio.dev/toolkits/pexels/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/pexels/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/pexels/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/pexels/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/pexels/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/pexels/framework/codex)
- [Cursor](https://composio.dev/toolkits/pexels/framework/cursor)
- [VS Code](https://composio.dev/toolkits/pexels/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/pexels/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/pexels/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/pexels/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/pexels/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/pexels/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/pexels/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/pexels/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/pexels/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/pexels/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/pexels/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/pexels/framework/autogen)

## Related Toolkits

- [Figma](https://composio.dev/toolkits/figma) - Figma is a collaborative interface design tool for teams and individuals. It streamlines design workflows with real-time collaboration and easy sharing.
- [Abyssale](https://composio.dev/toolkits/abyssale) - Abyssale is a creative automation platform for generating images, videos, GIFs, PDFs, and HTML5 content programmatically. It streamlines and scales visual content production for marketing, design, and operations teams.
- [Alttext ai](https://composio.dev/toolkits/alttext_ai) - AltText.ai is a service that generates alt text for images automatically. It helps boost accessibility and SEO for your visual content.
- [Bannerbear](https://composio.dev/toolkits/bannerbear) - Bannerbear is an API-driven platform for generating images and videos automatically at scale. It helps businesses create custom graphics, social visuals, and marketing assets using powerful templates.
- [Canva](https://composio.dev/toolkits/canva) - Canva is a drag-and-drop design suite for creating professional graphics, presentations, and marketing materials. It makes it easy for anyone to design with beautiful templates and a vast library of elements.
- [Claid ai](https://composio.dev/toolkits/claid_ai) - Claid.ai delivers AI-driven image editing APIs for tasks like background removal, upscaling, and color correction. It helps automate and enhance image workflows with powerful, developer-friendly tools.
- [Cloudinary](https://composio.dev/toolkits/cloudinary) - Cloudinary is a cloud-based platform for managing, uploading, and transforming images and videos. It streamlines media workflows and delivers optimized assets globally.
- [Cults](https://composio.dev/toolkits/cults) - Cults is a digital marketplace for 3D printing models, connecting designers and makers. It lets creators share, sell, and discover a huge variety of printable designs easily.
- [DeepImage](https://composio.dev/toolkits/deepimage) - DeepImage is an AI-powered image enhancer and upscaler. Get higher-quality images with just a few clicks.
- [Dreamstudio](https://composio.dev/toolkits/dreamstudio) - DreamStudio is Stability AI’s platform for generating and editing images with AI. It lets you easily turn ideas into stunning visuals, fast.
- [Dynapictures](https://composio.dev/toolkits/dynapictures) - Dynapictures is a cloud-based platform for generating personalized images at scale. Instantly create hundreds of custom visuals using your data sources, like Google Sheets.
- [Fal.ai](https://composio.dev/toolkits/fal_ai) - Fal.ai is a generative media platform offering 600+ AI models for images, video, voice, and audio. Developers use Fal.ai for fast, scalable access to cutting-edge generative AI tools.
- [Gamma](https://composio.dev/toolkits/gamma) - Gamma is an AI-powered platform for making beautiful, interactive presentations and documents. It lets anyone create and share engaging decks with minimal effort.
- [Html to image](https://composio.dev/toolkits/html_to_image) - Html to image converts HTML and CSS into images or captures web page screenshots. Instantly generate visuals from code or web content—no manual screenshots needed.
- [Imagior](https://composio.dev/toolkits/imagior) - Imagior is an AI-powered image generation platform that lets you create and customize images using dynamic templates and APIs. Perfect for businesses and creators needing fast, scalable visuals without design hassle.
- [Imejis io](https://composio.dev/toolkits/imejis_io) - Imejis io is an API-based image generation platform with powerful customization and template support. It lets you create and modify images in seconds, no manual design work required.
- [Imgix](https://composio.dev/toolkits/imgix) - Imgix is a real-time image processing and delivery service for developers. It helps you optimize, transform, and deliver images efficiently at any scale.
- [Kraken io](https://composio.dev/toolkits/kraken_io) - Kraken.io is an image optimization and compression platform. It helps you shrink image file sizes while keeping visual quality intact.
- [Logo dev](https://composio.dev/toolkits/logo_dev) - Logo.dev is an API and database for high-resolution company logos and brand metadata. Instantly fetch official logos from any domain without scraping or manual searching.
- [Miro](https://composio.dev/toolkits/miro) - Miro is a collaborative online whiteboard platform for teams to brainstorm, design, and manage projects visually. It streamlines teamwork by enabling real-time idea sharing, diagramming, and workflow planning in a single space.

## Frequently Asked Questions

### Do I need my own developer credentials to use Pexels with Composio?

Yes, Pexels requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
