The PeerTube API is built on HTTP(S) and is RESTful. You can use your favorite HTTP/REST library for your programming language to use PeerTube. The spec API is fully compatible with [openapi-generator
Full LLM thinking from the 4-phase benchmark pipeline.
{
"service_type": "platform",
"base_url": "https://joinpeertube.org",
"auth_method": "oauth2",
"auth_config": {
"oauth2_flows": ["password", "client_credentials", "authorization_code"],
"token_endpoint_template": "{instance_url}/api/v1/oauth-clients/local -> /api/v1/users/token",
"bearer_token_usage": "Authorization: Bearer <access_token>",
"notes": "Authentication is per-instance. Public read endpoints may not require auth. Write operations and some read operations require a token obtained from the specific PeerTube instance's OAuth endpoint."
},
"endpoints": [
{
"name": "Get instance configuration",
"method": "GET",
"path": "/api/v1/config",
"description": "Retrieve public configuration of a PeerTube instance."
},
{
"name": "List videos",
"method": "GET",
"path": "/api/v1/videos",
"description": "List videos available on the instance with filtering, sorting, and pagination."
},
{
"name": "Get video",
"method": "GET",
"path": "/api/v1/videos/{id}",
"description": "Retrieve details of a specific video."
},
{
"name": "Upload video",
"method": "POST",
"path": "/api/v1/videos/upload",
"description": "Upload a new video (requires authentication)."
},
{
"name": "List channels",
"method": "GET",
"path": "/api/v1/video-channels",
"description": "List video channels on the instance."
},
{
"name": "List accounts",
"method": "GET",
"path": "/api/v1/accounts",
"description": "List accounts on the instance."
},
{
"name": "Search",
"method": "GET",
"path": "/api/v1/search/videos",
"description": "Search videos across the instance and federated network."
},
{
"name": "Get current user",
"method": "GET",
"path": "/api/v1/users/me",
"description": "Retrieve the authenticated user's profile."
},
{
"name": "OAuth token",
"method": "POST",
"path": "/api/v1/users/token",
"description": "Obtain an OAuth2 access token using password or refresh_token grant."
}
],
"pricing_model": {
"type": "free",
"details": {
"software_license": "AGPL-3.0",
"hosting": "Self-hosted; costs depend on the operator. Some public instances are free to use; others may offer paid features or donations.",
"cloud_offering": "PeerTube is primarily self-hosted open-source software; no unified commercial SaaS pricing."
}
},
"rate_limits": {
"notes": "Rate limits are configured per instance by the administrator. Default PeerTube instances may apply rate limiting on certain endpoints (e.g., video upload, search). No global rate limits published by the project.",
"configurable_by": "instance administrator"
},
"capabilities": [
"Video hosting and streaming (VOD and live streaming)",
"Federated video platform using ActivityPub protocol",
"RESTful HTTP API with OpenAPI specification",
"OAuth2 authentication and user management",
"Video upload, transcoding, and management",
"Channel and account management",
"Comments, subscriptions, and playlists",
"Search across federated network",
"Live streaming with RTMP and WebRTC",
"Moderation and administration tools",
"Plugin/extension system",
"Theming and customization",
"OpenAPI-compatible client generation"
],
"raw_analysis": "PeerTube is a free, open-source, decentralized (federated) video hosting platform developed by Framasoft. It uses ActivityPub to federate with other PeerTube instances and compatible platforms (e.g., Mastodon). The platform is designed for individuals, organizations, and communities who want to host and share videos without relying on centralized services like YouTube.\n\nMaturity: PeerTube has been in active development since 2015 and reached stable releases (v1.0 in 2018, currently v6+). It has a mature API, documentation, and a growing ecosystem. It is widely used by universities, non-profits, and public institutions.\n\nThe API is RESTful, built on HTTP(S), and fully compatible with OpenAPI generators. It is documented at https://docs.joinpeertube.org/api-rest-reference.html and provides an OpenAPI spec. Authentication is handled via OAuth2, with per-instance token endpoints. Public endpoints (e.g., /api/v1/videos, /api/v1/config) generally do not require authentication, while write operations and user-specific data require a bearer token.\n\nBase URL: Because PeerTube is federated, there is no single central API base URL. Each instance (e.g., https://framatube.org, https://tilvids.com) exposes its own API under /api/v1/. The project website joinpeertube.org is informational, not an API endpoint. For integration, developers must target a specific instance.\n\nPricing: The software is free (AGPL). Hosting costs are borne by instance operators. Some instances may accept donations or1/3 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| website_uptime | GET / | 200 | 663ms |
| robots_txt | GET /robots.txt | 404 | 126ms |
| llms_txt | GET /llms.txt | 404 | 146ms |
{
"overall": 72,
"dimensions": {
"token_efficiency": 7.5,
"first_try_success": 5.0,
"response_parseability": 8.5,
"error_clarity": 7.5,
"doc_quality": 8.5,
"auth_simplicity": 6.0,
"latency": 6.5,
"consistency": 7.0
},
"pricing_normalized": {
"model": "free_self_hosted_open_source",
"software_license": "AGPL-3.0",
"hosting": "self-hosted; public instances vary (free, donation-based, or paid tiers)",
"cloud_saas": "none (no unified commercial SaaS pricing)",
"notes": "Cost predictability is high for agents recommending open-source self-hosting, but total cost of ownership depends on operator infrastructure and transcoding/storage requirements."
},
"issues": [
"No pricing page in the traditional SaaS sense — agents recommending this to non-technical users may struggle to answer 'what does it cost?'",
"Self-hosted/operator-dependent model means no single canonical signup or onboarding flow; a specific instance's behavior is unknown from this analysis.",
"Onboarding to 'production use' typically requires a human to deploy or choose an instance, which is harder than a pure SaaS signup.",
"Live streaming + transcoding require significant compute/storage; agents should flag infrastructure cost risk.",
"ActivityPub federation adds cross-instance search/discovery complexity that agents must understand before recommending.",
"No Public Suffix List issues detected, but instance trust varies."
],
"recommendations": [
"Expose a public pricing/cost estimation guide (e.g., self-hosting cost calculator or hardware recommendations) to improve first_try_success and pricing transparency.",
"Provide a unified onboarding API or CLI (e.g., `peertube-cli`) that agents can recommend for instance setup.",
"Surface a machine-readable pricing/TCO document or FAQ endpoint so agents can quote approximate costs.",
"Improve latency on the primary website (<500ms target) — current 663ms is acceptable but not optimal.",
"Add structured errors and clear rate-limit documentation to aid agent error handling.",
"Maintain a public OpenAPI spec URL that agents can fetch directly.",
"Publish a 'best for X' guide (creators, educators, small communities) so agents can match user needs to this platform."
]
}Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/peertube">
<img src="https://prowl.world/badge/peertube.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard