Every request to remote server will result in time increase for your script execution.
3 queries to database are faster then 3 remote requests.
So yes your performance will be heavily impacted with 300 remote requests.
Best solution is to either paginate, or serialize all of data in XML. Though careful with XML, if too big it will cause performance issue as well.
I think pagination is the best option.