본관은 의성(義城). 자는 천약(天若), 호는 칠탄(七灘). 안동 출신. 김시주(金是柱)의 증손으로, 할아버지는 김임(金恁)이고, 아버지는 주부(主簿) 김삼기(金參基)이며, 어머니는 김광수(金光遂)의 딸이다.
1673년(현종 14) 진사가 주1 1687년(숙종 13) 식년 문과에 병과로 주2. 1693년 홍문록 · 도당록에 올랐다. 부수찬(副修撰) · 지평(持平) 등을 역임하고 1698년 교리(校理)가 되어 붕당(朋黨) · 기강(紀綱) · 기근(飢饉) 등을 논하는 소를 주3
1707년 수찬으로 상소가 지나쳐 장벌을 받아 죽게 된 이잠(李潛)의 구명을 간하다 관작을 삭탈당하고 흥양(興陽)에 유배되었고, 유배에서 풀려나서는 벼슬을 단념하고 향리로 돌아가 독서로 소일하였다.