tidied up a bit, changed api key to not required
don't bail out if key not available
allow raw data to be undefined