The API wrapper for Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

boxapi logo SDK for Python

This api module is in developing, any advice is welcome. SDK for Python made developers could access v2 RESTful API with Python programming language in a easier way, from authentication to query/update the information of files/folders.


Developers should apply for an api key while using API. (Where to apply: Developer Services)

>>> from boxapi import Session
>>> api_key = "boxnetapikeyexample"
>>> session = Session(api_key)
>>> session.apply_new_authtoken()
Please go to the following url for authentication:
>>> ticket = session.ticket 

The url for authenticating will be stored in session.auth_url.

After the user authorized your app on the above webpage, you can shoot the authorize() method to get the auth token.

>>> session.authorize(ticket)
>>> session.auth_token

Take a look and execute for more action detail.


Action is the general function for calling API methods. To operate correctly, you must know the auth token of the user.

import boxapi

api = boxapi.Session("<Your API Key>", auth_token="<Your Auth Token>")

api.action() will return a dictionary which contains the response from the api call, and already has been transformed into dictionary from JSON format.


Here's a test script under the root folder of this project, named Before using the test script, you need to fill API_KEY and AUTH_TOKEN(optional) manually to make sure it will execute successfully.

If you didn't fill the field AUTH_TOKEN, you will need to authorize by open the url appear in the prompt, otherwise you will do the default action (call /folders/0) and see the prettified response on your screen.

Usage of


will do the default action /folders/0.

python "/folders/<other_folder_id>"

will call the action you specified by assigning the first argument and display the response.


boxapi now can work well with all the api methods with GET and POST, excluding file downloading and file uploading.

I will implement these following features recently:

  • Uploading file(s)
  • Downloading file(s)
  • Directories tranversal
  • Session's methods for simplify the progress of doing specify method
  • Exception handling