I am planning to develop a internet site using MVC4 and Web APi. Its a simple application which will display a customer information based on search.
For Search funct
There's a library called WebApiThrottle that defines a ThrottlingHandler
you can use to programmatically limit the number of requests per second/minute/hour... based on the IP or other attributes of the caller.
Another option is to act at the IIS level, and of course you can use both to have a better control.