The Ellis Island database contains records for immigrants passing through the New York port from 1892 through 1924. The search engine can be a little tedious to use but if your immigrants entered the US through Ellis Island, it's just something you need to deal with. You may need to register to use the database but no subscription is required...it is free to use.
When you first begin a new search, enter the exact information you have, name spelling, age, date of arrival. In many cases, this may not be accurate but, just in case it is, you can save yourself a lot of time. Personally, I like to start with the last name only to see how many results I get. It there are a lot of results, then I'll enter more information. The more information you enter, the less likely you are to find the person you are looking for due to inaccurate information and transcription of bad handwriting. You may also miss out on discovering family members that you never knew about.
Keep on open mind on spelling and other facts. If you ancestor came from a non-English speaking country, imagine what their surname would sound like with a heavy accent. The given name on the manifest may not be the name the family knew them by in America. In some cases, there are some patterns you can follow for changes in given names. For example, Leib or Eliezer commonly became Louis in America. Some people just flat out changed their names. A young man with a name as long as the entire alphabet might see the name Rockefeller a lot in change his name to Rockefeller to bring himself luck in starting out his new life. Finding his ship manifest may be the only key you have to tracing the family back to the old country.
There are many rumors that people's names were changed by immigrant officials upon arrival at Ellis Island because the immigrant couldn't be understood or the name was too complicated. This is false. Passenger lists were created at the point of departure. In some cases corrections were made upon arrival in the US but, in general, the information on the passenger list was provided by the passenger. That still doesn't mean the spelling is correct. A Polish resident may be sailing from Belgium so there would still be a language comprehension issue.
Once you have your initial search results, start with the exact matches. I like to go straight to the scan of the original ship manifest vs viewing the passenger record. This lets me see who someone was sailing with e.g. family, friends, landsmen. It also lets me see the original information. After you been doing this for a while, you can learn to spot spellings of town names that are familiar but may have been transcribed incorrectly. Next try the close matches and then the alternate spellings. For the "sounds like" option you'll need to enter more information. This is where I find their search engine annoying. If you get to this point, try it a few times. If you're not getting any results, see my post in this section about Steve Morse's search engine.
Be careful with ages. Some older people had long ago forgotten how old they are. Putting food on the table was more important than remembering birthdays. Some young people lied about their ages. They may have been travelling alone and wanted to seem more mature and unlikely to become wards of the government. They might want to seem older upon entry so they could go straight to work and not have to go to school. Some younger children may be listed at a younger age to get the children's fare for the voyage.
By the early 1920s, many manifests were typed so they are easier to read and resulted in few errors when this database was created.
I can't stress this enough so I'll say it again...keep an open mind on spellings and other facts or you may never find the manifests you are searching for. Also, read all of the information provided for that passenger. The given name may not match up but they may be coming to see an uncle that you already have information about.