You are using the $http.get
method. The flickr api you are using returns a JSONP format though. This is what seems to make your code not work. Check out my original answer for the correct way to handle this in this case.
Previous Answer:
From the $http docs, your call has to contain a JSON_CALLBACK substring.
Yours is missing.
The correct url should be:
http://api.flickr.com/services/rest/?method=flickr.photos.getRecent&api_key=MyAPI&per_page=30&format=json&jsoncallback=JSON_CALLBACK
EDIT:
Here is a plunkr, with a test case
http://plnkr.co/edit/MUMnHML5QtDJTthmtZ2Y?p=preview
Code:
$http.jsonp("http://api.flickr.com/services/rest/?method=flickr.photos.getRecent&api_key=KEY&per_page=30&format=json&jsoncallback=JSON_CALLBACK")
.success(function(data) {
$scope.data = data.photos;
})