A group of fishermen on a pier reportedly spotted the body.
The incident began around 7:30 p.m. Wednesday on the beach off Sadowski Parkway, which is a no-swim beach due to strong currents.
Police say the man, identified as 29-year-old Jorge Ramiro Ortega, was wading in shallow water with an acquaintance and two kids she was babysitting when the current started to get stronger and began to suck them out.
The children, an 11-year-old boy and 7-year-old girl, were struggling, and sources say Ortega did everything he could to push them back towards shore, possibly at the expense of his own life.
Two teenage boys jumped in and managed to save the kids, but they were unable to go back out for Ortega.
"The currents here are very treacherous," Perth Amboy Police Chief Benjamin Ruiz said. "On any given time, when the water can be very calm, because of our proximity to the Atlantic Ocean and the bay waters, at any given time, we run into very treacherous currents underneath the water, and pulls that draws swimmers out there, which is why this is a no-swim area."
Perth Amboy police and fire, the Coast Guard and the NYPD all assisted in the recovery effort.