All posts
April 22, 2026 7 min read

Free Flowchart API for AI Agents: Create Diagrams Programmatically

api ai-agents automation developer free

We just shipped something we're really excited about: a free, public API that lets anyone — AI agents, chatbots, scripts, automation tools — create flowcharts programmatically and get a shareable link back. No API key required. No sign-up. Just POST and go.

Why an API for flowcharts?

The world is increasingly automated. AI agents are writing code, drafting emails, and managing projects. But when an agent needs to visualize a process, what does it do? Generate ASCII art? Describe it in text? Neither is great.

Now any agent can call our API, pass in a list of nodes and edges, and instantly get back a live, interactive flowchart with a shareable URL. The flowchart is hosted on FreeFlowCharts, rendered with our full canvas engine, and viewable by anyone — no account needed.

How it works

One HTTP POST to https://freeflowcharts.app/api/create-flowchart with a JSON body:

  • title: — The flowchart title
  • nodes: — Array of node objects with id, type, label
  • edges: — Array of edge objects with from and to node IDs
  • createdBy: — Optional attribution (your agent or app name)
  • theme: — Optional visual theme (default, neon, pastel, retro, ocean, brutalist, candy)
  • background: — Optional hex color or CSS gradient
  • The API returns:

  • url: — A permanent, shareable link to the flowchart
  • embed: — Ready-to-use iframe HTML for embedding
  • shareId: — Unique identifier
  • That's it. No authentication, no OAuth flows, no API keys to manage.

    19 node types

    The API supports all 19 node types from our canvas:

    Standard: start, end, process, decision, io, delay, subprocess

    Team actions: task, bug, email, meeting, approval

    Annotations: note, textlabel

    Project: approvalGate, deadline, milestone, handoff, cost

    If you pass an unknown type, it defaults to process. Each type gets its own color automatically.

    Auto-layout

    Don't want to calculate node positions? Don't. If you omit x and y from your nodes, the API auto-layouts them in a clean grid. For most agent use cases, this is all you need.

    If you want precise control, pass x and y coordinates and the API will respect them exactly.

    Perfect for AI agents

    Here's a real-world example. Imagine you're building a customer support agent that troubleshoots issues. When the agent finishes diagnosing, it could:

  • Build a flowchart of the troubleshooting steps it followed
  • POST it to our API
  • Include the shareable link in the resolution summary
  • The customer and support team can both see the visual flow
  • Or consider a project management agent that creates sprint workflows, a DevOps bot that visualizes deployment pipelines, or a teaching assistant that generates decision trees for students.

    Branding and backlinks

    Every API-created flowchart includes a small var(--t-text)]">"Powered by FreeFlowCharts" bar at the bottom of the shared view. This includes our logo and a link back to [freeflowcharts.app. It's non-intrusive and doesn't interfere with the flowchart content.

    This is the trade-off for a completely free API: you get unlimited flowchart creation, and we get attribution. We think that's fair.

    Rate limits

    The API is rate-limited to 30 flowcharts per hour per IP address. For most use cases — agent interactions, automation scripts, CI/CD pipelines — this is more than enough. If you need higher limits, get in touch.

    Code examples

    Python:

    import requests
    response = requests.post(
        "https://freeflowcharts.app/api/create-flowchart",
        json={
            "title": "My Flow",
            "nodes": [
                {"id": "1", "type": "start", "label": "Begin"},
                {"id": "2", "type": "process", "label": "Do work"},
                {"id": "3", "type": "end", "label": "Done"}
            ],
            "edges": [
                {"from": "1", "to": "2"},
                {"from": "2", "to": "3"}
            ]
        }
    )
    print(response.json()["url"])

    JavaScript:

    const res = await fetch("https://freeflowcharts.app/api/create-flowchart", {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        title: "My Flow",
        nodes: [
          { id: "1", type: "start", label: "Begin" },
          { id: "2", type: "process", label: "Do work" },
          { id: "3", type: "end", label: "Done" }
        ],
        edges: [
          { from: "1", to: "2" },
          { from: "2", to: "3" }
        ]
      })
    });
    const data = await res.json();
    console.log(data.url);

    Full documentation

    Head over to freeflowcharts.app/api-docs for the complete API reference, including all node types, field descriptions, error codes, and more code examples in cURL, Python, and JavaScript.

    What's next

    We're considering adding:

  • Template-based creation: — pass a template ID instead of defining nodes manually
  • AI-powered generation via API: — send a text prompt, get a flowchart (Pro feature)
  • Webhook callbacks: — get notified when someone views your flowchart
  • Batch creation: — create multiple flowcharts in one request
  • Let us know what would be most useful for your agent or automation.

    Try it now

    The API is live and free. No sign-up, no API key, no credit card. Just send a POST request and get a flowchart.

    POST https://freeflowcharts.app/api/create-flowchart

    Full docs: freeflowcharts.app/api-docs