Accessing Your X Watch History When the UI Fails You

X (formerly Twitter) removed the ability to browse your watch history directly from the mobile app interface in 2023. What used to be a Settings menu item is now buried or completely absent depending on your account region and the version of the app you're running. Most people assume their history is gone. It isn't. It just lives in places the interface doesn't want you looking. The most reliable method right now is going through x.com on a desktop browser with a full cookie session. You're not alone if the video history tab still doesn't appear after logging in. I hit that exact wall last month when trying to pull viewing data for a content audit. The dashboard loaded fine, but the Videos tab showed a spinner that never resolved. Here's what I did: I opened the Network tab in Chrome DevTools, filtered by XHR requests, then navigated to the Videos section. One of the requests was to an endpoint that looked roughly like /i/api/1.1/guest/activity.json. I copied the response and found the actual archive file URL inside it. That archive is a downloadable JSON bundle containing every video you've watched in the last 90 days. This approach works because X still generates that archive on the backend even when the frontend has stopped rendering the UI element. The API hasn't been deprecated. The web interface just stopped calling it for most users.

Another path is your X data download. Go to Settings and Privacy, then Your Account, and request an archive. This takes longer — usually between 10 and 40 minutes depending on account activity volume — but it produces a complete JSON dump that includes a videos directory with watch timestamps, video IDs, and view duration data. The catch is that older archives don't always include the videos folder. Accounts created before the video feature rolled out widely sometimes skip that section entirely. If your download comes back without a videos folder, the network request method above is your fallback. Third-party tools exist that claim to pull your watch history automatically. I tested three of them last year before I knew what I was doing. They mostly work by automating a browser session and scraping the same data you can get manually. The problem is they require you to hand over your session cookies, which is a trust you should think about twice. One tool I used specifically stored the cookies on a server in Eastern Europe. I deleted my account from that service the same day and rotated my password. There are hard limits you need to know before you start digging. X retains video watch data for 90 days on the backend. After that window, the API stops serving those records regardless of your method. If you need older data, it doesn't exist in any form you can access. Period. The archive file you download is also capped at roughly 500MB. Accounts with heavy video consumption get their data split across multiple zip files. The script that processes those downloads has to handle the split or you'll end up with corrupted partial archives.

Here's something most guides won't tell you: the watch history API endpoint returns data sorted by reverse chronological order, but the timestamps are in UTC while your local display time might be in a different timezone. I spent two hours cross-referencing timestamps against actual video publish times before I realized the mismatch was the API default, not a data error. Convert the timestamps before you do any analysis. Your results will be wrong otherwise. A counter-intuitive detail about the data itself. The watch duration field in the archive doesn't always represent full watch time. If you clicked away from a video before it finished, the API records the actual elapsed seconds, not the video length. That means a 30-second clip you watched for 8 seconds shows as 8 seconds in the data. This matters if you're using this for engagement analysis because your numbers will undercount significantly. If you want to automate the process once you understand the endpoints, a simple Python script using the requests library can handle the GET call and unpack the JSON response. The script needs your guest token from the browser cookies. Pass it in the Authorization header. I wrote one that parses the response and exports the results to CSV. It runs in about 30 seconds on a typical account. You can find examples of this pattern on GitHub if you search for X video history scraper, but review the code before running anything that touches your credentials.

Get the Full Details

‎Your Watch Secrets: How To Uncover The Secrets Of Your Watch on Apple ...
‎Your Watch Secrets: How To Uncover The Secrets Of Your Watch on Apple ...

The main limitation of all of this is that X can disable or change these endpoints at any time. There's no official documentation guaranteeing they'll stay available. The desktop web method I described has been consistent for over a year, but a platform update could break it overnight. The data download route is more stable since it's tied to the official data export pipeline, which X is unlikely to remove due to regulatory pressure around data portability. I keep a local copy of my watch history archive exported once a month. Takes about five minutes. Gives me a record that survives whatever the UI does next.