Your consumer can query the API on its own, and download 5 subtitles per IP's per 24 hours, but a user must be authenticated to download more. Users will then be able to download as many subtitles as their ranks allows, from 10 as simple signed up user, to 1000 for VIP user.
I think it's reasonable move. They have Legacy API that cost them a lot of manhours to maitain and they decided to cut on costs and replace it with a new thing. Sadly they decresed amount of api calls from 20 to 5 [needs citation]
I think they don't have good PR guy to better communicate the change
The overhead isn't the storage but the request. Processing a request takes CPU time, which can get expensive when people setup a media server and request subtitles for dozens of movies and shows. Every episode of a TV show is a separate request and that can add up fast when you scale it to thousands of users.
If they're storing them in something like Amazon s3, there is a cost (extremely low, but not free) associated with retrieving data regardless of size.
Even if they were an entirely free service, it'd make sense to put hard rate limits on unauthenticated users and more generous rate limits on authenticated ones.
Leaving out rate limits is a good way to discover that you have users who will use your API real dumb.
Their pricing model seems fucked, but that's aside from the rate limits.
Yeah this is absolutely not an insignificant fee. Especially if they have millions of requests... There be plenty of caching solutions to save on this though, especially since they wouldn't change often.
Oh, I'm pretty sure it's close to trivial. $0.0004 per thousand requests is $400 per billion, or $0.40 per million.
That's as close to insignificant as you can get and still pay attention to. Caching solutions are probably going to end up costing you more in the long run. An HA setup that can handle a billion requests a year is going to cost you at least $100 a month, and still provide less availability than s3.
You don't want unmetered access, but their pricing is unlikely to be based on access rates, and more likely on salary costs and other infrastructure costs, like indexing and search.
Agreed, they could have done this much more gracefully. Same as the reddit API. Average user? Who cares. Sending millions of requests? Okay we're going to clamp down pretty hard on you
If it's all text, it'd compress quite well, especially since there's likely lots of repeated words. Not to 5kb of course, but I wouldn't be surprised if it had at least a 3x compression ratio with zstd.
Subtitle are like 1h worth of content, why even download more than 10 a day?
They could make it 20 and it wouldn't change much I guess, 10 does seem a bit low, but if they make it 1000/day (which you could argue is "no heavier than one JPEG") they'll have Kodi addons or whatever attempting to auto-download an entire library's worth of subtitles. It's not about the throughput, it's about the processing time of establishing connections, negotiating cyphers, processing a request, hitting a search indexer, etc. All those small costs add up if every day you have thousands of users downloading hundreds of file without giving anything back.
If a server costs X and the amount of free users is Y and VIP is Z then you'd need to create an equilibrium where you can make more money to sustain the infrastructure and have enough in case it goes belly up.
Aka: If 10k users are free, and the income from VIP or ads is Z then you have to limit the capabilities of the free users to sustain the platform which in turn can stay (to some anount) free because the VIPs pay for it.
Means: Limit API calls.