Media editor: build vs buy in the age of AI
Polotno

CANVA API

Canva API: what you can build with it, and what you can't

A developer's guide to the Canva Connect API and Apps SDK: the 12 endpoint groups, why neither one embeds a design editor in your product, when Canva's API is the right choice, and what to use when it isn't.

Canva has two developer products, and most teams pick the wrong one because the names do not say which direction the integration runs. This page explains what each one does, what neither one does, and where Polotno fits when neither is the right shape. Everything about Canva below is checked against Canva's own developer documentation and linked so you can verify it.

The short answer

Two Canva products, two different directions. The Connect API lets your system talk to Canva: upload assets, create designs from brand templates, export finished files back, while users still design inside Canva. The Apps SDK runs your app inside Canva's editor as a side panel in an iframe, next to Canva's own tools. Neither puts a design canvas inside your product's UI, under your branding, for users without Canva accounts.

Both official routes point the same way: toward Canva. That is a deliberate product decision. If your requirement is "our users design inside our app", the Canva API is not the tool, and no combination of its endpoints becomes one.

What Polotno does instead

This is Polotno's own site, so here is the direct version instead of a hedge: Polotno SDK is a JavaScript SDK built around one JSON schema with three parts, an embeddable editor that renders in your DOM, a programmatic API to create and modify designs from code, and a headless renderer for images and video. All three read and write the same document, so an editor session, an automated job, and a final render share the same data.

It runs self-hosted on your infrastructure by default, with an optional Cloud Render API for scale. The editor is fully white-label: your brand, your domain, no Canva-style third-party account or iframe boundary.

Someli built the invisible, backend version of this: an automated pipeline where AI selects layouts and a designer reviews, with no editor UI ever shown to their own clients.

What the Connect API actually does

The Canva Connect APIs are a REST API with OAuth, covering twelve groups:

Designs

Create designs, list a user's designs, read metadata and pages.

Autofill

Push data into a brand template's named fields to produce a finished design.

Brand templates

Publish designs as templates, list them, and inspect which fields are autofillable.

Exports

Asynchronous export jobs that return a downloadable file link.

Assets

Upload by file or URL, then read, update, and delete.

Design imports

Bring designs in from an external application.

Folders

Create and manage folders, list contents, move items.

Comments

Create threads and replies, read thread metadata.

Merges and resizes

Asynchronous jobs to merge designs or resize them.

Analytics

Design views, viewers, page and link analytics over time.

Webhooks

Events for access requests, approvals, comments, suggestions, and sharing.

Users and auth

Current user profile, account capabilities, and OAuth token lifecycle.

That is a capable workflow API. If your product manages marketing assets and your users already live in Canva, it does real work: sync an asset library, generate a thousand localised variants from one brand template, pull exports back into your CMS, and get a webhook when someone comments.

What it does not do

No embeddable editor

No endpoint returns an editor you can mount in your own page. Editing happens on Canva's site, in Canva's interface.

No white labelling

Your users see Canva's brand, Canva's UI, and Canva's feature set, because they are using Canva.

Users need Canva accounts

The API authorises through OAuth against a Canva user, so every person who designs needs an account and has to grant access.

The data model is Canva's

Designs live in Canva's format and storage. You can export renders and import files, but you do not own the document as structured data you can query or transform.

Distribution is gated

A private integration is limited to your own team and requires a Canva Enterprise plan. A public integration has to pass Canva review.

The last one surprises people late in a project. Building an integration your customers will use means shipping a public app through Canva's review process, on Canva's timeline.

The Apps SDK runs the other way

The Canva Apps SDK is often suggested when the Connect API turns out not to embed an editor. It inverts the direction instead.

An app built with the Apps SDK is a JavaScript bundle that runs inside an iframe in the Canva editor's object panel. Your interface appears as a side panel next to Canva's own tools, and it can drive the canvas programmatically. Distribution is either the Canva Apps Marketplace or a private team workspace.

So the Apps SDK puts your product inside Canva. The Connect API pipes data between your product and Canva. Neither puts Canva inside your product, which is the thing most teams searching for "Canva API" are actually trying to do.

When Canva's API is the right choice

Genuinely often, and it's worth saying plainly since the rest of this page argues for the alternative. The Connect API is the right tool whenever the relationship stays asset-to-asset instead of becoming an embedded surface. Use it when:

Your users already work in Canva and like it: fighting that is a bad trade
You need bulk generation from brand templates marketing already maintains in Canva
The integration is asset flow: assets in, renders out, CMS in sync
You want Canva's template library, stock content, and AI features without building them
You are on Canva Enterprise already and the integration is internal

In those cases an editor SDK is the wrong answer and would cost you more work for a worse result. Start at canva.dev and check the current plan requirements on Canva's own pages, since those change.

When you need an editor instead of an API

The moment your own users need to touch a canvas, not just send and receive files, the requirement changes shape entirely. Use an editor SDK when any of these is true:

Users design inside your product, and never see another brand
Users must not need a third-party account to create something
You need the design as structured data you own: to validate, price, generate, or print it
You control the surface: which tools appear, what fonts and templates exist, how export works
You cannot send customer artwork to a third party for legal or compliance reasons

That is a design editor SDK, which is a different category of product from a workflow API.

Try the editor

The editor below runs live on this page, not a screenshot:

The honest trade: you do not get Canva's stock library, its template catalogue, or its brand recognition, and you take on integration work that a hosted API does not ask of you. If Canva's ecosystem is the point, the Connect API is the better tool.

Brand Ninja weighed the same decision before building on Polotno:

Common questions

Where to go next

Embed creative infrastructure into your product

TRUSTED BY

100,000+

CREATORS

300+

BUSINESSES

ExpediaUnbounceLovePopPostGridPredis.ai