def get_first_address_candidate(address: str, _requests: typing.ClassVar = requests ) -> object: """ Retrieves the first address candidate for a given address :param address: Address string to query :param _requests: Requests library object :return: Json response object address and spatial reference """ url_params = { F_PARAM: "json", SINGLE_LINE_PARAM: address, OUT_FIELDS_PARAM: "*", OUTSR_PARAM: "102100" } with _requests.Session() as session: response = session.get(GEOCODE_URL, params=url_params) logger.debug('Got address candidate response: ' + str(response)) candidate_address = response.json()[CANDIDATES_PATH][0] spatial_reference = response.json()[SPATIAL_REFERENCE_PATH] return candidate_address, spatial_reference