1. An apparatus, comprising: a processing device; and a memory coupled to the processing device comprising instructions executable by the processing device, the processing device configured when executing the instructions to: determine a Uniform Resource Locator (URL) that points to a resource that is not available via the URL; send a request for search query data to a link archive in a first database, the request including the URL of the unavailable resource, wherein the link archive was populated at a first time with URLs and titles existing at the first time; receive, from the link archive, search query data responsive to the request for the search query data, wherein the search query data includes metadata including a title of the resource, wherein the title of the resource is separate from the URL; send a request to search a second database for a substitute URL based on the search query data including the title of the resource, wherein the second database was populated at a second time with URLs and titles existing at the second time; and receive the substitute URL responsive to the request for the substitute URL, wherein a resource of the substitute is different than the unavailable resource.