Skip to main content

Xbox One Smartglass REST API

Project description


Latest Version Discord chat channel

Open-Source Xbox One Smartglass REST server.

For in-depth information, check out the documentation: (



Via pip:

pip install xbox-smartglass-rest

How to use

Start the server:

$ xbox-rest-server


Authenticate from scratch

For non-2FA enabled account: http://localhost:5557/auth/login
For 2FA: http://localhost:5557/auth/oauth

# Store tokens on valid authentication

Load tokens from disk


2FA OAuth - POST

# Get authorize url
GET http://localhost:5557/auth/url
Response-Parameters (JSON): authorization_url

# Submit redirect url
POST http://localhost:5557/auth/oauth
Request-Parameters: redirect_uri

Regular (non-2FA) login - POST

POST http://localhost:5557/auth/login
Request-Parameters: email, password

General usage

To see all API endpoints:


Usual usage:

# (Optional) Poweron console
# NOTE: You can specify device by ip: /device/<liveid>/poweron?addr=
# Enumerate devices on network
# NOTE: You can enumerate device by specific ip: /device?addr=
# Connect to console
# NOTE: You can connect anonymously: /connect?anonymous=true
# .. if console allows it ..

# Use other API endpoints ...

Known issues

  • Find, report and/or fix them ;)


When reporting bugs, please make sure to provide the output of the following endpoint



  • Report bugs/suggest features
  • Improve / add endpoints


This package uses parts of Cookiecutter and the audreyr/cookiecutter-pypackage project template.


0.9.8 (2018-11-14)

  • Python 3.7 compatibility

0.9.7 (2018-11-05)

  • Pin xbox-smartglass-core requirement
  • Filter returned consoles when addr-query is supplied
  • Expose last_error in console status

0.9.6 (2018-10-04)

  • Return unique index endpoint
  • Create FAQ
  • Always refresh XBL Client with new tokens and implement IP in /device
  • Expose IP addr discovery through /devices?addr=
  • Always refresh XBL Client with new tokens
  • Add GameDVR endpoint

0.9.5 (2018-08-16)

  • Add App Type and Fix Media Status

0.9.4 (2018-08-14)

  • Add /web/titlehistory endpoint
  • Enable logfile cmdline argument
  • Parse proper parameter from /launch/<app_id> and /media/seek/<seek_position>
  • Standardize media commands and input keys casing
  • Clean up status codes and auth routes
  • Add friendly name and display image from titlehub to console_status response if authenticated
  • Do a best effort token load and refresh on startup, auto dump tokens file on successful auth
  • Simplify auth url endpoint
  • Restructure app to be more modular
  • Add XboxLiveClient and endpoint /web/title/<title_id> for downloading friendly name and displayImage
  • Allow connecting anonymously when supplying anonymous=true via POST to /connect
  • Pin xbox-smartglass-stump version
  • Adding /media/seek endpoint
  • Add /versions endpoint
  • Rewrite authentication endpoints, OAUTH and regular auth supported
  • Rename endpoint /authentication to /auth

0.9.3 (2018-08-08)

  • Rename /status to /console_status

0.9.2 (2018-08-04)

  • Stump <headend, livetv, tuner lineups> endpoints
  • Add console flags
  • Preparing NANO endpoints
  • Adjusting authentication endpoint slightly
  • Allow anonymous connection

0.9.1 (2018-08-04)

  • Small fixup

0.9.0 (2018-08-04)

  • First commit on github

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for xbox-smartglass-rest, version 0.9.8
Filename, size File type Python version Upload date Hashes
Filename, size xbox_smartglass_rest-0.9.8-py2.py3-none-any.whl (19.3 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size xbox-smartglass-rest-0.9.8.tar.gz (21.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page