All 649. You need to travel around a lot, and go through the same area a lot, and some are only in events, or after you beat the game. It's a pretty drastic improvement from the first Pokemon Rumble, in which only Kanto and Sinnoh Pokemon were available, if I do say so myself.