I would suggest at least 3 days, if you are just focusing on the city of Miami itself. There is enough to interest most people that they will not be bored in this amount of time. Between history, shopping, nightlife and beaches, there is something for everyone.