wikidot.croquembouche.net — CORS + caching proxy for Wikidot Browser JavaScript can't normally read pages from Wikidot — the browser blocks it (a rule called CORS). This proxy fetches the page for you, adds the missing permission, and caches the result so Wikidot isn't overloaded. Works for any *.wikidot.com or *.wdfiles.com address. How: put the Wikidot address, encoded, on the end of this one: https://wikidot.croquembouche.net/?url=THE_ENCODED_ADDRESS Copy-paste — fetch a page's HTML: const target = "https://scp-wiki.wikidot.com/scp-173"; const proxied = "https://wikidot.croquembouche.net/?url=" + encodeURIComponent(target); const response = await fetch(proxied); const html = await response.text(); // use .blob() for images/files By default the proxy reuses a cached copy for up to an hour. To force a fresh copy, add one line: await fetch(proxied, { headers: { "X-Proxy-Cache": "no-cache" } }); To only ever use cached copies and never disturb Wikidot (good for polling): await fetch(proxied, { headers: { "X-Proxy-Cache": "only-if-cached" } }); Please be kind to Wikidot: use the cache when you can.