Two is ideal. Three is the maximum before the system starts looking inconsistent. The exception is when the third font is purely a numerical or display accent (a slab serif for stats, for example) that never appears alongside the other two.
Stick to two fonts maximum
One serif font and one sans-serif font, or one display and one neutral. More fonts than that and the system fights itself. Brands like the New York Times, Stripe, and Apple all run on two-font systems. The clean example here uses Playfair Display for the headline and Inter for the body, one of the battle-tested pairings in our library.



