you have a vaccum somewhere. i suggest spraying carb claner around the throttle body, vaccum lines, intake manifold flange, throttle body idle screw, etc. see if idle surges. if if does, there is your vaccum.
in case that doesn't work, there's a valve usually located under the tb. it's the fitv. in time it becomes unadjusted. locate two screws holding a plate, take them off, you will see a big white plunger screw. screw it shut all the way, then back off a half turn.
if that doesn't work, there's another valve usually located behind the im. it's the iacv valve. take it off, see if a little screen in it is clogged. anyways, spray carb cleaner around and inside it until liquid comes out clear (IMPORTANT: the iacv MUST be cold in order to do so, if you hit it with carb cleaner while hot you risk hurting the valve). make sure that a figure 8 seal is in good condition. better yet, get a new one, they're inexpensive. put back the iacv and see if it works. if it doesn't, check if the iacv is properly set. start the car, let it come to temp (when fan kicks). once in temp, unplug the iacv, it will rev the engine down. check the tach, the needle should point +-650rpms. if not, adjust accordinly. stop the engine, unplug battery, let the ecu reset for a minute, plug back the iacv BEFORE restarting the engine, restart and let it get to temp. idle should be around 750 rpm.
lastly, if vaccum is still an issue. there's a seal between the brake mc and booster. in time that seal fucks up and create vaccum. do you have a spongy feel when braking?
if problem persists after all the vaccum issues have ben addressed, then check the tps sensor. but i've already posted too much

, so if it comes down to checking the tps, do a little search my friend

good luck and keep us posted.