Я бы использовал API, и если вы обнаружите, что приложение медленно извлекает данные или вы используете ограничения, кэшируйте некоторые результаты в сеансе (например, список подписчиков может быть кэширован и обновлен, если его больше 10 минут) вы также можете поместить кеш в mssql, если вам нужно еще больше упорства.
System.Web.Caching.Cache полезен для этого ...
API для поиска в Твиттере имеет много опций и может выполнять поиск в более широких временных диапазонах, поэтому я бы использовал это.
TweetSharp - это простой в использовании твиттер-API для .net, который упрощает множество операций:
http://tweetsharp.com/