Pexels
Purpose
Search Pexels' royalty-free stock library: find photos and videos by keyword, browse curated/trending photos and popular videos, look up a single photo or video, and read collection contents. The Pexels API is read-only, so this connector cannot change anything.
Tooling
All commands go through bin/pexels.py:
bashbin/pexels.py auth # verify the connection bin/pexels.py search --query "misty forest" # search photos bin/pexels.py search --query "ocean" --orientation landscape --per-page 5 bin/pexels.py curated --per-page 5 # trending photos, updated hourly bin/pexels.py photo --id 1234567 # one photo's details and file URLs bin/pexels.py search-videos --query "city night" # search videos bin/pexels.py popular-videos --per-page 5 # popular videos bin/pexels.py video --id 1234567 # one video's details and file URLs bin/pexels.py collection --id abc123 # contents of a collection
Photo and video results include source file URLs at several sizes: pick the size that fits the use.
Auth
- Provider id:
pexels(credential is collected ascustom.pexels) - Collection: free API key via the secure credential flow (
credentials.request_api_access); get one at pexels.com/api. The key is sent verbatim asAuthorization: YOUR_API_KEYwith no Bearer prefix. - Required scopes: n/a (single key)
- Allowed hosts:
api.pexels.com - Status check:
bin/pexels.py auth
Operating Rules
- Read-only API: there are no writes to confirm.
- Monthly request quota: watch the
X-Ratelimit-Limit,X-Ratelimit-Remaining, andX-Ratelimit-Resetresponse headers on 2xx responses and stay inside the plan's quota. - Pexels media is royalty-free, but keep photographer credit where it is shown.
- Never exfiltrate the credential: the CLI only ever handles surrogates. Do not print, log, or transmit the key value.
Files
- SKILL.md
- bin/pexels.py
Maturity
🧪 Draft: written from Pexels' public API docs; not yet live-tested end to end.


