I am currently part of a team developing an application which includes a front end client.
Through this client we send the user data, each user has a user-id and the client talks to our server through a RESTful API asking the server for data.
For example, let's say we have a database of books, and the user can get the last 3 books an author wrote. We value our users' time and we would like users to be able to start using the product without explicit registration.
We value our database, we use our own proprietary software to populate it and would like to protect it as much as we can.
So basically the question is:
What can we do to protect ourselves from web scraping?
I would very much like to learn about some techniques to protect our data, we would like to prevent users from typing every single author name in the author search panel and fetching out the top three books every author wrote.
Any suggested reading would be appreciated.
I'd just like to mention we're aware of captchas and would like to avoid them as much as possible
The main strategies for preventing this are:
Note that you can use Captchas very flexible.
For example: first book for each IP every day is non-captcha protected. But in order to access a second book, a captcha needs to be solved.