dropwarp
v0.1.0
Published
Send a file and get a shareable link in one call. Official client for the DropWarp API.
Maintainers
Readme
dropwarp
Send a file and get a shareable link in one call. Official client for the DropWarp API — no buckets, no presigned-URL dance, no storage to manage. Files are private and auto-expire.
npm i dropwarpQuickstart
Create a free key at https://dropwarp.com/account, then:
import { DropWarp } from "dropwarp";
const dw = new DropWarp(process.env.DROPWARP_KEY);
const { downloadUrl } = await dw.send("./report.pdf");
console.log(downloadUrl); // → https://dropwarp.com/s/9f1c… (give this to anyone)send() takes a file path (Node/Bun/Deno) or raw bytes — a Buffer,
Uint8Array, Blob, or ReadableStream:
await dw.send(buffer, { filename: "photo.jpg", contentType: "image/jpeg" });
await dw.send(new Blob([data]), { filename: "data.bin" });API
| Method | Description |
| --- | --- |
| dw.send(file, opts?) | Upload a file → { downloadUrl, expiresAt, … } |
| dw.list() | List your stored files |
| dw.remove(id) | Delete a stored file |
| dw.me() | Your plan + limits |
| dw.p2pToken() | Mint a room token for a live peer-to-peer transfer (advanced) |
Errors throw a DropWarpError with .status, .code, and .body.
Limits
- Free: files up to 250 MB, links live 2 hours, 50 uploads/day.
- Paid ($1/mo): files up to 5 GB, links live 30 days, unlimited uploads.
Upgrade to lift the free cap.
Runtimes
Works anywhere fetch exists — Node 18+, Bun, Deno, browsers, edge runtimes.
Reading a file from a path string uses node:fs; pass bytes directly to stay
fully runtime-agnostic.
AI agents
Building an assistant? There's an MCP server
(npx @dropwarp/mcp) that gives models like Claude a native send_file tool.
License
MIT
