자는 계달(季達). 좌의정 김상헌(金尙憲)의 증손으로 할아버지는 동지중추부사 김광찬(金光燦)이고 아버지는 공조참판 김수증(金壽增)이며 어머니는 조한영(曺漢英)의 딸이다.
1686년(숙종 12) 통덕(通德)의 신분으로 정시 문과에 병과로 급제한 뒤 주서(注書)·병조좌랑을 거쳐 1694년 설서(說書)·사서(司書) 이듬해에는 정언(正言)에 오르고 연이어 지평(持平)·수찬(修撰)·사서·지평이 되었다가 토산현감에 올랐다.1699년 다시 내직으로 들어와 교리(校理)를 지냈으며 이듬해에는 지평·정언이 되어 관리들의 기강의 확립과 의리의 필요성을 주장하였다.