Drop API
Deploy with one HTTP call. No login, no CLI, no account. Get a live URL in seconds.
https://api.zerodeploy.dev/drop and get a live URL back. No API key, no login, no account needed.
Deploy a single file
curl -X POST https://api.zerodeploy.dev/drop \
-H "Content-Type: text/html" \
--data-binary @index.html
Deploy a multi-file site
Package your build output as a tar.gz archive:
tar -czf site.tar.gz -C ./dist .
curl -X POST https://api.zerodeploy.dev/drop \
-H "Content-Type: application/gzip" \
--data-binary @site.tar.gz
Response
The API returns a JSON object with a live URL, a claim token for redeployment, and an expiration timestamp:
{
"data": {
"url": "https://shy-hill-9433.zerodeploy.app",
"claim_token": "zdr_abc123...",
"expires_at": "2026-03-10T12:00:00Z"
},
"next_steps": {
"redeploy": {
"description": "Update this site with new files",
"method": "POST",
"url": "https://api.zerodeploy.dev/drop",
"headers": {
"Content-Type": "application/gzip",
"X-Claim-Token": "zdr_abc123..."
}
},
"claim": {
"description": "Make this site permanent (requires login)",
"url": "https://dashboard.zerodeploy.dev/drop-claim?token=zdr_abc123..."
}
}
}
Redeploy (update existing site)
Pass the claim_token from the original deploy via the X-Claim-Token header to update the same site. This resets the 72-hour expiration timer:
curl -X POST https://api.zerodeploy.dev/drop \
-H "Content-Type: text/html" \
-H "X-Claim-Token: zdr_abc123..." \
--data-binary @index.html
Framework examples
| Framework | Command |
|---|---|
| Single HTML file | curl -X POST https://api.zerodeploy.dev/drop -H "Content-Type: text/html" --data-binary @index.html |
| React / Vite / Astro | cd dist && tar -czf ../site.tar.gz . && curl -X POST https://api.zerodeploy.dev/drop -H "Content-Type: application/gzip" --data-binary @../site.tar.gz |
| Next.js (static export) | cd out && tar -czf ../site.tar.gz . && curl -X POST https://api.zerodeploy.dev/drop -H "Content-Type: application/gzip" --data-binary @../site.tar.gz |
Claim a site
Drop sites expire after 72 hours. To make a site permanent, claim it by logging in at the URL in the next_steps.claim field. Claimed sites get all the features of a regular ZeroDeploy site: custom domains, analytics, forms, and rollbacks.
Limits
- 10 MB max per file, 1,000 files max, 25 MB total per deployment
- 5 deploys per hour per IP address
- 72 hours expiration (reset on each redeploy)
Headers
| Header | Required | Description |
|---|---|---|
Content-Type | Yes | text/html for single files, application/gzip for tar.gz archives |
X-Claim-Token | No | Include to redeploy (update) an existing drop site |
X-Filename | No | Filename for single-file uploads (default: index.html) |
When to use Drop vs CLI
- Drop API: One-off deploys, prototypes, demos, AI agent deploys. Zero setup. Sites expire in 72 hours unless claimed.
- CLI: Ongoing projects, CI/CD pipelines, custom domains, rollbacks, analytics, forms. Requires a ZeroDeploy account (14-day free trial).
Using Drop from AI agents
The Drop API is designed for AI agents like ChatGPT, Claude, Cursor, and Copilot. An agent can deploy a user’s site with a single HTTP call:
# Agent generates HTML, then deploys it
echo '<html><body><h1>Hello World</h1></body></html>' | \
curl -X POST https://api.zerodeploy.dev/drop \
-H "Content-Type: text/html" \
--data-binary @-
The response includes next_steps with exact instructions for redeployment and claiming, so agents can guide users through the full workflow.
For more on AI workflows, see AI & LLM Workflows.