I would suspect that Idle Air Control Valve, like @exp500 said. Remove and inspect inside the throttle body port where the valve pintle would move. Should be a clean smooth surface that is tapered. Can be clean with carb cleaner and a small brush. I would inspect the pintle shaft/spring area for filth and replace if needed or at least attempt to clean. Is there any CEL's?