Asynchronous lookup over HTTP and checking the status
I suggest to remove the result variable. You can just return the result. You don't have to store it in a temporary variable:

if (response.IsSuccessStatusCode)
{
    return await response.Content.ReadAsAsync&lt;ApiResult&gt;();
}
else {
    return null;
}


In this case I would even use the ternary ? : operator:

return response.IsSuccessStatusCode
    ? await response.Content.ReadAsAsync&lt;ApiResult&gt;()
    : null; 


You could also write it like this:

if (!response.IsSuccessStatusCode)
    return null;

return await response.Content.ReadAsAsync&lt;ApiResult&gt;();