Import from URL
Fetch content from any URL, or create read-only documents that show live content from a source
Instead of copy-pasting data into the editor, ToDiagram can fetch it for you. Point it at any URL that returns JSON, YAML, CSV, XML, Mermaid, or ToDiagram content and visualize it instantly.
There are two ways to use it:
| Mode | Best for | Result |
|---|---|---|
| Quick import | One-off exploration of remote data | An editable local tab — nothing is stored |
| URL-backed document | Config/data a team needs to always see current | A read-only cloud document that shows live content from the URL on every open |
Quick Import
Fetch a URL once and open the content in the editor. No account required.
Open the menu in the top-left corner, then choose Open → URL.
Paste the URL. The document name is filled in automatically and the format is auto-detected — override either if needed.
If the source requires authentication, add request headers (for example Authorization). They are used once for the fetch and not stored.
Click Import. The content opens as a regular tab — edit it, visualize it, and save it to the cloud like any other document.
URL-Backed Documents
When the data lives somewhere else — a config file in a repository, an API endpoint, a CMS export — a URL-backed document shows it live: the content is fetched fresh from the URL every time the document is opened.
- Always current. Share it with your team and everyone sees the latest version on open — no one has to manually refresh it.
- Read-only. The URL is the source of truth, so the document can't be edited in the editor. A Refresh button in the toolbar re-pulls the latest without reopening.
- Works for everyone with access. When a teammate opens the document, the server fetches on their behalf using your saved headers — they never need the credentials themselves, and never see them.
- If the source is temporarily unreachable, the last successfully fetched copy is shown so the document still opens.
Create a URL-Backed Document
Open your Documents list from the Cloud button.
Click the arrow next to the Create button and select Fetched from URL.
Enter the URL and any request headers the source requires, then click Import.
URL-backed documents count toward your regular document limit and follow the same visibility and sharing rules as other cloud documents. Everyone you share with sees live content on open — fetched server-side with your saved headers, which are never exposed to them.
Authentication Headers
Private sources usually need credentials. Add them as request headers when creating the document — for example:
| Header | Value |
|---|---|
Authorization | Bearer ghp_xxxxxxxxxxxx |
X-Api-Key | your-api-key |
Headers are stored with the document and used only server-side when fetching the source — they are owner-only and never returned to people you share with. Because a shared document fetches the source with your credentials, a document with headers can't be made public (that would expose the private content to anyone with the link); private and team sharing are allowed. Prefer scoped, revocable tokens (a read-only API key, a fine-grained GitHub token) over broad ones.
When fetching, headers are only sent to the origin you configured. If the source redirects to a different domain, the redirect is followed but your headers are not forwarded to it.
Security & Limits
Fetches run server-side with strict safeguards:
| Limit | Value |
|---|---|
| Maximum content size | 5 MB |
| Request timeout | 10 seconds |
| Redirects followed | up to 3 |
| Protocols | http / https only |
| Request headers | up to 20 per document |
| Fetch rate | 10/min (guests), 30/min (signed in) |
URLs that resolve to private or internal network addresses are rejected, and binary content is not supported.
Troubleshooting
Related Features
- Cloud Storage - Document visibility, sharing, and limits
- Formats - Supported data formats
- API - Programmatic document access