GET tunwg.com HTTP 200132 ms10.5 KB$0.000493 captured Aug 7, 2026
tunwg.com, as data
One API turns any tunwg.com page into markdown, structured JSON, its link graph or a screenshot, and crawls the whole site the same way. The panel shows the real response we captured.
- Render mode
- Plain HTTP, no browser needed
- Response
- HTTP 200 in 132 ms
- Page size
- 10.5 KB of markdown, 270 lines
- Fields
- Business Name, Address, Phone, Category
- Captured
- Aug 7, 2026
Free balance on signup, no card. This tunwg.com page cost $0.000493 to fetch.
To use your own domain name instead of a subdomain on tunwg.com, add a CNAME record in your DNS provider to the encoded domain on tunwg.com e.g. for `test.example.com`, add a CNAME entry for `test` to `xxxxxxxx.l.tunwg.com`### Use directly in Go programsIf you're writing your HTTP server in golang, you can use `tunwg` directly without running a separate binary.import "github.com/ntnj/tunwg"listener, err := tunwg.NewListener("<name>")http.Serve(listener, httpHandler)### Persistent URLsSince the generated subdomain is derived from your wireguard key and the forwarded address, it'll remain constant across process restarts. The wireguard key is stored in `.config/tunwg/` (os.UserConfigDir/tunwg) or `/data/` in docker. It can be customized with `TUNWG_PATH` environment variable.### Automatic SSL certificatesAutomatic SSL certificate are issued through LetsEncrypt and automatically renewed. Fallback to ZeroSSL is supported in case of LetsEncrypt rate limits.### Relay traffic over HTTPSIn case your firewall blocks UDP packets, you can relay the traffic over HTTPS. To use, just add `TUNWG_RELAY=true` to client environment variables.This will effectively be TCP over UDP over TCP, so performance will suffer in case of packet drops. Use this option only if needed.### Expose ports on other hostsYou can forward any ports on local network which the machine running tunwg has access to, without installing tunwg on the forwarded host. e.g.tunwg --forward=http://10.0.0.2:8000,http://10.0.0.10:9000This is especially useful when running `tunwg` with docker compose to expose the ports on other containers without making any modifications to those images. e.g. `docker-compose.yml`command: tunwg --forward=http://whoamiYou can then run `docker compose logs tunwg` to view the generated URL.### HTTP Basic Auth supportTo expose private servers using tunwg, you can use the inbuilt basic auth support. What Spider does on tunwg.com
Same key, five endpoints. The numbers under a cell were measured on this page.
Page to markdown
Clean text for RAG and LLM context, boilerplate removed. The lane that runs without a key.
132 ms · $0.000493Page to JSON
Spider reads the page and names the fields. Pass your own schema when you need exact keys.
Rendered capture
Real Chromium, full-page PNG. The same call also returns the rendered HTML.
The call behind the panel
This request produced the response above. Paste it with your key and you get the same bytes.
curl -X POST https://api.spider.cloud/scrape \
-H "Authorization: Bearer $SPIDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://tunwg.com/", "return_format": "markdown"}' from spider import Spider
app = Spider()
params = {"return_format": "markdown"}
page = app.scrape_url("https://tunwg.com/", params=params)
print(page[0]["content"]) import { Spider } from "@spider-cloud/spider-client";
const app = new Spider();
const [page] = await app.scrapeUrl("https://tunwg.com/", {
return_format: "markdown",
});
console.log(page.content); What tunwg.com costs
Multiplied from the measured 10.5 KB page. Estimates round to the cent.
1 GB of transfer costs $1, plus $0.001 per CPU minute, and failed requests cost $0. Crawling daily? The Unlimited plan is a flat monthly rate.
Point this at the rest of tunwg.com.
The capture above took 132 ms and cost $0.000493. The same call takes any URL on tunwg.com.