host an app
measuring…
Try the machine ↗︎
host an app · documentation

Put a thing on the internet.
It'll be lovely.

Two products, one machine. Free puts a file online in seconds — it lives for seven days. Managed builds a durable app with a private database. Pick one; the docs never mix them.

product 1 · free

What you can publish

Everything is one self-contained file. Paste it in, get a URL back, share it.

Web apps & pages

A single HTML file becomes a live page: a landing, a tool or a game.

Markdown documents

Write in Markdown, ship a typeset page. Tables and code render for you.

Mermaid diagrams

A flowchart or architecture in plain text, published as a zoomable visual.

Data explorers

JSON or CSV in, instant explorer out: search, filter, sort and chart.

extras

Set a password and visitors are asked for it before the page opens. Set one_time: true and the page deletes itself after the first visit.

Quickstart

1

Make something

One self-contained file.

2

Publish it

The machine, one curl, or your agent.

3

Share the URL

sites.hostan.app/<slug> — works immediately.

4

Forget about it

Self-deletes after seven days.

POST /api/v1/deploycurl
curl -X POST https://api.hostan.app/api/v1/deploy \
  -H "Content-Type: application/json" \
  -d '{"type": "markdown", "content": "# Notes\n\nEverything I remember."}'

# → 201 Created
{ "slug": "notes", "url": "https://sites.hostan.app/notes",
  "expires_at": "…seven days later…" }

Publish via AI agent

Add the MCP server once — Claude Code, Cursor or VS Code — and your agent gains deploy_asset: content in, live URL back, plus read_docs — the full agent instructions in-band. Free, no credential.

MCP client configclaude code · cursor · vscode
{
  "mcpServers": {
    "hostan": { "url": "https://api.hostan.app/mcp" }
  }
}

Limits

Deliberately small: fast to publish, easy to forget.

0 days
before automatic cleanup
0 MB
max size per file (413 over)
0
accounts or configuration
SurfaceRate limit
POST /api/v1/deploy30 req/min per IP, burst 15
POST /mcp30 req/min per IP, burst 15
POST /api/v1/auth/<slug>10 attempts/min per IP
/<slug>/__visit60 beacons/min per IP
POST /api/v1/reports10 reports/min per IP
Static contentNo rate limit

Over a limit: 429 with Retry-After: 60 — back off and retry. Platform full: 503 with a reason. Slugs are lowercase, hyphenated, 3–63 chars; a few names are reserved.

Reliability

uptime

99.9% monthly availability target — under 44 minutes of downtime per month. Static-first architecture on Cloudflare and Hetzner; a target, not a contractual guarantee.

FAQ