public function fetch($url)
    {
        if ($this->apiKey) {
            $url .= '&key='.$this->apiKey;
        }

        try {
            $json = json_decode(file_get_contents($url));
        } catch(\Exception $e) {
            throw new ServiceUnavailableException;
        }

        $this->checkApiError($json);

        return $json;
    }