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