It looks you’re using different transient names in get_ and set_.
Try the following:
$transient_key = 'apidata_json_cache';
$expiration = 2*60; // 2 Minutes
if( false === ( $feed = get_transient( $transient_key ) ) ) {
echo '<!--Fresh data-->';
/*data extraction process here, which is than stored in $feed*/
set_transient( $transient_key, $feed, $expiration );
}