From where are retrieving the data? An SQL Server database? I will assume the latter (since that is the environment I'm familiar with).
It is not as simple as it may sound. First of all, there must be a way to safely discern changes in the tables you are reading from. That is, there must be a rowversion column or something like a LastUpdated. rowversion is not that very common, but since such columns are maintained by the engine, they are more reliable. A LastUpdated column requires that all code that touches the row explicitly updates the column, and this includes manual updates.
There are also special feature to help you retrieve changes such Change Data Capture and Change Tracking. They can be very helpful, but they also take time to set up and learn.
Another challenge is that updates may occur when you are reading, and depending on how you retrieve your high-water marks, you may fail to get some of those updates.
Yet an issue is that if you make a partial refresh of the data, you may need to recalculate aggregations etc.
So it is not exactly a small project.