diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..031e347db662c89bd91749397e73ace571523fcf
Binary files /dev/null and b/requirements.txt differ
diff --git a/stager_access.py b/stager_access.py
index f2d19c0978488b96a77ca3dc28aaf97af7d64fff..a0cfa224f62d4d6a2070e6ec6c706baf2e024bc9 100755
--- a/stager_access.py
+++ b/stager_access.py
@@ -65,6 +65,7 @@ def parse_config_file(file):
 # Determine credentials and create proxy
 user = None
 passw = None
+api_token = None
 proxy = None
 
 if __name__ == "__main__":
@@ -83,10 +84,16 @@ if __name__ == "__main__":
             passw = credentials.get("password")
             break
 
+        if 'api_token' in credentials:
+            api_token = credentials.get("api_token")
+            break
 
     if user is not None and passw is not None:
-        print("%s - stager_access: Creating proxy" % (datetime.datetime.now()))
+        print("%s - stager_access: Creating xml rpc proxy" % (datetime.datetime.now()))
         proxy = stager_proxy.StagerProxy.from_xml_rpc("https://"+user+':'+passw+"@webportal.astron.nl/service-public/xmlrpc")
+    elif api_token is not None:
+        print("%s - stager_access: Creating rest api proxy" % (datetime.datetime.now()))
+        proxy = stager_proxy.StagerProxy.from_rest_api('http://localhost:8000/api/staging', api_token)
     else:
         print("%s - stager_access:  Could not find a file with user credentials." % (datetime.datetime.now()))
 
diff --git a/stager_proxy.py b/stager_proxy.py
index 6b8d58deb45e9b8c9669d6455f1cf54b16b19c60..9f636d901bcf8d4d009bc8baf01a5284b45d1e28 100644
--- a/stager_proxy.py
+++ b/stager_proxy.py
@@ -1,4 +1,5 @@
 from sys import version_info
+import requests
 
 python_version = version_info.major
 if python_version == 3:
@@ -17,10 +18,25 @@ class StagerProxy:
         self.LtaStager = lta_stager
 
     @classmethod
-    def from_xml_rpc(cls, uri):
+    def from_xml_rpc(cls, uri: str):
         proxy = xmlrpclib.ServerProxy(uri)
         return cls(proxy.LtaStager)
 
     @classmethod
-    def from_rest_api(cls, uri):
-        pass
+    def from_rest_api(cls, uri: str, token: str):
+        proxy = RestApiStager(uri, token)
+        return cls(proxy)
+
+
+class RestApiStager:
+    def __init__(self, uri: str, token: str):
+        self.uri = uri
+        self.token = token
+        self.headers = {
+            'Authorization': f'Token {token}',
+            'Content-Type': 'application/json'
+        }
+
+    def getstatus(self, stageid: str) -> str:
+        response = requests.get(f'{self.uri}/requests/{stageid}/status', headers=self.headers).json()
+        return response['status']