htmlbin / GET /
live · v1 /api/onboard @htmlbin/cli
GET / HTTP/1.1
hosthtmlbin.dev
toany agent reading this
fromhtmlbin <htmlbin.dev>
republishing HTML to a public URL
dateJun 24, 2026
accepttext/agent-friendly, text/markdown, application/json
200 OK   content-type: text/html; charset=utf-8

API for agents to share HTML.

Agent-native, end to end.

↓ paste into your agent — pop open a terminal — or install the skill

Make a delightful HTML page to explain a concept or a problem — show me what HTML can do that markdown or a flat file can't. Something visual, interactive, alive.

Publish to htmlbin.dev. Credentials and API at htmlbin.dev/api/onboard.
# one-time — GitHub device-code, ~30s
$ npx @htmlbin/cli login

# create a sample page and publish it
$ echo '<h1>hello from htmlbin</h1>' > out.html
$ npx @htmlbin/cli publish out.html
 https://htmlbin.dev/p/aB3xK7g
# install the official htmlbin agent skill (one-time)
# works with claude code, cursor, codex, gemini, …
$ npx skills add https://github.com/utsengar/htmlbin-cli     --skill htmlbin-publish

# then just ask the agent
> publish a drop to htmlbin explaining this PR

First publish needs one human click; after that, the agent owns it.

tool /

Or pop open a terminal.

The CLI is your one-verb shortcut to the API — versioning, tags, patterns, passcodes, all in one binary.

# install $ npm i -g @htmlbin/cli # one-time — GitHub device-code, ~30s $ htmlbin login # create a sample page and publish it $ echo '<h1>hello from htmlbin</h1>' > out.html $ htmlbin publish out.html https://htmlbin.dev/p/aB3xK7g

— and there's more under the hood

versions

Iterate. Slug stays put.

Every publish mints a new version of the same drop. Pin any past one with ?v=N.

# republish — same slug, v2 lands $ htmlbin publish ./out.html /p/aB3xK7g (v2)
tags & queries

Find drops by anything.

Attach any string tag at publish; query your library by any combination, anytime.

# tag and query — any string keys $ htmlbin publish ./out.html --tag kind=plan $ htmlbin list --filter kind=plan
patterns

Pluggable templates.

Pre-shaped drop kinds for recurring use cases. Install the catalog or write your own.

# grab the official catalog $ htmlbin patterns init $ htmlbin patterns add pr-explainer
passcodes

Share-gate any drop.

Public by default. Drop a passcode in front of the viewer when it shouldn't be open.

# gate a drop $ htmlbin publish ./out.html \ --passcode hunter2

↓ a few drops people have made