Print Bitcoin price by getting JSON data using CoinDesk API
In general you should be more especific on the management of the exceptions, my only contribution will be to be more specific on them on the requests component. For example your code on:

def get_api_data(url):
    try:
        response = rq.get(url)
        response.raise_for_status()
        ...    
    except Exception as e:
        logger.debug("Exception occurred.", exc_info=True)


With more specific exception management

def get_api_data(url):
    try:
        response = rq.get(url)
        response.raise_for_status()
        ...    
    except requests.exceptions.RequestException as _:
        logger.debug("Exception occurred on request.", exc_info=True)
    except json.decoder.JSONDecodeError as _:
        logger.debug("Exception occurred on json decoder.", exc_info=True)