# Google Drive link rot in research papers (dataset)

Method notes for the dataset.

By Mark Boreland. Data collected 13 October 2026. Documented at https://www.nudgehost.com/research/google-drive-link-rot

Licence: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/

Cite as: Boreland, M. (2026). Google Drive link rot in research papers (dataset) (Version 1.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.23347953

## How the study was done

We searched Europe PMC for open-access papers in PubMed Central whose full text mentions drive.google.com, and collected 2,892 papers with every Drive link in each. We kept only papers under a licence that allows commercial reuse, which Europe PMC records as CC0, CC BY, CC BY-SA or CC BY-ND, and looked those licences up at 12:20 UTC on 13 October 2026. The filter removed 779 papers: 444 under CC BY-NC-ND, 174 under CC BY-NC, 47 under CC BY-NC-SA and 114 with no licence recorded. That left 2,113 papers and 2,485 Drive links. 6 of those papers could not be read because Europe PMC returned a server error, so 2,107 were read, and 2,088 of them contain at least one Drive link.

Google Drive's robots.txt disallows 202 of the 2,485 links, all 171 in the /open form, 24 uc download links and 7 others, so we did not request them. 14 more fit neither the file nor the folder form and were not requested either. The remaining 2,269 file and folder links point to 2,207 distinct Drive items. Each item was requested once between 12:41 and 14:41 UTC on 13 October 2026, one request every 3 seconds, and dated by the earliest paper that cites it.

A link counts as working when Drive shows the item by name, or when it serves the file itself, which the check tells from the MIME type in the response. It counts as deleted when Drive says the item is not found, and as a sign-in wall when Drive sends the reader to a Google sign-in or an access request. Anything else counts as unclear and is left out of the shares. The ranges are 95% confidence intervals. The 4 links that returned a server error, and the 16 with a typesetting dash, were requested again at about 14:48 UTC.

The benchmark checked 336 Zenodo, figshare, OSF and Dryad links and Zenodo DOIs from the same papers by the same rules, between 14:50 and 17:06 UTC on 13 October 2026, with each site's robots.txt and crawl delay respected on every redirect. zenodo.org timed out often, so the run was paused and resumed, and a timeout was retried rather than counted. Every link ended with a result.

## Limits

- Each link was checked once, on one day. A link that was down that day counts as no longer open.
- A sign-in wall may hide a file that still exists. It counts as no longer open because a reader cannot reach it.
- The 202 links Google Drive's robots.txt disallows, and 14 links of no recognised form, were not requested, so the study says nothing about them.
- Only papers whose licence allows commercial reuse are included. Papers under a non-commercial licence may fare differently.
- 29 links counted as deleted have an ID length no working link has, so some may have been printed wrong. Without them, the overall share is 27.7%.
- The 2013-2018 band is the smallest, at 102 links, so its figure is the least precise.
- The Zenodo comparison covers Zenodo only, and compares different links from the same set of papers. It measures how often each kind of link fails, and says nothing about whether a given file would have survived elsewhere.

## Links that could not be judged

These links are left out of every share. The first table counts them by cause, and the second lists each one as printed, with the first answer it got.

| Cause | Links |
|---|---:|
| typesetting dash | 16 |
| truncated ID | 13 |
| glued or encoded query string | 4 |
| server error | 4 |
| other text stuck to the link | 3 |
| space | 2 |
| shared-drive ID (19 characters), flagged by the malformed-link rule | 1 |

| Cause | Band | Link as printed | First check |
|---|---|---|---|
| typesetting dash | 2021-2022 | `https://drive.google.com/drive/folders/1CinmrXQ‐KCVqbtR6YLFNVd5_VgV8XAoY?usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2023-2024 | `https://drive.google.com/drive/folders/1CoM5Rm5GBg61HrrMG1–hZEX1RBYxWk7?usp=drive_link` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2025-2026 | `https://drive.google.com/drive/folders/1RdHQ‐Af4nX_kPLQW8ZgiXaXzgm_sa5AS?usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2025-2026 | `https://drive.google.com/drive/folders/1H0JeHD8dmivw9rbsUpSU20FzT‐yjY5_‐?usp=drive_link` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2025-2026 | `https://drive.google.com/file/d/1–55JEkF9u3NGCoVZyyx2SOti7TGPL0S/view?usp=sharing` | 404, "Page not found" |
| typesetting dash | 2021-2022 | `https://drive.google.com/file/d/1Dxxzt89PmHTkV7E‐ihjeZDeh5‐I53tba/view` | 404, "Page not found" |
| typesetting dash | 2023-2024 | `https://drive.google.com/drive/u/2/folders/1OzGYlUINfdF‐Fqek9d6HquLHGzymt8kx` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2023-2024 | `https://drive.google.com/drive/folders/1HqEgzS8BV2c7xYNrZdEAnrHk7osJJ–2` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2025-2026 | `https://drive.google.com/file/d/10SPlxfjZLG1‐v48p5SYTD1zmCDd4AFp6/view?usp=sharing` | 404, "Page not found" |
| typesetting dash | 2019-2020 | `https://drive.google.com/file/d/18cdR—1s9s-LcqjvvXjCBtQ_DRmv76Wu/view?ts=5cc9ebce` | 404, "Page not found" |
| typesetting dash | 2025-2026 | `https://drive.google.com/drive/folders/1mCb_‐_89Twa6tCvWJ8YXgZJ9Rl8VQq3‐?usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2023-2024 | `https://drive.google.com/drive/folders/1wMoXu‐G9zC6CPyo‐t742XNEkHYbPnWmb?usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2021-2022 | `https://drive.google.com/file/d/1Eythcx_wj‐_eZ9JIaQtKwHyITzEKwtQ5/view?usp=sharing` | 404, "Page not found" |
| typesetting dash | 2025-2026 | `https://drive.google.com/drive/folders/1QMq9Y_BDK%E2%80%909o0TlaJL%E2%80%90fwaqQl4BbR6Ek` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2023-2024 | `https://drive.google.com/drive/folders/1‐sKIgqZGgCPj7an04XuSxy‐S8_Z6JDTu?usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| typesetting dash | 2025-2026 | `https://drive.google.com/drive/folders/1HfQTaTIaUsIdVAD‐TCnGubI‐lUdcL5Sq?usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| other text stuck to the link | 2021-2022 | `https://drive.google.com/drive/folders/1XjoWvHm2I8Y4RV_i9gEd93ZP-KryjJlm(accessed` | 400, "Error 400 (Bad request)!!1" |
| other text stuck to the link | 2023-2024 | `https://drive.google.com/drive/folders/1FpcQA66pEg0XR8y5uEzWU:REPpqSAPD` | 400, "Error 400 (Bad request)!!1" |
| other text stuck to the link | 2025-2026 | `https://drive.google.com/file/d/1JiiB0_5w1p7JIEcEU8MZDE9-e.g.,5NboJ1/view?usp=sharing` | 404, "Page not found" |
| space | 2023-2024 | `https://drive.google.com/drive/folders/1DB6UqdoonyNovjC-1XUPAxaFbaiI%20VP92?usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| space | 2023-2024 | `https://drive.google.com/file/d/1EjqsiFvT4acuSmv%20FkfWuSRZ2DIfdYvjJ/view?usp=sharing` | 404, "Page not found" |
| truncated ID | 2023-2024 | `https://drive.google.com/drive/folders/16bRX1` | 404, "Error 404 (Not found)!!1" |
| truncated ID | 2025-2026 | `https://drive.google.com/file/d/1` | 404, "Page not found" |
| truncated ID | 2021-2022 | `https://drive.google.com/drive/folders/1AY-ro3HID9no` | 404, "Error 404 (Not found)!!1" |
| truncated ID | 2023-2024 | `https://drive.google.com/drive/folders/1uZPi_e1T4_` | 404, "Error 404 (Not found)!!1" |
| truncated ID | 2021-2022 | `https://drive.google.com/drive/folders/1casDU91KCqFa8M` | 404, "Error 404 (Not found)!!1" |
| truncated ID | 2023-2024 | `https://drive.google.com/file/d/10bjMWcTHo` | 404, "Page not found" |
| truncated ID | 2025-2026 | `https://drive.google.com/drive/folders/1` | 404, "Error 404 (Not found)!!1" |
| truncated ID | 2023-2024 | `https://drive.google.com/file/d/1yd1gwk2o` | 404, "Page not found" |
| truncated ID | 2025-2026 | `https://drive.google.com/file/d/10pmEeWETa6QBq53` | 404, "Page not found" |
| truncated ID | 2023-2024 | `https://drive.google.com/file/d/1jFB_FOL8yj` | 404, "Page not found" |
| truncated ID | 2025-2026 | `https://drive.google.com/file/d/1ogyQ1rS8ed` | 404, "Page not found" |
| truncated ID | 2025-2026 | `https://drive.google.com/drive/u/2/folders/` | 404, "Error 404 (Not found)!!1" |
| truncated ID | 2019-2020 | `https://drive.google.com/drive/folders/12uRcwskYElRlXr4j_` | 404, "Error 404 (Not found)!!1" |
| glued or encoded query string | 2013-2018 | `https://drive.google.com/folderview?id=0B7Kkv8wlhPU-T05wTTNodWNydjA707usp=sharing` | 400, "Error 400 (Bad request)!!1" |
| glued or encoded query string | 2019-2020 | `https://drive.google.com/drive/folders/1U-uakDRkq5M9kujmqpGy%2D%2DRmQItRSPO5?usp=sharing` | 200, "Dataset of PNNJ, Tan HS et al. – Google Drive" |
| glued or encoded query string | 2023-2024 | `https://drive.google.com/drive/folders/1wKnY4L4iAjBdTMcJBewYNqCgUQ15DXmYusp=sharing` | 400, "Error 400 (Bad request)!!1" |
| glued or encoded query string | 2019-2020 | `https://drive.google.com/drive/folders/1d8tgRhQhhVhnGPWkBBtVfbbew-tDL6Dl%3fusp%3dsharing` | 400, "Error 400 (Bad request)!!1" |
| server error | 2023-2024 | `https://drive.google.com/file/d/1qwGbPvxhXJIC_bSmoB33Ala26LeN69BJ/view?usp=sharing` | 500, "Error" |
| server error | 2019-2020 | `https://drive.google.com/file/d/16Vz5Rg800Tb9V0K4QkmUw8o1L9d6snec/view?usp=sharing` | 500, "Error" |
| server error | 2025-2026 | `https://drive.google.com/file/d/1bNjTvLGu5MCPCYuMkn6BiDskQ37tBaPp/view?usp=sharing` | 500, "Error" |
| server error | 2023-2024 | `https://drive.google.com/file/d/1NKkSQ5T0ZNQ8aUhh0a8Dt2YKYCQXIViw/view` | 500, "Error" |
| shared-drive ID (19 characters), flagged by the malformed-link rule | 2021-2022 | `https://drive.google.com/drive/u/6/folders/0AIVtKo7r0hTqUk9PVA` | 302, no title |

## The recheck

The 4 links that returned a server error were requested again as printed, and the 16 with a typesetting dash were requested once with each dash replaced by a plain hyphen. These results do not change the shares.

| Group | Requested | ID length | Result | Evidence |
|---|---|---:|---|---|
| server error | `https://drive.google.com/file/d/1qwGbPvxhXJIC_bSmoB33Ala26LeN69BJ/view?usp=sharing` | 33 | deleted | HTTP 404, title "Page not found" |
| server error | `https://drive.google.com/file/d/16Vz5Rg800Tb9V0K4QkmUw8o1L9d6snec/view?usp=sharing` | 33 | working | HTTP 200, title names the item ("VideoDetection.avi - Google Drive") |
| server error | `https://drive.google.com/file/d/1bNjTvLGu5MCPCYuMkn6BiDskQ37tBaPp/view?usp=sharing` | 33 | deleted | HTTP 404, title "Page not found" |
| server error | `https://drive.google.com/file/d/1NKkSQ5T0ZNQ8aUhh0a8Dt2YKYCQXIViw/view` | 33 | working | HTTP 200, title names the item ("MoNuSegTestData.zip - Google Drive") |
| dash | `https://drive.google.com/drive/folders/1CinmrXQ-KCVqbtR6YLFNVd5_VgV8XAoY?usp=sharing` | 45 | working | HTTP 200, title names the item ("CONSENSUS – Google Drive") |
| dash | `https://drive.google.com/drive/folders/1CoM5Rm5GBg61HrrMG1-hZEX1RBYxWk7?usp=drive_link` | 47 | deleted | HTTP 404, title "Error 404 (Not found)!!1" |
| dash | `https://drive.google.com/drive/folders/1RdHQ-Af4nX_kPLQW8ZgiXaXzgm_sa5AS?usp=sharing` | 45 | working | HTTP 200, title names the item ("2022_MichaelKimaro_LandUseInterviews – Google Drive") |
| dash | `https://drive.google.com/drive/folders/1H0JeHD8dmivw9rbsUpSU20FzT-yjY5_-?usp=drive_link` | 48 | permission wall | HTTP 302 redirect to Google sign-in (https://accounts.google.com/ServiceLogin) |
| dash | `https://drive.google.com/file/d/1-55JEkF9u3NGCoVZyyx2SOti7TGPL0S/view?usp=sharing` | 32 | deleted | HTTP 404, title "Page not found" |
| dash | `https://drive.google.com/file/d/1Dxxzt89PmHTkV7E-ihjeZDeh5-I53tba/view` | 33 | deleted | HTTP 404, title "Page not found" |
| dash | `https://drive.google.com/drive/u/2/folders/1OzGYlUINfdF-Fqek9d6HquLHGzymt8kx` | 33 | permission wall | HTTP 302 redirect to Google sign-in (https://accounts.google.com/ServiceLogin) |
| dash | `https://drive.google.com/drive/folders/1HqEgzS8BV2c7xYNrZdEAnrHk7osJJ-2` | 32 | deleted | HTTP 404, title "Error 404 (Not found)!!1" |
| dash | `https://drive.google.com/file/d/10SPlxfjZLG1-v48p5SYTD1zmCDd4AFp6/view?usp=sharing` | 33 | working | HTTP 200, title names the item ("sicilia_10m_tinitalyDEM32632.tif - Google Drive") |
| dash | `https://drive.google.com/file/d/18cdR-1s9s-LcqjvvXjCBtQ_DRmv76Wu/view?ts=5cc9ebce` | 32 | deleted | HTTP 400, title "Page not found" |
| dash | `https://drive.google.com/drive/folders/1mCb_-_89Twa6tCvWJ8YXgZJ9Rl8VQq3-?usp=sharing` | 45 | working | HTTP 200, title names the item ("Bird Data – Google Drive") |
| dash | `https://drive.google.com/drive/folders/1wMoXu-G9zC6CPyo-t742XNEkHYbPnWmb?usp=sharing` | 45 | working | HTTP 200, title names the item ("DatasetCode – Google Drive") |
| dash | `https://drive.google.com/file/d/1Eythcx_wj-_eZ9JIaQtKwHyITzEKwtQ5/view?usp=sharing` | 33 | working | HTTP 200, title names the item ("result_save.zip - Google Drive") |
| dash | `https://drive.google.com/drive/folders/1QMq9Y_BDK-9o0TlaJL-fwaqQl4BbR6Ek` | 33 | working | HTTP 200, title names the item ("summary_statistics – Google Drive") |
| dash | `https://drive.google.com/drive/folders/1-sKIgqZGgCPj7an04XuSxy-S8_Z6JDTu?usp=sharing` | 45 | working | HTTP 200, title names the item ("GR_Supplementary_Material – Google Drive") |
| dash | `https://drive.google.com/drive/folders/1HfQTaTIaUsIdVAD-TCnGubI-lUdcL5Sq?usp=sharing` | 45 | working | HTTP 200, title names the item ("Reproductive behavior of foals – Google Drive") |

## The benchmark

The benchmark checked Zenodo, figshare, OSF and Dryad links and Zenodo DOIs from the same papers by the same rules. A link counts as resolving when it reaches the record's page, or the file itself, with HTTP 200. A timeout is not a result, so a link that only timed out is marked for a recheck and left out of every share.

Why only Zenodo has a figure:

- **figshare.** All 51 links were not requested. figshare.com, plos.figshare.com and ices-library.figshare.com answer robots.txt with HTTP 202 and an empty bot-challenge body, and bench.js treats an unreadable robots.txt as disallow all (RFC 9309).
- **OSF.** 9 links carry `?view_only=` keys, which osf.io's robots.txt disallows. The other 20 returned 200 with the same script shell titled "OSF", which does not show whether the project still exists, so they are unclear.
- **Dryad.** 5 links. 2 point at Dryad's own submission pages, 1 is a `/stash/share` link disallowed by robots.txt, and 2 are dataset pages that returned 200 with the dataset's title but matched bench.js's challenge text test. The page bodies were not saved, so the match cannot be checked. Both are left out.
- **Zenodo badge links.** 2 links are `zenodo.org/badge/latestdoi/...` badges. They redirect to a record, but they are not record links as printed, so they are left out.
