Build with the API
Send your first transfer with curl, JavaScript or Python, and read its download receipt.
Send from a terminal or CI
Install
yungle-cli and run yungle send ./dist. Resumable, scriptable, with --json output.Connect an AI assistant
Add
https://yungle.co/mcp to Claude, ChatGPT, Cursor or another MCP client and sign in. No key needed.What you can do
Each of these words means one thing everywhere in these docs. Concepts defines them.
Free plan and paid plans
Every account can use the API, the CLI and the MCP server. What a workspace can reach depends on its plan.
Uploads made through the API are metered apart from the plans, the same way on every tier: the first 10 GB each month are free, then €0.02 per GB from prepaid credit. Downloads are never metered. Pricing has the full plan details.
The base URL
Every endpoint lives under one base URL, takes JSON and returns JSON:/api/v1 changes only by adding things. New endpoints and new response fields can appear; existing fields keep their meaning, and no new required request field is added. A breaking change would get /api/v2, and v1 would keep working.
The CLI, the MCP server and the JavaScript and Python SDKs are open source (MIT) on GitHub.
What we promise, and what we don’t
Yungle is small and self-hosted in the EU. There is no SLA and no uptime guarantee: it runs on a single server with no failover, so a hardware fault or a bad deploy means downtime. It has happened, and it will happen again. What you do get: your files are always encrypted, nothing is sent to a US cloud, and every byte is served from the EU under a data processing agreement. If your integration needs a contractual uptime guarantee, Yungle is not the right choice today, and it is better that you find that out here than during an incident. Free usage is free: 10 GB of API uploads each month, 50,000 calls, and 10 GB per transfer, with no card and no trial clock. Beyond the upload allowance, you pay €0.02 per GB from credit you top up in advance. Credit is prepaid on purpose. No invoice can arrive for traffic you did not expect, and a runaway script cannot spend money you have not put in. When the balance runs out, your next upload is refused before any bytes move, so the failure lands on you, where you can see it, and never on a recipient waiting for a file. The call allowance is an abuse guard rather than a price, set far above what a working integration uses.The vault and end-to-end encrypted transfers are encrypted in the client with keys Yungle never receives, so the API can never read them. What the API cannot do explains where that boundary is.
Next steps
Quickstart
Send a transfer and read its receipt in about five minutes.
Concepts
Workspaces, transfers, collections and the rest, in one page.
