Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
  Logo License: MIT

A wrapper for the API in Python.

Basic Examples

import modio

client = modio.Client(api_key="your api key here", access_token="your o auth 2 token here")

game = client.get_game(345)
#gets the game with id 345

#prints the name of the game

mod = game.get_mod(231)
#gets the mod for that game with id 231

How to install

pip install

Getting an OAuth 2 Access Token

To perform writes, you will need to authenticate your users via OAuth 2. To make this easy this library provides you with two functions to use in order to obtain your Access Token. You will need an API Key and an email adress to which you have access in order for this to work. Once you have both, follow the example below, you can either run this in a REPL or as a Python script. Don't forget to edit the script to add your own api key and email adress.


import modio

client = modio.Client(api_key="your api key here")

#request a security code be sent at this email adress

#check your email for the security code
code = input("Code: ")

oauth2 = client.email_exchange(code)

#your oauth2 token is now stored in the variable

#to save into a file simply
with open("oauth2.txt", "w") as file:

#and now the token is stored in oauth2.txt

Unsupported Endpoints

Most /external/ endpoints are unsupported as they are intended to be integrated directly into games which isn't the scope of this wrapper. This wrapper is mainly for reading the site although it does have some support for editing and adding new stuff.

This also means that the Platform and Portal endpoints/headers are unsupported.