Get Premium-73%
WebMCP Ready

Scrolller for AI Agents

Scrolller exposes structured tools and agent-optimized routes so models can discover content without scraping. Tools return metadata plus embeds that open the post on Scrolller, and agent pages provide JSON-LD or JSON payloads depending on the format you ask for.

Request Media API Access

Tell us what you are building. We review requests individually and discuss access and billing with you. No card is required to enquire.

WebMCP Tools
Search, collections, trending content, embeds, and metadata are available via browser-executed WebMCP tool calls.
Agent Routes
Server-friendly JSON and JSON-LD endpoints for collections, subreddits, and content items, optimized for crawler access.
Monetization Safe
No raw media URLs and no thumbnail URLs are returned. Use embedHtml for playback and previews, or link to embedUrl, the post page on Scrolller.

Available WebMCP Tools

- search
- getCollection
- getTrendingContent
- getEmbed
- getContentMetadata

Agent Routes

GET /agent/content/{id}
GET /agent/collection/{id}
GET /agent/subreddit/{slug}

Headers:
  Accept: application/ld+json | application/json

Query params:
  ?format=ld+json | json (optional, overrides the Accept header)
  ?limit=20 (collections and subreddits)

Caching:
  Successful responses may be cached for up to 10 minutes. For
  JSON-LD use ?format=ld+json; asking for JSON-LD through the
  Accept header alone is best-effort and is never cached. Errors
  are not cached.

Usage Terms

- Use embedHtml for playback and previews.
- Do not scrape raw media URLs.
- Respect content ratings and tags.
- contentRating (safe or explicit) comes from the NSFW flag set on the post, subreddit or collection. It can be wrong, so do not treat safe as a guarantee.
- Include attribution to Scrolller when surfacing content.

Rate Limits

- Requests are rate-limited per IP and agent. Expect 429 responses during bursts.
- Use conservative pacing (1 request per second or less) and exponential backoff.

Examples

Tool call: search
{
  "query": "nebula",
  "limit": 5
}

Tool call: getEmbed
{
  "contentId": "abc123"
}