AgenticSource API.
One MCP connection, 12 tools, 16 verified upstream sources. License-aware results on every call. Drops into Claude, ChatGPT, Cursor, Codex, and any MCP-compatible agent in 30 seconds.
Quickstart.
Four steps to a working integration. Total time: about 30 seconds.
1. Sign up
Magic-link signup at agenticsource.dev/signup. Email only, no credit card required for the free tier.
2. Get your endpoint
Every account uses the same MCP endpoint:
https://agenticsource.dev/mcp
3. Configure your agent
Drop the MCP URL into your agent's configuration. For managed clients (Claude, ChatGPT, Codex) authenticate via OAuth. For local clients (Cursor, Continue, Cline, Zed, Windsurf) paste your API key. Full client-specific setup in Client setup.
4. Call any tool
Your agent now has 12 new tools available. The agent-side call (in pseudocode your AI client handles for you):
await mcp.search_images({
query: "team meeting modern office",
orientation: "landscape",
commercial_safe_only: true
})
Under the hood, the MCP client sends a JSON-RPC 2.0 request over HTTP. If you're integrating directly without an MCP client, the wire format is:
POST https://agenticsource.dev/mcp
Authorization: Bearer sk_as_...
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_images",
"arguments": {
"query": "team meeting modern office",
"orientation": "landscape",
"commercial_safe_only": true
}
}
}
tools/list to discover all available tools and their schemas dynamically. Most MCP-compatible clients do this automatically on connection.
Authentication.
Two paths supported. Pick whichever your client speaks.
OAuth 2.0 + PKCE
For managed AI clients (Claude, ChatGPT, Codex). Standard OAuth 2.0 with PKCE per RFC 7636 and discovery metadata per RFC 8414.
- Discovery URL:
https://agenticsource.dev/.well-known/oauth-authorization-server - Authorization endpoint:
/oauth/authorize - Token endpoint:
/oauth/token - Scopes:
tools:read,tools:write
Your client handles the handshake. You click "Connect AgenticSource" inside the AI client; the magic-link flow signs you up if needed; the AI client receives an access token; from then on, all MCP calls are authenticated by header.
API key (Bearer)
For Cursor, scripts, and local MCP clients that don't support OAuth. Generate a key in the dashboard (agenticsource.dev/dashboard), then send it as a Bearer header:
Authorization: Bearer sk_as_XXXXXXXXXXXXXXXXXXXXXXXX
API keys are scoped to a single account and rotate freely. The dashboard supports up to 10 active keys per account.
Client setup.
Drop-in configuration for the eight officially-tested MCP clients.
https://agenticsource.dev/mcpClick Connect. You'll be redirected to AgenticSource to authorize, then back to Claude. Done in 20 seconds.
https://agenticsource.dev/mcpAuthorize via OAuth.
~/.cursor/mcp.json (create if missing):
{
"mcpServers": {
"agenticsource": {
"url": "https://agenticsource.dev/mcp",
"headers": {
"Authorization": "Bearer sk_as_YOUR_KEY_HERE"
}
}
}
}
Replace sk_as_YOUR_KEY_HERE with a key from your dashboard. Restart Cursor.
~/.codex/config.toml:
[mcp_servers.agenticsource] url = "https://agenticsource.dev/mcp" [mcp_servers.agenticsource.headers] Authorization = "Bearer sk_as_YOUR_KEY_HERE"
~/.continue/config.json, add under mcpServers:
{
"mcpServers": {
"agenticsource": {
"transport": "http",
"url": "https://agenticsource.dev/mcp",
"headers": {
"Authorization": "Bearer sk_as_YOUR_KEY_HERE"
}
}
}
}
{
"agenticsource": {
"url": "https://agenticsource.dev/mcp",
"headers": {
"Authorization": "Bearer sk_as_YOUR_KEY_HERE"
}
}
}
~/.config/zed/settings.json, add under context_servers:
"context_servers": {
"agenticsource": {
"command": null,
"url": "https://agenticsource.dev/mcp",
"headers": {
"Authorization": "Bearer sk_as_YOUR_KEY_HERE"
}
}
}
https://agenticsource.dev/mcp, header Authorization: Bearer sk_as_YOUR_KEY_HERE. Or paste into ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"agenticsource": {
"url": "https://agenticsource.dev/mcp",
"headers": {
"Authorization": "Bearer sk_as_YOUR_KEY_HERE"
}
}
}
}
Tools.
12 MCP tools across 11 visible categories plus two legacy categories still callable through the API.
search_images 7 sources
Search across Unsplash, Pexels, Pixabay, OpenVerse, Wikimedia, NASA, and Met Museum. ~800M+ images. License metadata on every result.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | required | Search query, freeform text. |
| orientation | string | "any" | "landscape", "portrait", "square", or "any". |
| color | string | null | Hex color or descriptor (e.g. "blue", "#3B82F6"). |
| commercial_safe_only | boolean | false | Filter out CC-BY-NC and other non-commercial licenses. |
| include_open_culture | boolean | true | Include results from Wikimedia, NASA, and Met Museum. |
| limit | integer | 35 | Max results across all sources (1-50). |
Response
{
"count": 35,
"results": [{
"source": "unsplash",
"id": "...",
"url_full": "https://...",
"url_thumbnail": "https://...",
"photographer": "J. Doe",
"photographer_url": "https://...",
"license_name": "Unsplash License",
"license_url": "https://...",
"commercial_use": true,
"attribution_required": false,
"width": 5472,
"height": 3648
}],
"sources_responded": ["unsplash", "pexels", "pixabay", "openverse"]
}
search_videos 3 sources
Pexels, Pixabay, Coverr. ~150k HD/4K clips. Returns MP4 (H.264) with preview and full-quality download URLs, plus duration_seconds, fps, width, height, and file_size_bytes per result.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | required | Search query. |
| min_duration | integer | 0 | Minimum duration in seconds. |
| max_duration | integer | null | Maximum duration in seconds. |
| resolution | string | "any" | "4k", "hd", "sd", or "any". |
| commercial_safe_only | boolean | false | Filter for commercial-safe results. |
| limit | integer | 20 | Max results (1-50). |
search_audio 2 sources
Freesound (~600k CC sounds) and Pixabay Music. Ambient, SFX, music tracks. Returns MP3 previews plus original-format downloads (typically WAV, FLAC, or OGG from Freesound; MP3 from Pixabay), with duration_seconds, sample_rate_hz, and bit_depth.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | required | Search query. |
| kind | string | "any" | "sfx", "music", "ambient", "voice", or "any". |
| sources | string[] | ["freesound","pixabay"] | Which sources to query. |
| commercial_safe_only | boolean | false | Filter for commercial use. |
| limit | integer | 20 | Max results (1-50). |
search_icons 200k+ icons
Iconify aggregator across 150+ libraries: Lucide, Heroicons, Phosphor, Tabler, Material, FontAwesome, and more.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | required | Icon name or descriptor. |
| prefix | string | null | Restrict to a library prefix (e.g. "lucide"). |
| style | string | "any" | "outline", "solid", "duotone", or "any". |
| limit | integer | 24 | Max results (1-100). |
search_illustrations 2 sources
unDraw static SVG illustrations and Lottiefiles animations. ~300k+ assets, mostly free for commercial use.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | required | Search query or theme. |
| kind | string | "any" | "static" (unDraw), "animated" (Lottie), or "any". |
| color | string | null | Hex color to recolor unDraw illustrations (ignored for Lottie). |
| limit | integer | 20 | Max results (1-50). |
get_color_palette generative
Colormind generative palettes and The Color API scheme builder. Seedable, deterministic.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| seed | string | null | Hex color or descriptor (e.g. "fintech", "#3B82F6"). |
| mode | string | "analogous" | "analogous", "complementary", "triadic", "monochromatic". |
| length | integer | 5 | Number of colors to return (3-8). |
find_logo any domain
Logo.dev lookup. Returns PNG, SVG URLs at multiple sizes, plus primary brand color.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| domain | string | required | Domain to look up (e.g. "stripe.com"). |
| format | string | "svg" | "svg" or "png". |
| size | integer | 512 | PNG size in pixels (ignored for SVG). |
search_fonts 1,800+ families
Google Fonts and FontShare. Returns embed CSS, weights/variants, subsets, license info.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | null | Font name or category. |
| category | string | "any" | "sans-serif", "serif", "monospace", "display", "handwriting". |
| weights | integer[] | null | Required weights (e.g. [400, 700]). |
| limit | integer | 20 | Max results. |
search_3d_assets Poly Haven
~2,000+ CC0 3D models, HDRIs, and PBR textures. All public-domain, all commercial-use safe. Models ship as GLB (web-ready) and FBX (DCC tools), HDRIs as HDR, textures as ZIP bundles with albedo, normal, roughness, displacement, and AO maps in PNG/JPG.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | required | Search query. |
| kind | string | "any" | "hdri", "texture", "model", or "any". |
| limit | integer | 15 | Max results. |
search_mockups 25+ templates
Curated mockup templates. Phones, laptops, apparel, packaging, billboards, social frames. Returns template URL plus a screen_bbox to composite into.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| category | string | required | "device", "apparel", "packaging", "outdoor", "social". |
| device | string | null | Specific device (e.g. "iphone-15-pro", "macbook-pro-16"). |
| background | string | "transparent" | "transparent" or color name. |
search_motion 5,000+ motion
Lottie animations and AE/Premiere motion-design templates. Kinetic typography, transitions, loops, lower-thirds, intro/outro sequences.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| query | string | required | Search query or motion type. |
| kind | string | "any" | "transition", "title", "loop", "intro", "lower-third", or "any". |
| format | string | "any" | "lottie", "ae", "premiere", or "any". |
| duration_max | integer | null | Max duration in seconds. |
| limit | integer | 15 | Max results (1-50). |
list_sources meta
Returns the full catalog of available tools, their underlying upstream sources, and current operational status.
Response
{
"tools": [
{
"name": "search_images",
"category": "photos",
"sources": ["unsplash","pexels","pixabay","openverse","wikimedia","nasa","met"],
"status": "operational"
},
...
]
}
License model.
Every search result carries four normalized license fields, regardless of source:
| Field | Type | Description |
|---|---|---|
| license_name | string | Canonical license name (e.g. "CC0", "CC-BY-4.0", "Unsplash License"). |
| license_url | string | Link to the full license text. |
| commercial_use | boolean | True if commercial use is permitted. |
| attribution_required | boolean | True if attribution must be given. |
Common license types you'll see
- CC0: public domain, no restrictions. Examples: Poly Haven, parts of OpenVerse.
- CC-BY: free to use commercially, attribution required.
- CC-BY-NC: non-commercial only. Filtered out by
commercial_safe_only: true. - Unsplash License: free commercial use, no attribution required (though appreciated).
- Pexels License: similar to Unsplash; free commercial use, no attribution.
- Pixabay License: free for most commercial use with some restrictions (no selling without modification).
commercial_safe_only: true on any search where the agent's output will be published, sold, or used in marketing. AgenticSource filters NC-licensed results out of the response entirely, so your agent doesn't need its own license-checking logic.
Enterprise (multi-tenant, webhooks, sub-accounts).
Embedding AgenticSource for your own users? We can issue scoped API keys per end-user, surface per-sub-account usage in your dashboard, and send webhooks on usage milestones. This is part of the upcoming Enterprise plan and currently in preview.
Email hello@agenticsource.dev to discuss your use case.
Rate limits & quotas.
Per-minute rate limits
| Plan | Search |
|---|---|
| Free | 30/min |
| Pro | 120/min |
| Stock+ | 600/min |
Monthly quotas
| Plan | Searches/mo | Overage |
|---|---|---|
| Free | 500 | hard-block until reset |
| Pro | 25,000 | soft-cap + boost packs |
| Stock+ | 250,000 | soft-cap + boost packs |
Hitting rate limits a lot? Email hello@agenticsource.dev and we can usually raise your bucket for a specific workload.
Errors.
AgenticSource follows JSON-RPC 2.0 error response shape. Each error has a code and a message you can show to the user.
See changelog for the latest tool list and source coverage.