What engine is it?
Could try cleaning the IAC(idle air control) Valve.
Fuel injected engines can't use an idle screw or a Choke Plate.
So computer needs to know when engine is cold and when it is warm, it does that using a temp SENSOR, ECT sensor, this is a 2 wire temp device, not to be confused with the 1 wire SENDER used by the dash board temp gauge.
So when engine is cold the computer raise the idle to 1,100rpm(approx.) and adds extra fuel(like a choke plate did).
As engine warms up idle starts to go down until it gets to warm idle, 625rpm for manual trans, 750 for auto, it sets these idles using the IAC Valve.
IAC Valve is an electric motor, a step or stepper motor, connected to a valve that is on an air passage that bypasses the throttle plate.
If valve is fully open RPMs could get up to 2,000, fully closed should be 500rpms.
One thing you can try when engine is fully warmed up and idling, unplug the wires on the IAC Valve, it will close all the way, RPMs should drop to 500 or engine may even stall, either is OK, it means no more vacuum leaks.
If idle stays up, 700+, then you do have a vacuum leak.
IAC Valve can get dirty inside, so valve gets sticky, computer tries to open and close it to set idle at 1,000(for example) but first try gets 800 so it opens it more and it unsticks and idle is now 1,200, so it closes it more, then 900, and so on....... because where the valve needs to be in the tube is sticky so computer can't get it right.
After warm up, where valve sits most of the time all is well.
Not hard to clean, couple of bolts and maybe a gasket if it can't be reused, usually they can be reused