First mention of filtering there, so wasn't aware it was a requirement. If it is then crack on with a Pages DB - you then have to figure out how to keep that data up to date, and when to do it. Alternatively, look at IPS\Helpers\Table\Custom to allow you to create an table based on an array datasource instead of a DB table.
With all this in mind, I'd now advise you to look into developing an application to do all this instead...
You can design your own table to store the data
You can create a module/controller that will display that data, and add filtering on there easily.
You can create a task that runs on a schedule to retrieve/store/update the data.
Not much more to add really - if I knew what this mysterious API was, and where it was getting the data from, and what the data looked like then I might even get bored and throw together a POC of it.