Most xkcd comics have a transcript posted on xkcd. On the about page on xkcd this is explained under: Is there an interface for automated systems to access comics and metadata? Randall's example in general is to the transcript for comic 614, 614: Woodpecker, which can be found on this address: https://xkcd.com/614/info.0.json. Just change the number in the address to go to any other comics info. This info covers details like the comics title, the date and link to the image and the Title text. Today's comic is always displayed on this link: https://xkcd.com/info.0.json.
The transcript on these addresses is not the same as the ones written here on Explain xkcd, which also includes names only used on Explain xkcd and more details of the images as well as any text in the images, not just spoken text. Also most of the comics with Large drawings are not transcribed at all on xkcd. Sometimes Explain xkcd is even referenced by Randall for a transcript as happened after 1461: Payloads came out; see trivia for #1461.
The last transcript that can be found on xkcd by the method mentioned above is for 1608: Hoverboard: https://xkcd.com/1608/info.0.json. This is one of the large comics that doesn't have a full transcript on xkcd. After that a mistake evolved in the combination of transcripts with the other details. There are no transcript for the next two comics after Hoverboard, only the details like title, date and title text. But then after that the transcript returned, but now it was for the comic released two numbers before. So the transcript for 1609: Food Combinations, which should have been here: https://xkcd.com/1609/info.0.json, is first "released" here: https://xkcd.com/1611/info.0.json, where the transcript for 1611: Baking Soda and Vinegar should have been. So far the last comic with a transcript like this seems to be 1674: Adult, with the transcript three comics later under 1677: Contrails here: https://xkcd.com/1677/info.0.json. So it had shifted one more comic since the first error.
After this page there seems to be no more transcripts. So it is no longer of any help with the transcript.
- End of transcriptions
After 1674: Adult (whose transcript is at https://xkcd.com/1677/info.0.json , no more transcripts have been provided. This python script (public domain) can be used to quickly verify if (and where) new transcripts have been added
#!/usr/bin/env python3 import requests import sys last_known_transcript = 1677 latest = requests.get(url='https://xkcd.com/info.0.json').json()['num'] new_transcripts = False for i in range(latest, last_known_transcript, -1): sys.stderr.write('.') sys.stderr.flush() if requests.get(url='https://xkcd.com/'+str(i)+'/info.0.json').json()['transcript'] != '': print("\n", i, "has a transcript") new_transcripts = True print() if not new_transcripts: print("no new transcripts have been added")