There are two plans. Both are unlimited.

Free: $0

Unlimited diagrams and edits in the web app, the API, the MCP server and the SDKs. Images carry a Diagrams.so watermark. You never get the editable draw.io file.

Paid: $20 a month, or $120 a year

The same, with no watermark. You also get the draw.io file, in every reply as xml and from export?format=drawio.
Those are the only differences. Every other feature is on both plans, private diagrams included. Nothing is metered. The one limit is a per-minute rate limit, the same on both plans. New diagrams start private on every plan. The owner can make one public with PATCH /diagrams/{id}.

What Free gets from the API

On Free, a reply that would carry the draw.io XML carries a link to a watermarked image instead. That covers generate, the stream’s complete event, get, get version, edit, fix and the re-layout result:
export_url is a path on the API host. Call it with the same key to get the SVG. A Free call to export?format=drawio returns 403 with code UPGRADE_REQUIRED. Free can still import a .drawio file and keep editing it by id. The server keeps the XML. It only stops sending it back. On Paid, replies are unchanged and the four extra fields never appear. Branch on xml_withheld, not on the plan name. See Diagrams.

Fields kept for compatibility

Older integrations read a few fields that no longer mean anything. They are still sent, so nothing breaks.

Removed on 9 October 2026

Credit packs, monthly allowances, rollover, soft caps and referral rewards are gone. So is bring your own key (BYO). You can no longer connect your own LLM provider key, and stored provider keys were deleted. Every request now runs on our models. You do not need to change any code.

Managing your plan

Upgrade on the pricing page. Manage or cancel in the app under Settings → Plan & Billing.