Skip to content
HTML hosting API: free, no signup

HTML hosting API to publish from code or an AI agent

You can publish an HTML file or a ZIP to a live HTTPS link with one HTTP POST to ship.page, free forever with no signup, no credit card and no API key. The free plan accepts single HTML files up to 10 MB and ZIP archives up to 25 MB at 10 deploys a minute, with unlimited uploads and an MCP server for AI agents.

Ready to ship

A file. A folder. A fresh start.

Your static site, one link away.

No account needed

Shipping…

Uploading publishes your file. The link is public but unlisted, not password-protected, so leave out secrets and confidential content.

No account, token or credit card needed to deploy
0 keys
Free deploy rate limit, or 120/min on Pro
10/min
Max free ZIP size (100 MB unpacked, 100 files)
25 MB
Max single HTML file size on every plan
10 MB

How to publish an HTML page or ZIP from the command line

  1. Prepare an index.html file or a ZIP archive

    Put all your CSS and JavaScript into one HTML file up to 10 MB, or pack a multi-file static site with an index.html homepage into a ZIP up to 25 MB (100 MB unpacked, up to 100 files on the free plan). A ZIP with a single top folder is unwrapped automatically.

  2. Send one HTTP POST to the deploy endpoint

    Run curl -X POST https://ship.page/deploy -H "Content-Type: text/html" --data-binary @index.html for a single file, or set Content-Type to application/zip for a ZIP. You do not need to create an account or pass an Authorization header.

  3. Open or share the live HTTPS link

    The response comes back in seconds with a live URL on its own subdomain. Every upload sends a noindex header so search engines ignore it, while anyone with the link can open it right away.

Publish a ZIP of static files with one curl command

index.html

zip -r site.zip index.html styles.css app.js
curl -X POST https://ship.page/deploy \
  -H "Content-Type: application/zip" \
  --data-binary @site.zip

Your options

  • ship.page

    Best for
    Scripts and AI agents that want to POST an HTML file or ZIP and get a live link back with no signup or API key.
    Free
    Free forever with unlimited uploads, 10 MB HTML or 25 MB ZIP, 10 deploys a minute, and a public MCP server.
    Catch
    Static files only, no custom domains, and free links stay online for 30 days unless you claim them in a free account.
  • Netlify

    Best for
    Teams already on Netlify that want to push a ZIP to an existing site via REST or the official Netlify MCP server.
    Free
    Deploying a ZIP is one POST to the deploys endpoint once you generate a personal access token.
    Catch
    Requires a Netlify account and token, and API deploys are capped at 3 a minute and 100 a day.
  • Vercel

    Best for
    Developers and AI agents using Vercel's official MCP server or CLI to deploy full frontend projects.
    Free
    The official MCP server at mcp.vercel.com can deploy a project and return a shareable URL after OAuth sign-in.
    Catch
    The REST API and MCP server require a Vercel account, and unauthenticated CLI deploys expire after one hour unless claimed.
  • Cloudflare Pages

    Best for
    Publishing static build folders onto Cloudflare's network from CI using wrangler pages deploy or the Pages API.
    Free
    Direct Upload works from the command line or HTTP API once you have a Cloudflare account and API token.
    Catch
    You must create an account and manage an API token before your script or agent can upload.
  • Surge

    Best for
    Quick folder deploys from a developer terminal after installing the global npm package.
    Free
    Runs from the command line with npm install --global surge.
    Catch
    The first run asks for an email and password in the terminal, and a new surge.sh domain goes on hold after about an hour and a half until the email is verified.
  • Tiiny Host

    Best for
    Paid Tiiny Host users who want to automate ZIP or HTML uploads to their existing account.
    Free
    There is no free API access.
    Catch
    The API is only available on Solo and higher plans, starting at $18 a month or $156 a year.

HTML and static site hosting APIs compared

