You could use a VPN but it’s the suckiest way on earth to do it that way.
How long does the “burst” last? … is this when exchanges open?
I think I’d consider using the $100 linode credit to get a $5/month VPS and would just leave the thing running writing to disk. ($100 you get for free will last you a year and a half for the cheapest VPS, and you get a 1TB of transfer per month which works out to 4mbps average).
You can SFTP mount the home dir from linode and tail the data file as they’re being written to (or files, if you e.g. split them hourly) as they’re being written to and ingest them locally.
You don’t need tail if you don’t care about pseudo-realtime processing, you can download to a file with a .part at the end, and change to a new file every hour. Once you close the file, rename it to remove the .part . That would indicate it’s complete for processing.
This way, you’ll even have the data recorded, so you can tweak stuff.
But if you want a more realtime-y maybe a few seconds delayed feed, just use tail to pipe the data into your app over stdin, implement “tail” in your language of choice
To get an even more real-time feed (sub 1s), you could try stuffing data into Kafka on your VPS, but implementing your own simple/slow pubsub in something like Python or Go is a piece of cake …
I wish more people would do this at least once, it’s a very useful programming exercise for distributed computing environments because you can organize servers into a tree and serve many many watchers or subscribers from a single source that wouldn’t be able to handle it otherwise.
(just don’t expose this hacky server to the internet, expose to local host, or to a Unix socket only and use ssh port forwarding if you want to develop this).
May I ask what you’re using to stream the exchange data? How does the API look like? Is it free to use? Do you have your code in some public repo?