Singer Jennifer Lopez and former New York Yankees baseball star Alex Rodriguez have called off their engagement, US media reported on Friday.

Lopez, 51, and Rodriguez, 45, had been a couple for nearly four years and had just last year bought a $40 million home in Miami.

The pair have not confirmed the break up reported by the New York Post's Page Six and TMZ.

Lopez was in the Dominican Republic filming a movie and posted Thursday on social media saying "Find a good reason to laugh today."

Jennifer Lopez and fiance Alex Rodriguez have reportedly broken up
Jennifer Lopez and fiance Alex Rodriguez have reportedly broken up AFP / Frederic J. Brown

Rodriguez, for his part, posted a picture of himself aboard a boat in Florida.

While the news caught many fans by surprise, the split had apparently been in the works for a while.

"This has been a long time coming," a source told People magazine.

"They are tied in their business worlds so it's not a cut and dry break up. It's taken a while for them to even think about untangling it all."