PeerTube
PeerTube is a free, decentralized, and federated video hosting platform developed by Framasoft as an open-source alternative to centralized video services like YouTube. It enables anyone to self-host a video platform that federates with other instances via ActivityPub, forming a global network of over 1,600 platforms hosting more than one million videos. The REST API supports video uploading and management, channel and playlist operations, live streaming, search and discovery across federated nodes, content moderation, plugin management, and distributed transcoding via remote runner jobs.
Real signal across most facets with visible, nameable gaps — the contract exists but is thin, or the portal is good while governance and commercial terms are absent.
API Evangelist profiles PeerTube the way a machine reads it — 524 machine-readable artifacts across 54 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.
Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — PeerTube scores 45.3/100 (developing), with a separate agent-readiness read of 48/100 (agent ready). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.
Kin Score
This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.
How we profile PeerTube
Each block below is one kind of artifact we hold for PeerTube. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.
APIs 54
Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.
Individual APIs this provider publishes, each with its own machine-readable definition.
PeerTube Abuses API
Abuses deal with reports of local or remote videos/comments/accounts alike.
PeerTube Account Blocklist API
The Account Blocklist API from PeerTube — 5 operation(s) for account blocklist.
PeerTube Accounts API
Accounts encompass remote accounts discovered across the federation, and correspond to the main Actor, along with video channels a user can create, which are also Actors. When a...
PeerTube Automatic Tags API
Automatic tags set on objects (like comments or videos) by specific rules (external link, watched words, etc.)
PeerTube Channels Sync API
Operations dealing with synchronizing PeerTube user's channel with channels of other platforms
PeerTube Client Config API
Configuration of the web client.
PeerTube Config API
Each server exposes public information regarding supported videos and options.
PeerTube Contact API
Send a message to the instance administrators.
PeerTube Debug API
Administrative debug endpoints.
PeerTube Homepage API
Get and update the custom homepage
PeerTube Instance Follows API
Managing servers which the instance interacts with is crucial to the concept of federation in PeerTube and external video indexation. The PeerTube server then deals with inter-s...
PeerTube Instance Redundancy API
Redundancy is part of the inter-server solidarity that PeerTube fosters. Manage the list of instances you wish to help by seeding their videos according to the policy of video s...
PeerTube Job API
Jobs are long-running tasks enqueued and processed by the instance itself. No additional worker registration is currently available.
PeerTube Live Videos API
The Live Videos API from PeerTube — 4 operation(s) for live videos.
PeerTube Logs API
Operations dealing with client, server and audit logs.
PeerTube My History API
Operations related to your watch history.
PeerTube My Notifications API
Notifications following new videos, follows or reports. They allow you to keep track of the interactions and overall important information that concerns you. You MAY set per-not...
PeerTube My Subscriptions API
Operations related to your subscriptions to video channels, their new videos, and how to keep up to date with their latest publications!
PeerTube My User API
Operations related to your own User, when logged-in.
PeerTube Ownership Change API
The Ownership Change API from PeerTube — 12 operation(s) for ownership change.
PeerTube Player Settings API
Operations dealing with video player settings for videos and channels.
PeerTube Plugins API
Managing plugins installed from a local path or from NPM, or search for new ones.
PeerTube Register API
As a visitor, you can use this API to open an account (if registrations are open on that PeerTube instance). As an admin, you should use the dedicated [User creation API](#opera...
PeerTube Runner Jobs API
Manage runner jobs and runner-side job execution.
PeerTube Runner Registration Token API
Manage runner registration tokens.
PeerTube Runners API
Register, list and remove remote runners.
PeerTube Search API
The search helps to find _videos_ or _channels_ from within the instance and beyond. Videos from other instances federated by the instance (that is, instances followed by the in...
PeerTube Server Blocklist API
The Server Blocklist API from PeerTube — 5 operation(s) for server blocklist.
PeerTube Session API
Sessions deal with access tokens over time. Only __one session token can currently be used at a time__.
PeerTube Static Video Files API
The Static Video Files API from PeerTube — 4 operation(s) for static video files.
PeerTube Stats API
Statistics
PeerTube User Exports API
To create an archive of user data.
PeerTube User Imports API
To import an archive of user data.
PeerTube Users API
Using some features of PeerTube require authentication, for which User provide different levels of permission as well as associated user information. Each user has a correspondi...
PeerTube Video API
Operations dealing with listing, uploading, fetching or modifying videos.
PeerTube Video Blocks API
Operations dealing with blocking videos (removing them from view and preventing interactions).
PeerTube Video Captions API
Operations dealing with listing, adding and removing closed captions of a video.
PeerTube Video Channels API
Operations dealing with the creation, modification and listing of videos within a channel.
PeerTube Video Chapters API
Operations dealing with managing chapters of a video.
PeerTube Video Comments API
Operations dealing with comments to a video. Comments are organized in threads: adding a comment in response to the video starts a thread, adding a reply to a comment adds it to...
PeerTube Video Download API
Download video files
PeerTube Video Embed Privacy API
The Video Embed Privacy API from PeerTube — 2 operation(s) for video embed privacy.
PeerTube Video Feeds API
Server syndication feeds of videos
PeerTube Video Files API
Operations on video files
PeerTube Video Imports API
Operations dealing with listing, adding and removing video imports.
PeerTube Video Mirroring API
PeerTube instances can mirror videos from one another, and help distribute some videos. For importing videos as your own, refer to [video imports](#operation/importVideo).
PeerTube Video Passwords API
Operations on video passwords.
PeerTube Video Playlists API
Operations dealing with playlists of videos. Playlists are bound to users and/or channels.
PeerTube Video Rates API
Like/dislike a video.
PeerTube Video Stats API
Video statistics
PeerTube Video Transcoding API
Video transcoding related operations
PeerTube Video Upload API
Operations dealing with adding video or audio. PeerTube supports two upload modes, and three import modes. ### Upload - [_legacy_](#operation/uploadLegacy), where the video file...
PeerTube Videos API
The Videos API from PeerTube — 4 operation(s) for videos.
PeerTube Watched Words API
Manage list of watched words to detect patterns on objects (like comments of videos)
Scroll within the panel for all 54 ·
Pricing Plans 1
Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.
Published pricing tiers and plan structures.
Plans
PLANSRate Limits 1
Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.
Documented rate limits and quota policies.
Rate Limits
RATE LIMITSFinOps 1
Cost, billing, and metering signals let a buyer model the financial operations of an API before it's live. We profile them for the same reason we profile pricing: the money is part of the contract.
Cost, billing, and metering signals for API financial operations.
Finops
FINOPSSemantic Vocabularies 1
JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.
JSON-LD contexts and semantic vocabularies used across these APIs.
Peertube Context
JSON-LDSpectral Rules 1
Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.
PeerTube API Rules
SPECTRALJSON Schema 171
Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.
Standalone JSON Schema definitions for this provider's data models.
Abuse
JSON SCHEMAAbuseMessage
JSON SCHEMAAbusePredefinedReasons
JSON SCHEMAAbuseStateConstant
JSON SCHEMAAbuseStateSet
JSON SCHEMAAccount
JSON SCHEMAAccountBlock
JSON SCHEMAAccountSummary
JSON SCHEMAActor
JSON SCHEMAActorImage
JSON SCHEMAActorInfo
JSON SCHEMAAddUser
JSON SCHEMAAddUserResponse
JSON SCHEMAAddVideoPasswords
JSON SCHEMAAutomaticTagAvailable
JSON SCHEMABlockStatus
JSON SCHEMAChangeOwnership
JSON SCHEMAChangeOwnershipState
JSON SCHEMAChannelActivityListResponse
JSON SCHEMACommentAutoTagPolicies
JSON SCHEMACommentThreadPostResponse
JSON SCHEMACommentThreadResponse
JSON SCHEMACustomHomepage
JSON SCHEMAFileRedundancyInformation
JSON SCHEMAFileStorage
JSON SCHEMAFollow
JSON SCHEMAGetMeVideoRating
JSON SCHEMAImportVideosInChannelCreate
JSON SCHEMAJob
JSON SCHEMALiveSchedule
JSON SCHEMALiveVideoLatencyMode
JSON SCHEMALiveVideoReplaySettings
JSON SCHEMALiveVideoResponse
JSON SCHEMALiveVideoSessionResponse
JSON SCHEMALiveVideoUpdate
JSON SCHEMAMRSSGroupContent
JSON SCHEMAMRSSPeerLink
JSON SCHEMANSFWFlag
JSON SCHEMANSFWPolicy
JSON SCHEMANewFeatureInfoType
JSON SCHEMANotification
JSON SCHEMANotificationListResponse
JSON SCHEMANotificationSettingValue
JSON SCHEMANotificationType
JSON SCHEMAOAuthClient
JSON SCHEMAOAuthToken-password
JSON SCHEMAOAuthToken-refresh_token
JSON SCHEMAPlaybackMetricCreate
JSON SCHEMAPlayerChannelSettings
JSON SCHEMAPlayerChannelSettingsUpdate
JSON SCHEMAPlayerTheme
JSON SCHEMAPlayerThemeChannelSetting
JSON SCHEMAPlayerThemeVideoSetting
JSON SCHEMAPlayerVideoSettings
JSON SCHEMAPlayerVideoSettingsUpdate
JSON SCHEMAPlaylistElement
JSON SCHEMAPlugin
JSON SCHEMAPluginResponse
JSON SCHEMAPredefinedAbuseReasons
JSON SCHEMARegisterUser
JSON SCHEMARequestTwoFactorResponse
JSON SCHEMARunner
JSON SCHEMARunnerJob
JSON SCHEMARunnerJobAdmin
JSON SCHEMARunnerJobPayload
JSON SCHEMARunnerJobState
JSON SCHEMARunnerJobStateConstant
JSON SCHEMARunnerJobType
JSON SCHEMARunnerRegistrationToken
JSON SCHEMASendClientLog
JSON SCHEMAServerBlock
JSON SCHEMAServerConfig
JSON SCHEMAServerConfigAbout
JSON SCHEMAServerConfigCustom
JSON SCHEMAServerError
JSON SCHEMAServerStats
JSON SCHEMAStoryboard
JSON SCHEMAThumbnail
JSON SCHEMATokenSession
JSON SCHEMAUUIDv4
JSON SCHEMAUpdateMe
JSON SCHEMAUpdateUser
JSON SCHEMAUser
JSON SCHEMAUserAdminFlags
JSON SCHEMAUserExportState
JSON SCHEMAUserImportResumable
JSON SCHEMAUserImportState
JSON SCHEMAUserNotificationSettings
JSON SCHEMAUserRegistration
JSON SCHEMAUserRegistrationAcceptOrReject
JSON SCHEMAUserRegistrationRequest
JSON SCHEMAUserRegistrationState
JSON SCHEMAUserRole
JSON SCHEMAUserViewingVideo
JSON SCHEMAUserWithStats
JSON SCHEMAVideo
JSON SCHEMAVideoBlacklist
JSON SCHEMAVideoCaption
JSON SCHEMAVideoCategorySet
JSON SCHEMAVideoChannel
JSON SCHEMAVideoChannelActivityAction
JSON SCHEMAVideoChannelActivityTarget
JSON SCHEMAVideoChannelCollaborator
JSON SCHEMAVideoChannelCollaboratorState
JSON SCHEMAVideoChannelCreate
JSON SCHEMAVideoChannelEdit
JSON SCHEMAVideoChannelList
JSON SCHEMAVideoChannelSummary
JSON SCHEMAVideoChannelSync
JSON SCHEMAVideoChannelSyncCreate
JSON SCHEMAVideoChannelSyncList
JSON SCHEMAVideoChannelUpdate
JSON SCHEMAVideoChapters
JSON SCHEMAVideoComment
JSON SCHEMAVideoCommentForOwnerOrAdmin
JSON SCHEMAVideoCommentThreadTree
JSON SCHEMAVideoCommentsForXML
JSON SCHEMAVideoCommentsPolicyConstant
JSON SCHEMAVideoCommentsPolicySet
JSON SCHEMAVideoConstantNumber-Category
JSON SCHEMAVideoConstantNumber-Licence
JSON SCHEMAVideoConstantString-Language
JSON SCHEMAVideoCreateImport
JSON SCHEMAVideoDetails
JSON SCHEMAVideoEmbedPrivacy
JSON SCHEMAVideoFile
JSON SCHEMAVideoImport
JSON SCHEMAVideoImportStateConstant
JSON SCHEMAVideoImportsList
JSON SCHEMAVideoInfo
JSON SCHEMAVideoLanguageSet
JSON SCHEMAVideoLicenceSet
JSON SCHEMAVideoListResponse
JSON SCHEMAVideoPassword
JSON SCHEMAVideoPasswordList
JSON SCHEMAVideoPlaylist
JSON SCHEMAVideoPlaylistPrivacyConstant
JSON SCHEMAVideoPlaylistPrivacySet
JSON SCHEMAVideoPlaylistTypeConstant
JSON SCHEMAVideoPlaylistTypeSet
JSON SCHEMAVideoPrivacyConstant
JSON SCHEMAVideoPrivacySet
JSON SCHEMAVideoRating
JSON SCHEMAVideoRedundancy
JSON SCHEMAVideoReplaceSourceRequestResumable
JSON SCHEMAVideoResolutionConstant
JSON SCHEMAVideoResolutionSet
JSON SCHEMAVideoScheduledUpdate
JSON SCHEMAVideoSource
JSON SCHEMAVideoStateConstant
JSON SCHEMAVideoStatsOverall
JSON SCHEMAVideoStatsRetention
JSON SCHEMAVideoStatsTimeserie
JSON SCHEMAVideoStatsUserAgent
JSON SCHEMAVideoStatsUserAgentDevice
JSON SCHEMAVideoStreamingPlaylists-HLS
JSON SCHEMAVideoStreamingPlaylists
JSON SCHEMAVideoStudioCreateTask
JSON SCHEMAVideoSummary
JSON SCHEMAVideoTokenResponse
JSON SCHEMAVideoUploadRequestCommon
JSON SCHEMAVideoUploadRequestLegacy
JSON SCHEMAVideoUploadRequestResumable
JSON SCHEMAVideoUploadResponse
JSON SCHEMAVideosForXML
JSON SCHEMAWatchedWordsLists
JSON SCHEMAid
JSON SCHEMApassword
JSON SCHEMAshortUUID
JSON SCHEMAusername
JSON SCHEMAusernameChannel
JSON SCHEMAScroll within the panel for all 171 ·
Examples 290
Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.
Example request and response payloads for these APIs.
Acceptregistration
EXAMPLEAddlive
EXAMPLEAddplaylist
EXAMPLEAddplugin
EXAMPLEAdduser
EXAMPLEAddvideoblock
EXAMPLEAddvideocaption
EXAMPLEAddvideochannel
EXAMPLEAddvideochannelsync
EXAMPLEAddvideopassword
EXAMPLEAddvideoplaylistvideo
EXAMPLEAddview
EXAMPLEBlockaccount
EXAMPLEBlockserver
EXAMPLEConfirmtwofactorrequest
EXAMPLEContactadministrator
EXAMPLECreatevideotranscoding
EXAMPLEDelcustomconfig
EXAMPLEDelmirroredvideo
EXAMPLEDeluser
EXAMPLEDelvideo
EXAMPLEDelvideoblock
EXAMPLEDelvideocaption
EXAMPLEDelvideochannel
EXAMPLEDelvideochannelsync
EXAMPLEDelvideohls
EXAMPLEDelvideoplaylistvideo
EXAMPLEDelvideowebvideos
EXAMPLEDeleteme
EXAMPLEDeleteregistration
EXAMPLEDeleteuserexport
EXAMPLEDeletevideosourcefile
EXAMPLEDelete_Api_V1_Abuses_Abuseid
EXAMPLEDisabletwofactor
EXAMPLEGeneratevideocaption
EXAMPLEGetabout
EXAMPLEGetabuses
EXAMPLEGetaccount
EXAMPLEGetaccountfollowers
EXAMPLEGetaccountvideos
EXAMPLEGetaccounts
EXAMPLEGetavailableplugins
EXAMPLEGetcategories
EXAMPLEGetchannelplayersettings
EXAMPLEGetconfig
EXAMPLEGetcustomconfig
EXAMPLEGetdebug
EXAMPLEGetinstanceauditlogs
EXAMPLEGetinstancelogs
EXAMPLEGetinstancestats
EXAMPLEGetjobs
EXAMPLEGetlanguages
EXAMPLEGetlatestuserimport
EXAMPLEGetlicences
EXAMPLEGetliveid
EXAMPLEGetmirroredvideos
EXAMPLEGetmyabuses
EXAMPLEGetmyblockedaccounts
EXAMPLEGetmyblockedservers
EXAMPLEGetoauthclient
EXAMPLEGetoauthtoken
EXAMPLEGetplaylistprivacypolicies
EXAMPLEGetplaylists
EXAMPLEGetplugin
EXAMPLEGetplugins
EXAMPLEGetsyndicatedcomments
EXAMPLEGetsyndicatedvideos
EXAMPLEGetuser
EXAMPLEGetuserinfo
EXAMPLEGetusers
EXAMPLEGetvideo
EXAMPLEGetvideoblocks
EXAMPLEGetvideocaptions
EXAMPLEGetvideochannel
EXAMPLEGetvideochannelfollowers
EXAMPLEGetvideochannelvideos
EXAMPLEGetvideochannels
EXAMPLEGetvideochapters
EXAMPLEGetvideoembedprivacy
EXAMPLEGetvideoplayersettings
EXAMPLEGetvideoplaylistvideos
EXAMPLEGetvideoprivacypolicies
EXAMPLEGetvideosource
EXAMPLEGetvideos
EXAMPLEGetvideospodcastfeed
EXAMPLEGet_Api_V1_Blocklist_Status
EXAMPLEGet_Api_V1_Runners
EXAMPLEGet_Api_V1_Runners_Jobs
EXAMPLEGet_Api_V1_Server_Followers
EXAMPLEGet_Api_V1_Server_Following
EXAMPLEGet_Api_V1_Users_Me_Videos
EXAMPLEGet_Api_V1_Videos_Comments
EXAMPLEGet_Api_V1_Videos_Ownership
EXAMPLEImportvideo
EXAMPLEIsvideoembedondomainallowed
EXAMPLEListregistrations
EXAMPLEListuserexports
EXAMPLEListvideochannelactivities
EXAMPLEListvideopasswords
EXAMPLEListvideostoryboards
EXAMPLEPost_Api_V1_Abuses
EXAMPLEPost_Api_V1_Jobs_Pause
EXAMPLEPost_Api_V1_Jobs_Resume
EXAMPLEPost_Api_V1_Metrics_Playback
EXAMPLEPost_Api_V1_Runners_Register
EXAMPLEPost_Api_V1_Server_Following
EXAMPLEPost_Api_V1_Users_Id_Block
EXAMPLEPost_Api_V1_Users_Id_Unblock
EXAMPLEPutcustomconfig
EXAMPLEPutmirroredvideo
EXAMPLEPutuser
EXAMPLEPutuserinfo
EXAMPLEPutvideo
EXAMPLEPutvideochannel
EXAMPLEPutvideoplaylistvideo
EXAMPLEPut_Api_V1_Abuses_Abuseid
EXAMPLEPut_Api_V1_Videos_Id_Rate
EXAMPLERegisteruser
EXAMPLERejectregistration
EXAMPLERemovevideopassword
EXAMPLEReordervideoplaylist
EXAMPLEReplacevideochapters
EXAMPLEReplacevideosourceresumable
EXAMPLERequestregistration
EXAMPLERequesttwofactor
EXAMPLERequestuserexport
EXAMPLERequestvideotoken
EXAMPLEResendemailtoverifyuser
EXAMPLERevokeoauthtoken
EXAMPLERundebugcommand
EXAMPLESearchchannels
EXAMPLESearchplaylists
EXAMPLESearchvideos
EXAMPLESendclientlog
EXAMPLETriggervideochannelsync
EXAMPLEUnblockaccount
EXAMPLEUnblockserver
EXAMPLEUninstallplugin
EXAMPLEUpdatechannelplayersettings
EXAMPLEUpdateclientlanguage
EXAMPLEUpdateliveid
EXAMPLEUpdateplugin
EXAMPLEUpdatevideoembedprivacy
EXAMPLEUpdatevideopasswordlist
EXAMPLEUpdatevideoplayersettings
EXAMPLEUploadlegacy
EXAMPLEUploadresumable
EXAMPLEUploadresumablecancel
EXAMPLEUploadresumableinit
EXAMPLEUserimportresumable
EXAMPLEUserimportresumablecancel
EXAMPLEUserimportresumableinit
EXAMPLEVerifyregistrationemail
EXAMPLEVerifyuser
EXAMPLEScroll within the panel for all 290 ·
Security Posture 2
Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Scopes 1
OAuth scopes are the vocabulary of least-privilege access. Profiling them shows exactly what an integration — or an agent acting on a user's behalf — is allowed to do.
OAuth scopes governing access to this provider's APIs.
Agentic Access 1
An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.
Recommended x-agentic-access execution contracts for AI agents.
Resources
Every other property we hold for PeerTube — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.
Documentation 1
Reference material describing how the API behaves
Agent Surfaces 1
MCP servers, agent skills, and machine-readable catalogs
Build 1
SDKs, sample code, and the tooling you integrate with
Access & Security 3
Authentication, authorization, and security posture
Operate 1
Status, limits, changes, and where to get help
Commercial 2
Pricing, plans, and the legal terms of use
Company 2
The organization behind the API
Other 3
Properties that don't map to a standard resource type
← All providers · Data indexed from github.com/api-evangelist/peertube · machine-readable index on apis.io