I am calling the getFundraisingResults API method for each member of a team to populate a list of fundraising information for each team. Since this call has to be made once per team member, a large team will result in the need for a large number of API calls. When we make a lot of calls in a short amount of time, it seems that our results are being throttled which results in a very slow load time and poor user experience. How can I avoid being throttled or rate limited when making API calls?
To avoid rate limiting, try reducing the number of calls you need to make by pulling the same information with a method that allows batch results rather than individual results. Rather than using getFundraisingResults, try leveraging the getParticipants method. You would be able to filter using the fr_id and team_name parameters, which would then return the participants on that team for the specified event. In addition to accessing the total amounts each member has raised, you will also receive additional information for each participant such as their personal page URL.
More information on the getParticipants method can be found here: http://open.convio.com/api/#teamraiser_api.getParticipants_method.html