Split the data API into it's own class

And search now requires an access_token