At Screenly, we are heavy CLI users ourselves, and we've always felt that a CLI for Screenly would allow us to simplify a lot of our day-to-day tasks.
$ screenly --help
Usage: screenly [OPTIONS] <COMMAND>
Commands:
login Logins with the token and stores it for further use
logout Logouts and removes stored token
screen Screen related commands
asset Asset related commands
playlist Playlist related commands
edge-app Edge App related commands
Options:
-j, --json Enables JSON output
The Screenly command-line interface (CLI) makes managing digital signs at scale easy. Our CLI provides a comfortable and powerful workspace for developers, and it is now easier than ever to manage your digital signs quickly.
Pair a screen
Get a screen up and running in seconds:
$ screenly screen add 8a3b2c "Lobby Display"
Upload content
Add images, videos, or web pages as assets:
$ screenly asset add dashboard.html "Sales Dashboard"
$ screenly asset add https://example.com/promo.mp4 "Summer Promo"
Build and schedule playlists
Create a playlist with a predicate schedule so it only runs during business hours:
$ screenly playlist create "Office Hours" \
'TRUE & hour >= 8 & hour < 18 & weekday >= 1 & weekday <= 5'
Then add assets to it:
$ screenly playlist append $PLAYLIST_ID $ASSET_ID 20
Secure web content
Authenticate against internal dashboards right from the CLI:
$ screenly asset basic-auth $ASSET_ID "user=s3cret"
$ screenly asset bearer-auth $ASSET_ID "eyJhbG..."
Inject custom JavaScript
Close cookie banners, auto-login, or restyle pages:
$ screenly asset inject-js $ASSET_ID close-cookie-banner.js
Deploy Edge Apps
Validate, test locally, and ship an Edge App in one workflow:
$ screenly edge-app validate
$ screenly edge-app run --generate-mock-data
$ screenly edge-app deploy
Pipe it all together
Combine with standard UNIX tools for powerful one-liners:
$ screenly playlist get $PLAYLIST_ID | \
sed 's/ASSET_ID_1/ASSET_ID_2/g' | \
jq | \
screenly playlist update
JSON output
Every command supports --json for easy scripting and automation:
$ screenly screen list --json | jq '.[].name'
"Lobby Display"
"Cafeteria"
"Meeting Room 3"
Our CLI is fully open sourced, and it is also designed to slot nicely into your CI/CD pipeline (such as GitHub Actions).
To learn more about how to use the Screenly CLI, visit our Developer Portal.

