feed

Get creator's persistent feed

Get a specific creator's content feed from the persistent creator_feed_items table.

Returns discovered and tipped content for the creator, with tip signal overlays and content metadata from content_item.

How content enters this feed:

  • Tipped content appears automatically when the creator receives a tip with a source_post_url.
  • Discovered content enters the table when GET /v1/feed/creators/{handle} is called (fan-out discovery across linked platforms). No background discovery cron exists yet.

Pinned items appear first when sorting by 'recent'. Creators can hide items via is_hidden (excluded from all queries).

This is a public endpoint — no authentication required. Returns 404 if the handle is not found or the profile is private.

get/v1/feed/items/{handle}

Request

  • Base URL
    https://api.grove.city (the document declares no server; this is the origin it was published from)
  • URL
    https://api.grove.city/v1/feed/items/{handle}
  • Auth
    none declared

Path parameters

handlestring required

Creator's Grove handle (case-insensitive).

Query parameters

sort'recent' | 'tipped' | 'published'

Sort: recent (pinned on top), tipped, published (content date).

platformstring nullable

Filter by platform (youtube, reddit, bluesky, medium, substack, github, x, etc.).

tagsstring nullable

Comma-separated tags to filter by (e.g., 'defi,ethereum'). Items must match ALL tags.

limitinteger

Items per page.

cursorstring nullable

Opaque pagination cursor.

Response

Creator's feed items

cursorstring nullable

Opaque cursor for fetching the next page. Null if no more results.

has_moreboolean

Whether more results exist beyond this page.

total_countinteger required

Total number of unique tipped URLs matching the filter.

Example response

{
  "items": [
    {
      "url": "https://www.youtube.com/watch?v=abc123",
      "platform": "youtube",
      "tip_count": 42,
      "total_amount_usd": "125.50",
      "unique_tippers": 18,
      "last_tipped_at": "2026-03-22T14:30:00Z",
      "content": {
        "title": "The Bull Case for Ethereum in 2026",
        "description": "Ryan and David break down why ETH could outperform...",
        "image_url": "https://i.ytimg.com/vi/abc123/hqdefault.jpg",
        "author_name": "Bankless",
        "published_at": "2026-03-22T08:15:00Z"
      },
      "enrichment_status": "cached",
      "source": "discovered",
      "creator_handle": "alice",
      "creator_avatar_url": "https://pbs.twimg.com/profile_images/abc/photo.jpg",
      "embed_id": "dQw4w9WgXcQ"
    }
  ],
  "total_count": 1234
}

Changes

No recorded changes to this operation across all 1 revision of this API.