[{"data":1,"prerenderedAt":695},["ShallowReactive",2],{"navigation_docs":3,"-guide-content":88,"-guide-content-surround":690},[4,40],{"title":5,"path":6,"stem":7,"children":8,"icon":39},"Guide","\u002Fguide","1.guide\u002F1.index",[9,11,15,19,23,27,31,35],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Listing Captures","\u002Fguide\u002Fsnapshots","1.guide\u002F2.snapshots",{"title":16,"path":17,"stem":18},"Reading Captures","\u002Fguide\u002Fcontent","1.guide\u002F3.content",{"title":20,"path":21,"stem":22},"Comparing Versions","\u002Fguide\u002Fdiff","1.guide\u002F4.diff",{"title":24,"path":25,"stem":26},"Configuration","\u002Fguide\u002Fconfiguration","1.guide\u002F5.configuration",{"title":28,"path":29,"stem":30},"Agents","\u002Fguide\u002Fagents","1.guide\u002F6.agents",{"title":32,"path":33,"stem":34},"Custom Providers","\u002Fguide\u002Fcustom","1.guide\u002F7.custom",{"title":36,"path":37,"stem":38},"Explorer","\u002Fguide\u002Fexplorer","1.guide\u002F8.explorer","i-lucide-book-open",{"title":41,"path":42,"stem":43,"children":44,"icon":87},"Providers","\u002Fproviders","2.providers\u002F0.index",[45,47,51,55,59,63,67,71,75,79,83],{"title":46,"path":42,"stem":43},"Overview",{"title":48,"path":49,"stem":50},"Wayback Machine","\u002Fproviders\u002Fwayback","2.providers\u002F01.wayback",{"title":52,"path":53,"stem":54},"Arquivo.pt","\u002Fproviders\u002Farquivo","2.providers\u002F02.arquivo",{"title":56,"path":57,"stem":58},"Webarchiv Österreich","\u002Fproviders\u002Fwebarchiv","2.providers\u002F03.webarchiv",{"title":60,"path":61,"stem":62},"Archive.today","\u002Fproviders\u002Farchive-today","2.providers\u002F04.archive-today",{"title":64,"path":65,"stem":66},"Common Crawl","\u002Fproviders\u002Fcommoncrawl","2.providers\u002F05.commoncrawl",{"title":68,"path":69,"stem":70},"WebCite","\u002Fproviders\u002Fwebcite","2.providers\u002F06.webcite",{"title":72,"path":73,"stem":74},"Memento","\u002Fproviders\u002Fmemento","2.providers\u002F07.memento",{"title":76,"path":77,"stem":78},"Archive-It","\u002Fproviders\u002Farchive-it","2.providers\u002F08.archive-it",{"title":80,"path":81,"stem":82},"Conifer","\u002Fproviders\u002Fconifer","2.providers\u002F09.conifer",{"title":84,"path":85,"stem":86},"Perma.cc","\u002Fproviders\u002Fpermacc","2.providers\u002F10.permacc","i-lucide-library",{"id":89,"title":16,"body":90,"description":683,"extension":684,"links":685,"meta":686,"navigation":224,"path":17,"seo":688,"stem":18,"__hash__":689},"docs\u002F1.guide\u002F3.content.md",{"type":91,"value":92,"toc":676},"minimark",[93,98,302,314,318,338,354,358,512,530,544,548,641,653,657,672],[94,95,97],"h2",{"id":96},"the-call","The call",[99,100,105],"pre",{"className":101,"code":102,"language":103,"meta":104,"style":104},"language-ts shiki shiki-themes vitesse-light vitesse-light vesper","const response = await archive.content(\"https:\u002F\u002Fexample.com\", { timestamp: \"2002\" });\nconst capture = await archive.getContent(\"https:\u002F\u002Fexample.com\", { timestamp: \"2002\" });\n\ncapture.timestamp; \u002F\u002F \"2002-11-29T05:43:48Z\"\ncapture.snapshot; \u002F\u002F \"https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20021129054348\u002Fhttp:\u002F\u002Fwww.example.com:80\u002F\"\ncapture.mime; \u002F\u002F \"text\u002Fhtml\"\ncapture.bytes; \u002F\u002F 339\ncapture.content; \u002F\u002F the decoded body\n","ts","",[106,107,108,176,219,226,243,258,273,288],"code",{"__ignoreMap":104},[109,110,113,117,121,125,129,132,136,140,143,147,151,153,156,159,163,166,168,171,173],"span",{"class":111,"line":112},"line",1,[109,114,116],{"class":115},"s8Cdk","const",[109,118,120],{"class":119},"sA8fy"," response",[109,122,124],{"class":123},"sUeik"," =",[109,126,128],{"class":127},"sB1ot"," await",[109,130,131],{"class":119}," archive",[109,133,135],{"class":134},"sldxI",".",[109,137,139],{"class":138},"shFES","content",[109,141,142],{"class":134},"(",[109,144,146],{"class":145},"sbwUx","\"",[109,148,150],{"class":149},"sHyde","https:\u002F\u002Fexample.com",[109,152,146],{"class":145},[109,154,155],{"class":134},",",[109,157,158],{"class":134}," { ",[109,160,162],{"class":161},"sYv7f","timestamp",[109,164,165],{"class":134},": ",[109,167,146],{"class":145},[109,169,170],{"class":149},"2002",[109,172,146],{"class":145},[109,174,175],{"class":134}," });\n",[109,177,179,181,184,186,188,190,192,195,197,199,201,203,205,207,209,211,213,215,217],{"class":111,"line":178},2,[109,180,116],{"class":115},[109,182,183],{"class":119}," capture",[109,185,124],{"class":123},[109,187,128],{"class":127},[109,189,131],{"class":119},[109,191,135],{"class":134},[109,193,194],{"class":138},"getContent",[109,196,142],{"class":134},[109,198,146],{"class":145},[109,200,150],{"class":149},[109,202,146],{"class":145},[109,204,155],{"class":134},[109,206,158],{"class":134},[109,208,162],{"class":161},[109,210,165],{"class":134},[109,212,146],{"class":145},[109,214,170],{"class":149},[109,216,146],{"class":145},[109,218,175],{"class":134},[109,220,222],{"class":111,"line":221},3,[109,223,225],{"emptyLinePlaceholder":224},true,"\n",[109,227,229,232,234,236,239],{"class":111,"line":228},4,[109,230,231],{"class":119},"capture",[109,233,135],{"class":134},[109,235,162],{"class":119},[109,237,238],{"class":134},";",[109,240,242],{"class":241},"szOLe"," \u002F\u002F \"2002-11-29T05:43:48Z\"\n",[109,244,246,248,250,253,255],{"class":111,"line":245},5,[109,247,231],{"class":119},[109,249,135],{"class":134},[109,251,252],{"class":119},"snapshot",[109,254,238],{"class":134},[109,256,257],{"class":241}," \u002F\u002F \"https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20021129054348\u002Fhttp:\u002F\u002Fwww.example.com:80\u002F\"\n",[109,259,261,263,265,268,270],{"class":111,"line":260},6,[109,262,231],{"class":119},[109,264,135],{"class":134},[109,266,267],{"class":119},"mime",[109,269,238],{"class":134},[109,271,272],{"class":241}," \u002F\u002F \"text\u002Fhtml\"\n",[109,274,276,278,280,283,285],{"class":111,"line":275},7,[109,277,231],{"class":119},[109,279,135],{"class":134},[109,281,282],{"class":119},"bytes",[109,284,238],{"class":134},[109,286,287],{"class":241}," \u002F\u002F 339\n",[109,289,291,293,295,297,299],{"class":111,"line":290},8,[109,292,231],{"class":119},[109,294,135],{"class":134},[109,296,139],{"class":119},[109,298,238],{"class":134},[109,300,301],{"class":241}," \u002F\u002F the decoded body\n",[303,304,305,306,309,310,313],"p",{},"Reading is a separate operation from listing on purpose. Every provider lists through some CDX like index, but bodies come from an endpoint of the provider's own, and the only rule they share is that it must not return the archive's own UI. Wayback, Archive-It and Webarchiv Österreich replay the original response under the ",[106,307,308],{},"id_"," modifier, Arquivo.pt under ",[106,311,312],{},"noFrame\u002Freplay",", Common Crawl serves a byte range of a WARC file.",[94,315,317],{"id":316},"picking-the-capture","Picking the capture",[303,319,320,322,323,326,327,330,331,334,335,337],{},[106,321,162],{}," is a Wayback stamp (",[106,324,325],{},"YYYY"," through ",[106,328,329],{},"YYYYMMDDhhmmss",") or an ISO date. The provider answers with the newest capture at or before it, or, when it holds nothing that old, the closest capture after it. So the body can postdate the request, and ",[106,332,333],{},"capture.timestamp"," is the date you should quote, not the one you asked for. Without ",[106,336,162],{}," you get the newest capture.",[303,339,340,341,343,344,349,350,353],{},"A snapshot URL works as the target too: pass the ",[106,342,252],{}," of a listed page and the provider reads that capture. The ",[345,346,348],"a",{"href":347},"\u002Ftimeline","explorer"," reads by the original URL and the archive's own stamp instead, which lands on the same capture and does not trip over the ",[106,351,352],{},":80"," old originals carry.",[94,355,357],{"id":356},"what-comes-back","What comes back",[99,359,361],{"className":101,"code":360,"language":103,"meta":104,"style":104},"interface ArchivedContent {\n  url: string; \u002F\u002F original URL, as the archive recorded it\n  timestamp: string; \u002F\u002F ISO 8601 date of the capture actually returned\n  snapshot: string; \u002F\u002F playback URL the body was read from\n  content: string; \u002F\u002F decoded body, as text\n  mime?: string; \u002F\u002F content type the archive reports\n  bytes: number; \u002F\u002F bytes read, after any cap\n  truncated: boolean; \u002F\u002F the body was cut off at maxBytes\n  _meta: Record\u003Cstring, unknown>;\n}\n",[106,362,363,375,391,405,419,433,450,465,480,506],{"__ignoreMap":104},[109,364,365,368,372],{"class":111,"line":112},[109,366,367],{"class":115},"interface",[109,369,371],{"class":370},"s0_b1"," ArchivedContent",[109,373,374],{"class":134}," {\n",[109,376,377,380,383,386,388],{"class":111,"line":178},[109,378,379],{"class":119},"  url",[109,381,382],{"class":123},":",[109,384,385],{"class":370}," string",[109,387,238],{"class":134},[109,389,390],{"class":241}," \u002F\u002F original URL, as the archive recorded it\n",[109,392,393,396,398,400,402],{"class":111,"line":221},[109,394,395],{"class":119},"  timestamp",[109,397,382],{"class":123},[109,399,385],{"class":370},[109,401,238],{"class":134},[109,403,404],{"class":241}," \u002F\u002F ISO 8601 date of the capture actually returned\n",[109,406,407,410,412,414,416],{"class":111,"line":228},[109,408,409],{"class":119},"  snapshot",[109,411,382],{"class":123},[109,413,385],{"class":370},[109,415,238],{"class":134},[109,417,418],{"class":241}," \u002F\u002F playback URL the body was read from\n",[109,420,421,424,426,428,430],{"class":111,"line":245},[109,422,423],{"class":119},"  content",[109,425,382],{"class":123},[109,427,385],{"class":370},[109,429,238],{"class":134},[109,431,432],{"class":241}," \u002F\u002F decoded body, as text\n",[109,434,435,438,441,443,445,447],{"class":111,"line":260},[109,436,437],{"class":119},"  mime",[109,439,440],{"class":115},"?",[109,442,382],{"class":123},[109,444,385],{"class":370},[109,446,238],{"class":134},[109,448,449],{"class":241}," \u002F\u002F content type the archive reports\n",[109,451,452,455,457,460,462],{"class":111,"line":275},[109,453,454],{"class":119},"  bytes",[109,456,382],{"class":123},[109,458,459],{"class":370}," number",[109,461,238],{"class":134},[109,463,464],{"class":241}," \u002F\u002F bytes read, after any cap\n",[109,466,467,470,472,475,477],{"class":111,"line":290},[109,468,469],{"class":119},"  truncated",[109,471,382],{"class":123},[109,473,474],{"class":370}," boolean",[109,476,238],{"class":134},[109,478,479],{"class":241}," \u002F\u002F the body was cut off at maxBytes\n",[109,481,483,486,488,491,494,497,500,503],{"class":111,"line":482},9,[109,484,485],{"class":119},"  _meta",[109,487,382],{"class":123},[109,489,490],{"class":370}," Record",[109,492,493],{"class":134},"\u003C",[109,495,496],{"class":370},"string",[109,498,499],{"class":134},", ",[109,501,502],{"class":370},"unknown",[109,504,505],{"class":134},">;\n",[109,507,509],{"class":111,"line":508},10,[109,510,511],{"class":134},"}\n",[303,513,514,515,518,519,499,522,525,526,529],{},"The body is text. Transfer encodings, content encodings and the charset are handled before you see it. A capture that is not text decodes lossily; the bytes stay where they are and ",[106,516,517],{},"_meta.rawSnapshot",", or the WARC ",[106,520,521],{},"filename",[106,523,524],{},"offset"," and ",[106,527,528],{},"length"," for Common Crawl, say where. Reading pages is what this operation is for.",[303,531,532,535,536,539,540,543],{},[106,533,534],{},"maxBytes"," caps the read at 2 MiB by default. A capped body sets ",[106,537,538],{},"truncated: true",", which the diff helper carries forward as ",[106,541,542],{},"partial",", so a missing sentence in a truncated capture is never reported as a removal.",[94,545,547],{"id":546},"who-can-serve-a-body","Who can serve a body",[549,550,551,564],"table",{},[552,553,554],"thead",{},[555,556,557,561],"tr",{},[558,559,560],"th",{},"Provider",[558,562,563],{},"Body",[565,566,567,578,586,595,604,611,618,625],"tbody",{},[555,568,569,572],{},[570,571,48],"td",{},[570,573,574,575,577],{},"original response, ",[106,576,308],{}," replay",[555,579,580,582],{},[570,581,52],{},[570,583,574,584],{},[106,585,312],{},[555,587,588,590],{},[570,589,56],{},[570,591,574,592,594],{},[106,593,308],{}," replay, one exact URL",[555,596,597,599],{},[570,598,76],{},[570,600,574,601,603],{},[106,602,308],{}," replay inside the collection",[555,605,606,608],{},[570,607,64],{},[570,609,610],{},"HTTP response from the WARC byte range",[555,612,613,615],{},[570,614,72],{},[570,616,617],{},"the selected TimeMap URI, MemGator proxy as fallback",[555,619,620,622],{},[570,621,60],{},[570,623,624],{},"its rendered wrapper page, not the original bytes",[555,626,627,630],{},[570,628,629],{},"Conifer, Perma.cc, WebCite",[570,631,632,633,636,637,640],{},"none; ",[106,634,635],{},"content()"," answers ",[106,638,639],{},"unsupported"," with the reason",[303,642,643,644,499,647,649,650,135],{},"With ",[106,645,646],{},"providers.all()",[106,648,635],{}," tries Wayback, Arquivo.pt, Webarchiv Österreich, Archive.today and Common Crawl in order and returns the first body. It reports which provider served it in ",[106,651,652],{},"_meta.provider",[94,654,656],{"id":655},"text-versus-markup","Text versus markup",[303,658,659,660,663,664,667,668,671],{},"The library returns the decoded body as it was served. The agent tools add a rendering step: ",[106,661,662],{},"format=text"," strips markup from an HTML capture and returns what a reader would see, ",[106,665,666],{},"format=raw"," keeps the source. The docs explorer exposes both, and the ",[345,669,670],{"href":21},"diff"," accepts either.",[673,674,675],"style",{},"html pre.shiki code .s8Cdk, html code.shiki .s8Cdk{--shiki-light:#AB5959;--shiki-default:#AB5959;--shiki-dark:#A0A0A0}html pre.shiki code .sA8fy, html code.shiki .sA8fy{--shiki-light:#B07D48;--shiki-default:#B07D48;--shiki-dark:#FFF}html pre.shiki code .sUeik, html code.shiki .sUeik{--shiki-light:#999999;--shiki-default:#999999;--shiki-dark:#A0A0A0}html pre.shiki code .sB1ot, html code.shiki .sB1ot{--shiki-light:#1E754F;--shiki-default:#1E754F;--shiki-dark:#A0A0A0}html pre.shiki code .sldxI, html code.shiki .sldxI{--shiki-light:#999999;--shiki-default:#999999;--shiki-dark:#FFF}html pre.shiki code .shFES, html code.shiki .shFES{--shiki-light:#59873A;--shiki-default:#59873A;--shiki-dark:#FFC799}html pre.shiki code .sbwUx, html code.shiki .sbwUx{--shiki-light:#B5695977;--shiki-default:#B5695977;--shiki-dark:#99FFE4}html pre.shiki code .sHyde, html code.shiki .sHyde{--shiki-light:#B56959;--shiki-default:#B56959;--shiki-dark:#99FFE4}html pre.shiki code .sYv7f, html code.shiki .sYv7f{--shiki-light:#998418;--shiki-default:#998418;--shiki-dark:#FFF}html pre.shiki code .szOLe, html code.shiki .szOLe{--shiki-light:#A0ADA0;--shiki-default:#A0ADA0;--shiki-dark:#8B8B8B94}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s0_b1, html code.shiki .s0_b1{--shiki-light:#2E8F82;--shiki-default:#2E8F82;--shiki-dark:#FFC799}",{"title":104,"searchDepth":178,"depth":178,"links":677},[678,679,680,681,682],{"id":96,"depth":178,"text":97},{"id":316,"depth":178,"text":317},{"id":356,"depth":178,"text":357},{"id":546,"depth":178,"text":547},{"id":655,"depth":178,"text":656},"How a timestamp becomes a capture, what comes back, and which archives can serve a body at all.","md",null,{"icon":687},"i-lucide-file-text",{"title":16,"description":683},"EkFUZrhDXU5PKHqiDz5t0QwTrhYDWJm1aGP4QBbW4Fc",[691,693],{"title":12,"path":13,"stem":14,"description":692,"children":-1},"Windows, limits, asking every archive at once, and what a provider says when it cannot answer.",{"title":20,"path":21,"stem":22,"description":694,"children":-1},"A bounded line diff between two captures that keeps provenance and never overstates an absence.",1788446777799]