def request(key, features, query, timeout=<NUM_LIT:5>):
data = {}<EOL>data['<STR_LIT:key>'] = key<EOL>data['<STR_LIT>'] = '<STR_LIT:/>'.join([f for f in features if f in FEATURES])<EOL>data['<STR_LIT>'] = quote(query)<EOL>data['<STR_LIT>'] = '<STR_LIT>'<EOL>r = requests.get(API_URL.format(**data), timeout=timeout)<EOL>results = json.loads(_unicode(r.content))<EOL>return results<EOL>
Make an API request

    :param string key: API key to use
    :param list features: features to request. It must be a subset of :data:`FEATURES`
    :param string query: query to send
    :param integer timeout: timeout of the request
    :returns: result of the API request
    :rtype: dict