Roku is the leading TV streaming platform in the U.S., Canada, and Mexico, offering a comprehensive operating system that powers smart TVs, streaming players, and audio devices. Roku provides a robust developer program for building channel apps, monetizing through Roku Pay, integrating analytics, and controlling devices via the External Control Protocol. The platform supports both BrightScript and SceneGraph frameworks for app development, and the Nabu Cloud developer cloud for managing remote test devices and channel builds.
URL: Visit APIs.json URL
Run: Capabilities Using Naftiko
- Streaming, Television, Media, Entertainment, Connected TV, Consumer Electronics
- Created: 2026-05-04
- Modified: 2026-05-05
BrightScript is Roku's scripting language used to build apps for the Roku platform. The SDK provides a comprehensive component library with over 100 built-in objects covering UI, networking, media playback, and device interaction. BrightScript is a programming language and on-device runtime, not a network API.
Human URL: https://developer.roku.com/docs/references/brightscript/component-reference.md
- SDK, BrightScript, Channel Development
SceneGraph is Roku's XML-based declarative UI framework for building rich, performant channel applications. It provides node components, animations, and a scene-based architecture. SceneGraph is an on-device UI framework, not a network API.
Human URL: https://developer.roku.com/docs/developer-program/core-concepts/scenegraph-overview.md
- UI Framework, SceneGraph, Channel Development
The External Control Protocol (ECP) is an HTTP-based API exposed on port 8060 of every Roku device on the local network. It enables third-party applications, mobile remote-control apps, automated test systems, and home-automation hubs to discover devices via SSDP, inject simulated remote-control key presses, launch installed apps with deep-link parameters, query device state, and retrieve developer-mode diagnostics.
Human URL: https://developer.roku.com/docs/developer-program/dev-tools/external-control-api.md
- REST, HTTP, Device Control, LAN
- Documentation
- APIReference
- OpenAPI
- JSONSchema (Active App Schema)
- JSONSchema (App List Schema)
- JSONSchema (App Schema)
- JSONSchema (Device Info Schema)
- JSONSchema (Media Player Schema)
- JSONStructure (Device Info Structure)
- JSONStructure (App Structure)
- JSONStructure (App List Structure)
- JSONStructure (Active App Structure)
- JSONStructure (Media Player Structure)
- JSON-LD
- Example (Query Device Info Example)
- Example (Query Apps Example)
- Example (Launch App Example)
Roku Pay Web Services provide server-to-server APIs for billing, subscription management, transaction validation, and entitlement checks for monetized Roku channels. Channels query these endpoints from their authentication backends to verify entitlements, issue refunds, adjust billing cycles, and grant service credits.
Human URL: https://developer.roku.com/docs/developer-program/roku-pay/overview.md
- Billing, Payments, Subscriptions, Monetization
- Documentation
- APIReference
- OpenAPI
- JSONSchema (Transaction Validation Schema)
- JSONSchema (Refund Validation Schema)
- JSONSchema (Cancel Subscription Request Schema)
- JSONSchema (Refund Subscription Request Schema)
- JSONSchema (Update Bill Cycle Request Schema)
- JSONSchema (Issue Credit Request Schema)
- JSONSchema (Subscription Result Schema)
- JSONStructure (Transaction Validation Structure)
- JSONStructure (Refund Validation Structure)
- JSONStructure (Subscription Result Structure)
- JSON-LD
- Example (Validate Transaction Example)
- Example (Cancel Subscription Example)
Nabu Cloud is Roku's developer cloud platform for managing remote test devices, snapshots, builds, projects, organisations, groups, and personal access tokens. It provides REST APIs (and an AsyncAPI streaming endpoint) for orchestrating remote Roku test devices and CI/CD workflows. The OpenAPI specification is published in the Roku dev-doc repository.
Human URL: https://github.com/rokudev/dev-doc/tree/v2.0/reference/nabu_cloud
- REST, Developer Cloud, Test Devices, CI CD
Roku Search Feed is a JSON feed format that publishers ingest to expose their catalog to Roku Search. The feed provides movies, series, episodes, short-form videos, TV specials, and live feeds with localized titles, descriptions, ratings, content links, and external IDs.
Human URL: https://github.com/rokudev/search-feed-json
- Feed, Search, Content Catalog
- Documentation
- JSONSchema (Search Feed Schema)
- JSON-LD
- Example (Simple Search Feed Example)
- Example (Advanced Search Feed Example)
Roku Direct Publisher (RDP) feed is a JSON feed specification that allows non-technical publishers to populate channels by hosting a structured catalog of short-form videos, movies, series, episodes, and live feeds. Roku ingests the feed on a schedule and renders the channel UI automatically.
Human URL: https://github.com/rokudev/feed-specifications
- Feed, Direct Publisher, Content Catalog
Roku Analytics provides performance reporting, audience metrics, and engagement data for Roku channel publishers. Reports are accessed through the Roku Developer Dashboard rather than a public REST API.
Human URL: https://developer.roku.com/docs/developer-program/marketing/roku-analytics.md
- Analytics, Reporting
APIs and patterns for implementing user sign-in and authentication within Roku channels, including device-linking ("on-device authentication") and OAuth-style flows. The framework is implemented in BrightScript on the device; the publisher's authentication backend is custom-built.
Human URL: https://developer.roku.com/docs/developer-program/authentication/authentication-overview.md
- Authentication, OAuth
- Website
- DeveloperPortal
- Documentation
- GettingStarted
- Courses
- SDK
- Support
- Blog
- GitHubOrganization
- GitHubRepository (Roku Developer Documentation)
- GitHubRepository (Roku Channel Samples)
- GitHubRepository (roku-deploy npm Package)
- GitHubRepository (BrightScript Debug Protocol Wrapper)
- GitHubRepository (VSCode BrightScript Extension)
- Tools (BrightScript VSCode Extension)
- Tools (roku-deploy CLI (npm))
- Tools (Roku Automated Channel Testing (Selenium WebDriver))
- Tools (Roku Unit Testing Framework)
- Tools (Python BrightScript Remote Debugger)
- CodeExamples (Roku Sample Channels)
- CodeExamples (Hello World Channel)
- CodeExamples (SceneGraph Master Sample)
- CodeExamples (Hero Grid Channel Sample)
- CodeExamples (Standard Dialog Framework Sample)
- SpectralRules
- NaftikoCapability (Roku Channel Operations Workflow)
- NaftikoCapability (ECP Shared Capability)
- NaftikoCapability (Roku Pay Shared Capability)
- NaftikoCapability (Nabu Cloud Shared Capability)
- Vocabulary
- TermsOfService
- PrivacyPolicy
| Name | Description |
|---|---|
| Channel Development | BrightScript and SceneGraph frameworks for building Roku TV streaming channel applications. |
| Device Control | Local-network HTTP API (ECP) for discovery, key injection, app launching, and diagnostics. |
| Roku Pay | Server-to-server billing APIs for transaction validation, refunds, and subscription management. |
| Direct Publisher | JSON feed ingestion path for non-technical publishers to populate Roku channels. |
| Search Feed | Catalog feed ingestion that surfaces publisher content in Roku Search. |
| Nabu Cloud | Roku's developer cloud for managing remote test devices, snapshots, and builds. |
| Channel Store Monetization | Transactional and subscription monetization through ChannelStore and roChannelStore components. |
| Advertising Framework | Roku Advertising Framework (RAF) for monetizing video content with ads. |
| Name | Description |
|---|---|
| Streaming Channel Development | Build full-screen TV streaming channels with BrightScript/SceneGraph and ship to the Roku Channel Store. |
| Subscription Video On Demand | Monetize video content with recurring subscriptions managed by Roku Pay. |
| Transactional Video On Demand | Monetize individual movie/episode purchases via the Channel Store and Roku Pay. |
| Free Ad-Supported Streaming TV | Free streaming with the Roku Advertising Framework. |
| TV Remote and Home Automation | Build mobile or hub-based remote-control apps that drive Roku devices via ECP. |
| Automated Channel Testing | Run channel certification tests on remote Roku test devices in Nabu Cloud. |
| Name | Description |
|---|---|
| Visual Studio Code | BrightScript language extension for VSCode with debugging and side-loading. |
| Selenium WebDriver | WebDriver-based automated channel testing. |
| npm | roku-deploy and roku-debug published as npm packages. |
| Sublime Text | BrightScript syntax-highlighting package. |
| GitHub | Source-of-truth for Roku-published samples, tooling, and the dev-doc OpenAPI spec. |
Machine-readable API specifications organized by format.
- external-control-protocol-active-app-schema
- external-control-protocol-app-list-schema
- external-control-protocol-app-schema
- external-control-protocol-device-info-schema
- external-control-protocol-media-player-schema
- nabu-cloud-agent-stream-option-schema
- nabu-cloud-awsregion-schema
- nabu-cloud-body-serviceaccounts-login-token-schema
- nabu-cloud-build-out-schema
- nabu-cloud-build-source-schema
- nabu-cloud-device-create-schema
- nabu-cloud-device-history-out-schema
- nabu-cloud-device-instance-info-schema
- nabu-cloud-device-out-schema
- nabu-cloud-device-start-schema
- nabu-cloud-device-status-schema
- nabu-cloud-device-type-schema
- nabu-cloud-device-update-schema
- nabu-cloud-group-add-member-schema
- nabu-cloud-group-create-schema
- nabu-cloud-group-member-out-schema
- nabu-cloud-group-out-schema
- nabu-cloud-group-role-out-schema
- nabu-cloud-group-update-schema
- nabu-cloud-ice-server-schema
- nabu-cloud-kubernetes-status-schema
- nabu-cloud-oidctoken-response-model-schema
- nabu-cloud-organisation-member-out-schema
- nabu-cloud-organisation-out-schema
- nabu-cloud-organisation-region-out-schema
- nabu-cloud-organisation-role-out-schema
- nabu-cloud-personal-access-token-create-schema
- nabu-cloud-personal-access-token-created-schema
- nabu-cloud-personal-access-token-out-schema
- nabu-cloud-personal-access-token-refresh-schema
- nabu-cloud-personal-access-token-status-schema
- nabu-cloud-project-create-schema
- nabu-cloud-project-group-add-schema
- nabu-cloud-project-group-out-schema
- nabu-cloud-project-group-update-schema
- nabu-cloud-project-member-add-schema
- nabu-cloud-project-member-out-schema
- nabu-cloud-project-out-schema
- nabu-cloud-project-role-out-schema
- nabu-cloud-project-update-schema
- nabu-cloud-scope-out-schema
- nabu-cloud-snapshot-create-schema
- nabu-cloud-snapshot-out-schema
- nabu-cloud-snapshot-update-schema
- nabu-cloud-user-out-schema
- pay-web-services-cancel-subscription-request-schema
- pay-web-services-issue-credit-request-schema
- pay-web-services-refund-subscription-request-schema
- pay-web-services-refund-validation-schema
- pay-web-services-subscription-result-schema
- pay-web-services-transaction-validation-schema
- pay-web-services-update-bill-cycle-request-schema
- search-feed-schema
- external-control-protocol-active-app-structure
- external-control-protocol-app-list-structure
- external-control-protocol-app-structure
- external-control-protocol-device-info-structure
- external-control-protocol-media-player-structure
- nabu-cloud-agent-stream-option-structure
- nabu-cloud-awsregion-structure
- nabu-cloud-body-serviceaccounts-login-token-structure
- nabu-cloud-build-out-structure
- nabu-cloud-build-source-structure
- nabu-cloud-device-create-structure
- nabu-cloud-device-history-out-structure
- nabu-cloud-device-instance-info-structure
- nabu-cloud-device-out-structure
- nabu-cloud-device-start-structure
- nabu-cloud-device-status-structure
- nabu-cloud-device-type-structure
- nabu-cloud-device-update-structure
- nabu-cloud-group-add-member-structure
- nabu-cloud-group-create-structure
- nabu-cloud-group-member-out-structure
- nabu-cloud-group-out-structure
- nabu-cloud-group-role-out-structure
- nabu-cloud-group-update-structure
- nabu-cloud-ice-server-structure
- nabu-cloud-kubernetes-status-structure
- nabu-cloud-oidctoken-response-model-structure
- nabu-cloud-organisation-member-out-structure
- nabu-cloud-organisation-out-structure
- nabu-cloud-organisation-region-out-structure
- nabu-cloud-organisation-role-out-structure
- nabu-cloud-personal-access-token-create-structure
- nabu-cloud-personal-access-token-created-structure
- nabu-cloud-personal-access-token-out-structure
- nabu-cloud-personal-access-token-refresh-structure
- nabu-cloud-personal-access-token-status-structure
- nabu-cloud-project-create-structure
- nabu-cloud-project-group-add-structure
- nabu-cloud-project-group-out-structure
- nabu-cloud-project-group-update-structure
- nabu-cloud-project-member-add-structure
- nabu-cloud-project-member-out-structure
- nabu-cloud-project-out-structure
- nabu-cloud-project-role-out-structure
- nabu-cloud-project-update-structure
- nabu-cloud-scope-out-structure
- nabu-cloud-snapshot-create-structure
- nabu-cloud-snapshot-out-structure
- nabu-cloud-snapshot-update-structure
- nabu-cloud-user-out-structure
- pay-web-services-cancel-subscription-request-structure
- pay-web-services-issue-credit-request-structure
- pay-web-services-refund-subscription-request-structure
- pay-web-services-refund-validation-structure
- pay-web-services-subscription-result-structure
- pay-web-services-transaction-validation-structure
- pay-web-services-update-bill-cycle-request-structure
- roku-search-feed-structure
- roku-external-control-protocol-context
- roku-nabu-cloud-context
- roku-pay-web-services-context
- roku-search-feed-context
- external-control-protocol-launch-app-example
- external-control-protocol-query-apps-example
- external-control-protocol-query-device-info-example
- nabu-cloud-create-device-example
- nabu-cloud-list-devices-example
- pay-web-services-cancel-subscription-example
- pay-web-services-validate-transaction-example
- roku-direct-publisher-feed-example
- roku-search-feed-advanced-example
- roku-search-feed-simple-example
Naftiko capabilities organized as shared per-API definitions composed into customer-facing workflows.
- Roku External Control Protocol — 15 operations
- Roku Nabu Cloud — 24 operations
- Roku Pay Web Services — 6 operations
| Workflow | APIs Combined | Tools | Persona |
|---|---|---|---|
| Roku Channel Operations | ECP, Pay, Nabu Cloud | 21 | Channel Developer, QA Engineer, Billing Operator |
- Roku Vocabulary — Unified taxonomy mapping 17 resources, 15 actions, 1 workflow, and 3 personas across operational (OpenAPI) and capability (Naftiko) dimensions
- Roku Spectral Rules — 27 rules across 12 categories enforcing Roku API conventions
FN: API Evangelist