Hacker News new | ask | show | jobs
by esnard 2162 days ago
Last time I checked (2 months ago, I think), the API couldn't fetch more than the 3600 latest liked / posted tweets. Has this changed?
2 comments

Yes, the API can only get the most recent tweets but the script above can be used with the tweets.csv file provided within your downloadable Twitter Archive. You can delete tweets of any age via the API.

I had to use the archive initially to delete most of the old stuff but now I never have more than a few tweets to delete.

If you delete the first 3600 tweets, the next 3600 should now be the latest posted.
You're technically right, but the Twitter API won't return the next 3600, even after deleting the first ones. The response will be empty, even if you know for sure there's more.
Meaning the API is leaking the number of deleted tweets?

Could you make a tool to find out how many tweets someone has deleted?

No, my understanding is that Twitter has a "bucket" of the latest 3600 tweets you've posted / liked. This bucket is faster than their database to query, so once you empty the bucket, the API returns no result, and the bucket is never "refilled" from the database.

Those are not technical terms, sorry, but this is how I currently understand it so it might help you too?

Rather than “buckets”, I bet they just have a flag on each tweet in the database for whether it’s deleted. So if you delete the most recent 3600, next time they do a query to see recent tweets, it retrieves 3600, but they’re all deleted, so it filters them all out. Buckets are a little less likely implementation wise because you’d either sometimes see that the most recent bucket had very few tweets in it, or they’d have to be constantly shuffling tweets between buckets.