Skip to content

👤 Uploaders

Overview

The POST /api/uploaders endpoint returns profile details for a content creator or studio. The app calls this when a user taps an uploader name to view their profile page.

Request

POST /api/uploaders

At least one of uploaderId or uploaderName must be provided.

{
  "uploaderId": "abc123",
  "profileContent": true,
  "query": "kittens"
}

Request Parameters

Field Type Required Description
uploaderId string âš ī¸ One of Internal uploader ID
uploaderName string âš ī¸ One of Uploader display name
query string âšĒ Current search query used to personalize "For You" content ranking

Response

{
  "id": "awesomeVids",
  "name": "Awesome Vids",
  "url": "https://www.example.com/@awesomeVids",
  "channel": "my-channel",
  "verified": true,
  "videoCount": 342,
  "totalViews": 14500000,
  "channels": [
    {
      "channel": "my-channel",
      "videoCount": 342,
      "firstSeenAt": "2024-01-15T00:00:00",
      "lastSeenAt": "2025-03-01T00:00:00"
    }
  ],
  "avatar": "https://example.com/avatar.jpg",
  "description": "The best videos on the internet.",
  "bio": "Videos are awesome.",
  "videos": [
    {
      "id": "c85017ca87477168d648727753c4ded8",
      "url": "https://www.example.com/watch?v=y0sF5xhGreA",
      "title": "20 Minutes of Adorable Kittens",
      "duration": 1200,
      "channel": "my-channel",
      "uploadedAt": "2025-01-03T10:15:54.000Z",
      "uploader": "The Pet Collective",
      "uploaderId": "abc123",
      "thumb": "https://i.example.com/vi/y0sF5xhGreA/hqdefault.jpg",
      "preview": null,
      "views": 14622653,
      "rating": 95,
      "aspectRatio": 1.78
    }
  ],
  "tapes": [],
  "playlists": [],
  "layout": [
    { "type": "horizontal", "title": "For You", "videoIds": ["c85017ca87477168d648727753c4ded8"] },
    { "type": "videos", "title": null }
  ]
}

Field Reference

Uploader Object

Field Type Description
id string Unique uploader identifier
name string Display name
url string \| null Profile URL
channel string \| null Primary source channel
verified boolean Whether the uploader is verified
videoCount number Total indexed videos
totalViews number Aggregated view count
channels ChannelStat[] \| null Per-channel video stats
avatar string \| null Avatar image URL (canonical)
description string \| null Short description
bio string \| null Long-form biography
videos VideoRef[] \| null Videos — present when profileContent is true
tapes any[] \| null Short-form content — present when profileContent is true
playlists any[] \| null Playlists — present when profileContent is true
layout LayoutRow[] \| null Ordered profile page sections

See JSON key names for camelCase vs snake_case and the legacy profile_picture_url avatar key.


ChannelStat Object

Field Type Description
channel string Source channel identifier
videoCount number Videos seen on this channel
firstSeenAt string \| null ISO timestamp of first appearance on this channel
lastSeenAt string \| null ISO timestamp of last appearance on this channel

VideoRef Object

Field Type Description
id string Video identifier
url string Video source URL
title string Video title
duration number Duration in seconds
channel string Source channel identifier
uploadedAt string \| null ISO upload timestamp
uploader string Uploader display name
uploaderId string Uploader identifier
thumb string Thumbnail URL
preview string \| null Preview clip URL
views number View count
rating number Percent rating score
aspectRatio number \| null Aspect ratio (e.g., 1.78 for 16:9)

LayoutRow Object

Describes the ordered sections rendered on the profile page.

Field Type Description
type string "videos" (vertical list) or horizontal (carousel). Legacy horizontal_videos is accepted.
title string \| null Section heading
videoIds string[] Ordered video IDs — only for horizontal / legacy horizontal_videos. Snake_case video_ids is accepted when decoding.

Error Responses

Status Condition
400 Neither uploaderId nor uploaderName given
404 No uploader matched the provided identifier
500 Internal server error
Was this page helpful?