ServiceWhat you needLimitsMCP server
ship.pageNothing (no account or API key)10 deploys/min, 10 MB HTML, 25 MB ZIP freeYes (https://ship.page/mcp)
NetlifyNetlify account + personal access token3 API deploys/min, 100 API deploys/dayYes (official, requires account)
VercelAccount token (CLI has 1-hour temp flag)Temp CLI deploy expires in 1 hourYes (mcp.vercel.com with OAuth)
Cloudflare PagesCloudflare account + API tokenDirect Upload via wrangler or Pages APINot specified
Surgenpm CLI + email and password signupDomain held after ~1.5 hr until verifiedNo
Tiiny HostSolo plan ($18/mo or $156/yr) + API keyPaid plans onlyNo

How can an AI agent publish a web page?

Most hosting APIs fail inside sandboxed AI agents because the agent does not have a user's API token, cannot complete a browser OAuth flow, or cannot verify an email address. With ship.page, an agent with bash or HTTP access can POST raw HTML directly to https://ship.page/deploy and hand the live URL back to the user.

If your client supports the Model Context Protocol (a standard way for AI assistants to call external tools), point it at https://ship.page/mcp. Read the agent integration docs, the MCP client setup guide, or the Claude Code guide to connect Claude, ChatGPT, Cursor or a custom agent, and check the API documentation for the GitHub Action.

  • Single HTML deploy: POST to https://ship.page/deploy with Content-Type: text/html and the file body.
  • Multi-file ZIP deploy: POST to https://ship.page/deploy with Content-Type: application/zip and the binary ZIP.
  • MCP server: connect https://ship.page/mcp so agents can deploy without writing shell commands.
  • Browser fallback: drag and drop a file, ZIP or folder on the homepage and get a live link plus a downloadable PNG QR code.

When should you use Netlify, Vercel or Cloudflare Pages instead?

Pick another provider when your project needs custom domains, server-side code, or permanent free hosting tied to a Git repository. Netlify and Vercel both run official MCP servers, and Cloudflare Pages supports Direct Upload from CI with wrangler pages deploy or the Pages API.

The tradeoff is setup and rate limits: Netlify's API requires a personal access token and caps API deploys at 3 a minute and 100 a day. Vercel's REST API and mcp.vercel.com require an account (though since October 2026, running vercel deploy --temporary in the CLI publishes without an account for one hour unless claimed), and Tiiny Host locks its API behind the $18 a month Solo plan.

Tip: If your script generates previews in a loop, ship.page gives you 10 deploys a minute for free and 120 deploys a minute on the $4 a month Pro plan.

How long do API-deployed pages stay online and what files work?

An unauthenticated deploy stays online for 30 days. If you sign in with Google or an email link for a free account and claim the upload, it stays online for 90 days, and when it goes offline you can restore it from the dashboard for free for another 90 days (up to three months after it expired).

If you need permanent URLs or in-place updates via the API, see pricing: Pro is $4 a month (pages never expire or you can pick any expiry from 60 seconds, update the same link, password protection, 100 MB ZIPs up to 400 MB unpacked, 10,000 files, 120 deploys a minute) and Team is $19 a month (adds a vanity subdomain).

  • Supported files: HTML, CSS, JavaScript, images, fonts, audio, video, WebAssembly and JSON.
  • No server runtime: PHP, Node.js, Python, databases and WordPress do not run, and forms need a third-party service.
  • Routing rules: file paths are case-sensitive, about.html opens at /about.html, and client-side routers should use hash routes (#/about) because there is no single-page-app fallback.
  • No Content-Encoding header: serve plain assets or include a JavaScript decompressor for .br and .gz files.

Questions

Is there a free API to publish an HTML page without an API key?

Yes. You can send an HTTP POST request to https://ship.page/deploy with Content-Type: text/html and your HTML file as the body. It is free forever, requires no account or API key, and returns a live HTTPS URL in seconds.

How do I deploy a multi-file static site with CSS and images via the API?

Put your index.html, stylesheets, scripts and images into a ZIP file and POST it to https://ship.page/deploy with Content-Type: application/zip. On the free plan, a ZIP can be up to 25 MB (100 MB unpacked) and contain up to 100 files.

Can Claude, ChatGPT or Cursor publish pages with an MCP server?

Yes. Connect your agent to https://ship.page/mcp to publish pages directly from chat or code without setting up credentials. Netlify and Vercel also offer official MCP servers, though both require you to sign in to an account.

How long does a page published through the API stay online?

A page deployed without an account stays online for 30 days. Claiming it in a free account extends it to 90 days with free restores for another 90 days up to three months after it goes offline, and the $4 a month Pro plan keeps pages online forever or lets you set any expiry from 60 seconds.

Can I update an existing URL when I deploy again?

On the free plan, each deploy creates a new link on its own subdomain. On the $4 a month Pro plan and $19 a month Team plan, you can re-upload or edit a page and keep the same link.

Keep reading

Publish your HTML page in seconds

POST your file to https://ship.page/deploy or drag an HTML file, ZIP or folder into the browser with no signup.