본관은 연안(延安). 자는 군량(君諒). 할아버지는 내자시유(內資寺尹) 김해(金侅)이고, 아버지는 참의 김우신(金友臣)이며, 어머니는 지청풍군사(知淸風郡事) 이계충(李繼忠)의 딸이다. 김종직(金宗直)의 문인이다.
1468년(세조 14) 생원시에 합격하고, 1474년(성종 5) 식년 문과에 병과로 급제하였다. 1479년에는 좌랑으로서 문과 중시에 을과로 급제하여 문명을 떨쳤다.
사람됨이 침착하고 말이 적었으며, 관직에 있으면서는 법을 준수하여 권귀(權貴)에 굽히지 않았다. 1483년 사섬시첨정(司贍寺僉正)이 되었으며, 예조를 제외한 5조를 모두 역임한 뒤 1487년 사간이 되었고, 이듬해에는 대책(對策)에 1등하여 모마장(毛馬粧) 1부를 하사받았다.
1490년 직제학(直提學)이 되었고, 이듬해에는 이문(吏文)을 제작한 공으로 활이 하사되었으며, 부제학이 되었다. 연산군이 어머니인 폐비 윤씨를 위하여 효사묘(孝思廟)를 세우려고 하자, 여러 대관을 거느리고 그것을 반대하였다.
1496년 정조사(正朝使)로 명나라에 다녀온 뒤에 대사헌과 부총관(副摠管)을 역임하였고, 벼슬을 그만둘 것을 청하였으나 연산군은 신임하여 허락하지 않았다. 뒤에 지중추부사에 이르렀다. 시호는 문정(文貞)이다.