Was this a sudden thing? Has it gotten worse? Did you use real cheap generic gas at the last fill-up? SOMEtimes this can cause poor idle. One of those things that may require some diagnostics.
Here are some things to check, in order of ease –
Have autozone or someone pull the codes. Codes don’t really give too much info but it is good to have them to get SOME general direction. Is the check engine light even on?
Inspect all vacuum lines. Typically the leaky parts are gonna be where they connect to something or other stress points like if they are strapped to anything. Do not forget the vacuul hose to the brake booster and hoses to the cruise control IF there is a vacuum line attached.
Inspect electrical wiring and connections.
Make sure the air filter is not too nasty. Not likely the culprit but just to eliminate it. Inspect the intake hose and the connections.
Clean the throttle body. During which, open it to clean inside and out best you can, especially the plate. Clean where the idle air enters the intake.
IAC valve. Could try cleaning it. Unless you want to snag a cheap one from a junk yard, don’t just go replacing it right away.
Make sure the ignition wires are in good shape, including connectors. make sure the plugs are in good shape. check the posts on the distributor or coils to make sure they are not corroded. Maybe not likely cause if that were the case, it would run badly thru all RPM ranges.
Some of the above things are more “wishful thinking” type checks than realistic possibilities BUT at least they are easy and can be eliminated as culprits. Plus at least you can know you did those maintenance measures.
Like Fopeano said – we might be leaning mostly towards a vacuum leak. If the hoses are good, there may be an intake gasket leak. intake leaks start off as rough or otherwise unstable idle but tend to progress to where it runs bad all the time.
Doing intake gaskets is not a bad job. A little hassle but on a 4 cylinder, you can likely do the job if you have any level of mechanical knowledge.