---
title: "Get creator's cross-platform content feed"
method: GET
path: "/v1/feed/creators/{handle}"
tags: ["feed"]
---

# Get creator's cross-platform content feed

`GET /v1/feed/creators/{handle}`

Discover recent content from a creator's linked social accounts.

Returns a unified feed of content from YouTube, Bluesky, Reddit, Medium,
Substack, and GitHub — merged with tip signals from existing data.

Fan-out on demand: no persistent storage. Content is fetched live from
platform RSS/Atom/API feeds and cached briefly.

This is a public endpoint - no authentication required.

## Path parameters

- `handle` string, required — Creator's Grove handle

## Query parameters

- `platforms` string[], nullable — Filter to specific platforms (e.g., youtube, bluesky)
- `sort` 'recent' | 'tipped' — Sort order: 'recent' or 'tipped'
- `enrich` boolean — Include content metadata enrichment
- `limit` integer — Max items to return

## Response `200`

Successful Response

- FeedResponse — Paginated feed response with aggregated tip destinations.
  - `items` FeedItem[], required — Feed items ordered by the requested sort.
    - `url` string, required — Source URL that was tipped.
    - `platform` string, required — Platform identifier (youtube, reddit, bluesky, medium, website, x, github, etc.).
    - `tip_count` integer — Total number of tips to this URL.
    - `total_amount_usd` string — Total USD value of tips to this URL.
    - `unique_tippers` integer — Number of unique accounts that tipped this URL.
    - `last_tipped_at` string, nullable — Timestamp of the most recent tip (ISO 8601).
    - `last_tip_context` TipContextResponse — Social graph context attached to a tip (response model). This is the output version of TipContext - no validation needed since it's read from the database. All fields are optional as tips may have partial or no context.
      - `source_post_url` string, nullable
      - `sender_username` string, nullable
      - `sender_profile_url` string, nullable
      - `sender_platform` string, nullable
      - `sender_grove_handle` string, nullable
      - `recipient_username` string, nullable
      - `recipient_profile_url` string, nullable
      - `recipient_grove_handle` string, nullable
      - `campaign` string, nullable
      - `referrer` string, nullable
      - `custom_metadata` string, nullable
      - `is_discrete_giveaway_entry` boolean
      - `is_paid_message` boolean
    - `content` FeedContent — Enriched content metadata fetched from the source platform. All fields are nullable — enrichment may partially succeed (e.g., title available but no thumbnail). Consumers should handle missing fields gracefully with platform-specific fallback images.
      - `title` string, nullable — Content title (video title, post title, article headline).
      - `description` string, nullable — Content excerpt or description (truncated to 500 chars).
      - `image_url` string, nullable — Thumbnail or preview image URL. HTTPS only. Consumers should proxy via next/image or equivalent.
      - `author_name` string, nullable — Content author or channel name.
      - `published_at` string, nullable — Original publish date (ISO 8601).
    - `enrichment_status` string — Status of content enrichment: 'cached', 'pending', or 'unavailable'.
    - `source` string — How this item entered the feed: 'tipped' or 'discovered' (from creator's platform feed).
    - `creator_handle` string, nullable — Grove handle of the content creator (when known).
    - `creator_avatar_url` string, nullable — Avatar URL of the Grove creator associated with this content (when known).
    - `embed_id` string, nullable — Platform-specific embed identifier (e.g., YouTube video_id).
  - `cursor` string, nullable — Opaque cursor for fetching the next page. Null if no more results.
  - `has_more` boolean — Whether more results exist beyond this page.
  - `total_count` integer, required — Total number of unique tipped URLs matching the filter.

## Other responses

- `404` — Profile not found or private
- `422` — Validation Error

---

[API](https://skmtc.net/grove/apis/grove-api.md) · [All operations](https://skmtc.net/grove/apis/grove-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/grove/grove-api/versions/f286b48a8105/schema)
