Skip to main content
All CollectionsAPIs and Data Integrations
Verdigris API usage with Python
Verdigris API usage with Python

How to use Verdigris API with python requests

Updated over 10 months ago

Head over to our API Docs

Step 1 - Head to our admin console, click on "Create New Key" to generate an API key ; save the "Client ID" and "Client Secret" for API usage.

Note: You will need to create a new API key if you did not grab them. We can not get it for you after your API key is created.

Step 2 - Open a new jupyter notebook  to use with Python 3 

Step 3 - Replace "client_id": xxxx and "client_secret": xxxx with your generated Client ID and Client Secret from Step 1

def get_bearer_token():
""" Gets an authorization token for use with the Verdigris API. Expires in 1 hour. """
    url = 'https://auth.verdigris.co/oauth/token'
    header = {'Content-Type': 'application/json'}
    body = {
    "client_id": "xxxx",
    "client_secret": "xxxx",
    "grant_type": "client_credentials",
    "audience": "https://api.verdigris.co/"
    }
    try:
        resp = requests.post(url, json.dumps(body), headers=header).json()
        return resp["access_token"]
    except:
        return resp

### Get Authorization Token ###
bearer_token_response = get_bearer_token()
if type(bearer_token_response) == str:
    header_auth = {'Authorization': f'Bearer {bearer_token_response}'}
else:
    print(f"Authentication Request Failed:\n{bearer_token_response}")

Example for calls that require no parameters (using Core API)

GET /circuits/

import requests

url = "https://api.verdigris.co/core/v1/circuits/"
response = requests.get(url, headers=header_auth)
response.json()

Example for calls that require parameters (using Data API)

GET /power/circuits/

import requests

url = 'https://api.verdigris.co/data/v4/power/circuits'
payload = {
    'ids':'12345, 23456',
    'start_time':'2020-10-8T:20:55:00Z',
    'end_time':'2020-10-8T:21:55:00Z',
    'interval':'15m',
    'timestamp_format':'iso8601'
}
response = requests.get(url, params = payload, headers = header_auth)

response.json()

Did this answer your question?