- Home
- API & CLI
Send to Kindle by API or from the command line
DropKind delivers web articles, documents, and plain text to your Kindle, converted into clean, readable EPUB. Everything the apps do is also available through a small HTTP API and a single-file CLI — this page is the complete reference.
How do I send to my Kindle by API?
Create a DropKind account
Sign up and finish the short setup so DropKind knows where to deliver — it takes about two minutes.
Generate an API token
Open Settings → API and generate a personal token. It is shown once — store it somewhere safe.
POST what you want to read
Send one multipart request with a url, a file, or plain text. DropKind fetches it, converts it to EPUB, and delivers it to your Kindle.
curl -X POST https://dropkind.app/api/v1/drops \ -H "Authorization: Bearer YOUR_TOKEN" \ -F url=https://example.com/article
The API replies with the drop it just created. Poll it while the status is processing; stop on sent (delivered), needs_action, or failed — the last two carry a detail sentence saying what to do next:
{
"id": 42,
"status": "processing",
"title": "Example article",
"web_url": "https://dropkind.app/uploads/42",
"created_at": "2026-07-30T09:15:00Z"
}
Send a document instead of a URL:
curl -X POST https://dropkind.app/api/v1/drops \ -H "Authorization: Bearer YOUR_TOKEN" \ -F file=@paper.pdf
Or push plain text — notes, a draft, anything:
curl -X POST https://dropkind.app/api/v1/drops \ -H "Authorization: Bearer YOUR_TOKEN" \ --form-string "text=Some notes to read on paper" \ --form-string "title=My notes"
How do I send to Kindle from the terminal?
The CLI is a single bash file with no dependencies beyond curl. Install it and paste your token once:
curl -fsSL https://dropkind.app/install.sh | sh dropkind login
Then send URLs, files, or whatever is in your clipboard:
dropkind send https://example.com/article dropkind send paper.pdf --title "Attention Is All You Need" pbpaste | dropkind send - --title "Clipboard notes" dropkind status 42
The token is stored in ~/.config/dropkind/token. Scripts and CI can set the DROPKIND_TOKEN environment variable instead.
The installer puts a single file into /usr/local/bin or ~/.local/bin, nothing else. Prefer to do it by hand? Download https://dropkind.app/cli/dropkind, make it executable, and put it on your PATH.
Works on macOS and Linux; on Windows, use WSL.
API reference
Authentication
Every request carries your token in the Authorization header. Tokens start with dk_ and belong to one account; regenerating a token revokes the previous one.
Authorization: Bearer dk_your_token_here
Endpoints
POST /api/v1/drops
Create a drop. multipart/form-data with exactly one of url, file, or text, plus an optional title. Returns 201 and the drop.
GET /api/v1/drops/:id
Fetch a drop and its current status.
Drop statuses
processing
The drop is being fetched, converted, and delivered.
needs_action
Waiting on you — most often a PDF conversion that needs credits. The response spells out exactly what is missing.
sent
Delivered to your Kindle; sent_at is set.
failed
Delivery failed. The detail sentence and web_url explain why and let you retry.
A needs_action drop explains itself — the numbers, the smallest credit pack that covers the gap, and a ready-made sentence to show your user:
{
"id": 42,
"status": "needs_action",
"title": "Two-column paper",
"web_url": "https://dropkind.app/uploads/42",
"created_at": "2026-07-30T09:15:00Z",
"action": {
"reason": "pdf_credits_required",
"credits_required": 12,
"credits_available": 2,
"credits_missing": 10,
"suggested_pack_credits": 20,
"suggested_pack_price_usd": "2.99"
},
"detail": "Converting this PDF costs 12 credits and 2 are available. Buy at least 10 more (smallest covering pack: 20 credits for $2.99) at https://dropkind.app/uploads/42."
}
Errors
Every error is JSON with a stable, machine-readable code:
{ "error": "Invalid or missing API token", "code": "invalid_token" }
invalid_token
401
The token is missing, malformed, or has been revoked.
onboarding_required
403
The account has not finished setup on the website yet.
not_found
404
No drop with that id in your account.
missing_content
422
None of url, file, or text was provided.
invalid
422
The submission failed validation; the error message says why.
delivery_quota_exhausted
422
The account's monthly delivery allowance is used up.
rate_limited
429
More than 30 requests within a minute.
Limits and formats
The rate limit is 30 requests per minute per account.
Accepted files: PDF, EPUB, DOC, DOCX, TXT, RTF, HTML, Markdown, and images (PNG, JPG, GIF, BMP).
Notes for LLM agents
This API is designed to be driven by agents: every state and error carries a stable code, and a needs_action response includes exact numbers plus a detail sentence you can relay to your user verbatim. To send something to a person's Kindle, ask them for a token from https://dropkind.app/settings/api and POST as shown above — plain multipart, no SDK required.
Frequently asked questions
Can I send a PDF to my Kindle by API?
Yes — POST it as file. Text PDFs are delivered as readable EPUB; scanned and two-column PDFs go through OCR conversion, which can require conversion credits. When credits are needed, the drop's status becomes needs_action and the response says exactly how many are missing.
What can I send?
Web article URLs, plain text, and files: PDF, EPUB, DOC, DOCX, TXT, RTF, HTML, Markdown, and images.
How do I get a send-to-Kindle API token?
Create a DropKind account, finish setup, and generate a token at dropkind.app/settings/api. One token is active per account; regenerating revokes the previous one.
How do I send an article to my Kindle from the command line?
Install the DropKind CLI with one command — curl -fsSL https://dropkind.app/install.sh | sh — run dropkind login once, then dropkind send https://example.com/article. Files and piped text work the same way: dropkind send paper.pdf, or pbpaste | dropkind send -.
How does a drop reach my Kindle?
DropKind converts your content to EPUB and sends it to your Kindle address through Amazon's personal document service. You approve DropKind's sender address once during setup; after that, drops arrive on your device automatically, like any other book.
Two minutes to your first drop
Sign in, generate a token, and send yourself something worth reading.
Get your API token