One of my first programming jobs involved helping the boss make a twitter sharecropping service. I remember at some point after that project twitter made a big TOS/API change and crippled a wave of startups at the time. I was doing something else by then but it was a good warning to not let myself ever depend too much on sharecropping; over the years I've seen a lot of people learn that lesson the hard way.
I've used the API since then for on-off things, but the one I'm sore about now is a little Python script I've had running in a nightly cronjob for years that I've used to make local copies of images/videos from tweets I starred (now heart'd). It's a simple bit of code to get all my favorites and download any new ones. (If I recall correctly you need to get all of them, because the response doesn't necessarily give them to you in the order you liked them, so if today you like an old tweet from say 2012 you might have to paginate a while to get it in the response.) Looks like the json of all ~9800 liked tweets I build up to parse for new URLs is 1.5 MB gzipped, it's true their API returns a lot of unnecessary extra data. Currently debating with myself whether to cobble together a new script from one of the existing scrapers (gallery-dl might be easiest), or say screw it and write some Lisp code (more stable than Python) to fire up Selenium and waste more of twitter's bandwidth pretending to be a full browser.