I am designing a device, and I have a rough idea of what I need to do. Just not sure what's the best approach. I just need to pull data from my fitbit profile website, or maybe use the api either way I'm not too experience on that. I will be using Uno and a Wifi shield to connect to the internet. Any advice is greatly appreciated.
Either the API or the user interface might well use secure sockets. If so, that isn't going to be any use for you since it isn't feasible to implement secure sockets in an Arduino. If they both use secure sockets, I don't think your Arduino based solution will work. If only one of them uses secure sockets then that dictates that you must use the other one. If neither of them use secure sockets then you have a free choice. In this third case I'd recommend using the API since it will be designed for programmatic access and avoid you having to parse through all the display baggage associated with the user interface.
I don't know what form the Fitbit API takes but it is unlikely to be suitable to run in an Arduino. If you decide to take the API route then you will need to understand the communication protocol that underlies the API, and write your own Arduino version of the API. This is probably not going to be complicated, if Fitbit publish details of their communications protocol. Otherwise, you'll need to reverse engineer it, and I don't know how easy you'll find that.