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 Developers SDK, formerly the Connect APIs and Apps SDK: what the REST APIs cover, why none of it embeds a design editor in your product, when Canva is the right choice, and what to use when it isn't.

Canva's developer product is the Canva Developers SDK, and it has three surfaces: apps inside Canva, Canva for your platform, and Canva for AI assistants. This page explains what each one does, what none of them does, and where Polotno fits when none is the right shape. Everything about Canva below comes from Canva's own developer documentation, and we link the pages so you can verify it.

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

The short answer

The Canva Developers SDK has three surfaces. Canva for your platform uses the Canva REST APIs, formerly the Connect APIs, to let your system talk to Canva: upload assets, create designs from brand templates, export finished files back, while users still design inside Canva. Apps inside Canva, formerly the Apps SDK, run your app in Canva's editor as a side panel in an iframe, next to Canva's own tools. Canva for AI assistants lets people create, edit, and export Canva designs from an AI tool through the Canva MCP server. None of them puts a design canvas inside your product's UI, under your branding, for users without Canva accounts.

All three surfaces work on a user's Canva account. The REST APIs send that user to the Canva editor through an edit link and bring them back to your platform when they finish. 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, PDF, 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. On a paid license, the editor is fully white-label: your brand, your domain, no Canva-style third-party account or iframe boundary. Trial keys keep the "Powered by Polotno" credit.

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 Canva REST APIs actually do

The Canva REST APIs, formerly the Connect APIs, authorize through OAuth. Canva's API reference groups them by domain. These groups matter most for a product integration:

Designs

Create designs, list a user's designs, read metadata. Reading pages is a preview API.

Autofill

Push data into the named fields of a brand template or design to produce a finished design. Needs Canva Pro, Teams, or Enterprise.

Brand templates

Publish designs as templates (preview API), 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. Preview API.

Merges and resizes

Asynchronous jobs to merge designs or resize them. Merging is a preview API, and resizing needs a Canva plan with premium features.

Analytics

Design views, viewers, page and link analytics over time. Preview API, for users in a Canva Enterprise organization.

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. Canva advises against using its preview APIs in production, and a public app that uses one cannot pass review. If your product manages marketing assets and your users already live in Canva, it does real work: sync an asset library, generate a thousand localized 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 labeling

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 authorizes 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 import files and export formats such as PDF, PNG, PPTX, and MP4, but Canva documents no export of a design in its own format, so you do not hold the document as structured data you can query or transform.

Distribution is gated

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

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

Apps inside Canva run the other way

Apps inside Canva, formerly the Apps SDK, are often suggested when the REST APIs turn out not to embed an editor. They invert the direction instead.

An app inside Canva is a JavaScript bundle that runs inside an iframe in the Canva editor. Its main interface appears in the side panel next to Canva's own tools, and Canva can also run it elsewhere, such as an overlay on a selected image. It drives the canvas through Canva's APIs. You publish it in the Canva Apps Marketplace or, on a Canva Enterprise plan, share it privately with your team.

So apps inside Canva put your product inside Canva. The REST APIs pipe data between your product and Canva, and Canva for AI assistants puts Canva inside an AI tool. None puts Canva's editor inside your product, which is the thing most teams searching for "Canva API" are actually trying to do. Canva's docs mention embedding Canva in a workflow, but the documented flow sends the user to the Canva editor and back.

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 Canva REST APIs are the right tool whenever the relationship stays asset-to-asset instead of becoming an embedded surface. Use them 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 app is internal

In those cases an editor SDK is the wrong answer and would cost you more work for a worse result. Start with the Canva REST APIs docs 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 honest trade: you do not get Canva's stock library, its template catalog, or its brand recognition, and you take on integration work that a hosted API does not ask of you. Polotno's default panels do include Unsplash photos and bundled icons, shapes, and illustrations. If Canva's ecosystem is the point, the Canva REST APIs are the better tool.

Brand Ninja chose Polotno over building its own editor or relying on separate third-party tools:

Common questions

Q: Does Canva have an API?

Yes. The Canva Developers SDK is one product with three surfaces. Canva for your platform uses the Canva REST APIs, formerly the Connect APIs, to move assets, designs, and exports between your system and Canva. Apps inside Canva, formerly the Apps SDK, run in the Canva editor. Canva for AI assistants connects AI tools to Canva through the Canva MCP server. None of them embeds a Canva editor in your own product.

Q: What are the limitations of the Canva API?

The main one is directional: it connects your system to Canva rather than putting design capability inside your product. There is no embeddable editor, no white labeling, and every user needs their own Canva account and has to authorize access through OAuth. Designs stay in Canva's format and storage. You can export files, but you do not hold the document as structured data. Distribution is also gated: private apps require a Canva Enterprise plan, and public apps must pass Canva's review.

Q: How much does the Canva API cost?

Canva's developer docs list no separate price for the REST APIs. Anyone with a Canva account can use the Developer Portal, and some APIs depend on the user's plan: autofill needs Canva Pro, Teams, or Enterprise, analytics needs Canva Enterprise, and resizing needs a plan with premium features. Private apps require Canva Enterprise, and Canva says autofill usage limits will come later. Because those terms change, check Canva's current developer and enterprise pages rather than any third-party summary, including this one.

Q: Can I embed the Canva editor in my website or app?

Not for a new integration outside China. Canva's developer platform gives you no design canvas to mount in your own interface. Apps inside Canva run the other way round: your app appears in an iframe inside Canva's editor. Two older routes did put Canva's editor on a partner's site. The Print Partnership no longer accepts new applications, and the Canva Button is available only for users in China. To put an editor in your own product you need an editor SDK, such as Polotno, IMG.LY CreativeEditor SDK, or a build on a canvas library like Fabric.js or Konva. Polotno renders through Konva and shares its author.

Q: What is the difference between the Canva REST APIs and apps inside Canva?

Direction. The REST APIs, formerly the Connect APIs, move data between your backend and Canva, so your users design on canva.com. Apps inside Canva, formerly the Apps SDK, put your interface inside Canva's editor as a side panel, distributed through the Canva Apps Marketplace or, on Canva Enterprise, privately to your team. Pick the REST APIs for automation and asset flow; pick apps inside Canva when you want to reach Canva's existing users where they already work.

Q: Can I generate designs in bulk with the Canva API?

Yes. This is what the REST APIs are best at. Create a brand template with named fields, then use the autofill endpoints to fill those fields from your own data and the export endpoints to collect the rendered files. Both run as asynchronous jobs, so you poll for completion. Autofill needs a user on Canva Pro, Teams, or Enterprise, and Canva says usage limits will come later.

Where to go next

Embed creative infrastructure into your product

TRUSTED BY

100,000+

CREATORS

300+

BUSINESSES

ExpediaUnbounceLovePopPostGridPredis.ai