Canva
Connect Canva to find, create and export designs, upload images and videos, fill brand templates with data, resize designs, and organize folders.
You create a public app in the Canva Developer Portal, turn on its Canva REST APIs, tick the scopes and add PopMCP's redirect URL, then enter the app's Client ID and a generated client secret in PopMCP and sign in to Canva to approve access.
- Setup time
- 5 min
- Auth
- OAuth authorization
- API base URL
- https://api.canva.com/rest/v1
- Rate limits
- Per user of your app and per operation: 10 to 180 requests a minute (most reads 100, creating a design 20). Exports also have a limit of 75 per 5 minutes and 500 a day per user, 75 per 5 minutes per design, and 750 per 5 minutes and 5,000 a day per app.
Before you begin
- A Canva account on any plan. Sign in to the Developer Portal with the account you want to connect: the app you create works for your own account straight away, with no review by Canva.
- Multi-factor authentication turned on for that Canva account (Your account, Account and security, Multi-factor authentication). Canva requires it before the REST APIs can be used, and an account that signs in with Google or Apple needs a Canva password first.
- PopMCP's redirect URL from the connect form: https://app.popmcp.com/api/providers/canva/callback
- For resizing, autofill and brand templates, a Canva Pro, Teams or Enterprise plan (free accounts get a small trial of resize and autofill). Design analytics needs Canva Enterprise. Everything else works on Canva Free.
Get your credentials
Open Your apps
Go to canva.com/developers/apps and sign in with the Canva account you want to connect. On Your apps, click Create an app.
Your apps
Apps you have created or have access to.
You have no apps yet
Create one to get a Client ID and client secret.
Canva asks you to set up multi-factor authentication first if your account does not have it.
Create a public app
Enter an App name of 18 characters or fewer, such as PopMCP: Canva shows it when asking for access. Under Who can use your app? choose Public (Private is only for teams on Canva Enterprise, and the choice cannot be changed later). Accept the Developer Terms and click Create app.
Your apps
A public app works for your own account at once. Canva reviews it only if you release it to every Canva user.
Turn on the Canva REST APIs
In the app's menu open Outside Canva and click Start integrating, which creates the app's sign-in details and opens Configuration. Under Integration methods, make sure Canva REST APIs is on. You can leave Canva MCP off.
Configuration
Outside Canva
Start integrating appears the first time you open Outside Canva. Until you click it, Configuration and Redirect URLs are not shown.
Tick the scopes
Still on Configuration, under Scopes tick design:content Read and Write, design:meta Read, asset Read and Write, folder Read and Write, brandtemplate:meta Read, brandtemplate:content Read and Write, comment Read and Write, and profile Read. Canva refuses a sign-in that asks for a scope the app does not have, so tick every one.
Configuration
Outside Canva
collaboration:event and folder:permission are for webhooks; PopMCP does not need them.
Add PopMCP's redirect URL
Open Outside Canva, Redirect URLs and enter https://app.popmcp.com/api/providers/canva/callback in URL 1, exactly as PopMCP shows it.
Redirect URLs
Outside Canva
The Authorization URL generator on this page is not needed: PopMCP builds the sign-in link itself.
Copy the Client ID and generate a secret
Back on Configuration, under Credentials, copy the Client ID. Click Generate secret and copy the secret straight away: Canva shows it once, and generating another replaces it.
Configuration
Outside Canva
- Client ID
- OC-AZ1b2C3d4E5f
The full secret is shown only once, right after you generate it.
Enter both in PopMCP and sign in
Paste the Client ID into Client ID and the secret into Client secret, then click Sign in with Canva. Sign in with the same Canva account and click Allow on Canva's access page.
Connect in PopMCP
Open your workspace, choose Canva in the marketplace, and fill in the connect dialog:
| Field | What to enter |
|---|---|
| Client IDtext | Only needed to use your own app. In the Canva Developer Portal (canva.com/developers/apps) choose Create an app, pick Public, accept the terms and create it (Canva asks for multi-factor authentication on your account first). Open Outside Canva and click Start integrating, check Canva REST APIs is on, and under Scopes tick design:content (Read and Write), design:meta (Read), asset (Read and Write), folder (Read and Write), brandtemplate:meta (Read), brandtemplate:content (Read and Write), comment (Read and Write) and profile (Read). Add the redirect URL shown here under Outside Canva, Redirect URLs. Then copy the Client ID from Credentials and click Generate secret. |
| Client secretsecret | Click Generate secret under Outside Canva, Configuration, Credentials (Canva shows it once). Stored encrypted and used only on our server.Encrypted with AES-256-GCM on save and never shown again. |
https://app.popmcp.com/api/providers/canva/callbackIn the Canva Developer Portal open your app, go to Outside Canva, Redirect URLs and paste this into URL 1. It must match exactly, or Canva refuses the sign-in.
PopMCP verifies the credential against Canva immediately. On success the connection flips to Verified and its MCP tools are provisioned.
Permissions PopMCP requests
These are the scopes sent to Canva at authorization time.
| Scope | Why PopMCP asks for it |
|---|---|
| design:meta:read | Lists and searches designs and reads each design's title, owner, page count and edit and view links. Without it canva_list_designs and canva_get_design answer missing_scope. |
| design:content:read | Exports designs (PDF, PNG, JPG, GIF, PowerPoint, MP4, HTML, CSV), lists export formats, and reads pages and autofill data fields. |
| asset:read | Reads uploaded images and videos and the status of an upload. |
| folder:read | Lists what is in a folder, including the top level of Projects and Uploads. |
| brandtemplate:meta:read | Lists and searches the brand templates you can use. |
| brandtemplate:content:read | Reads a brand template's data fields, which autofill needs. |
| profile:read | Reads your display name and the features your Canva plan includes, which PopMCP shows on the connection. |
| design:content:write | Creates, copies, imports, resizes, merges and autofills designs, and generates designs with Canva AI. |
| asset:write | Uploads images and videos, renames and tags them, moves them to Trash, and creates images with Canva AI. |
| folder:write | Creates, renames and deletes folders and moves designs, folders and images between them. |
| comment:read | Reads comment threads and their replies (a Canva preview feature). |
| comment:write | Starts comment threads and replies on designs (a Canva preview feature). |
| brandtemplate:content:write | Publishes a design as a brand template (a Canva preview feature). |
Verify it worked
PopMCP shows Canva as Connected under your Canva name, and canva_list_designs returns your most recent designs with their edit links.
Troubleshooting
Canva shows an error page instead of asking for access
Why: PopMCP's callback is not in Redirect URLs on the app, differs by a character, or the app is missing a scope PopMCP asks for.
Fix: Under **Outside Canva**, **Redirect URLs**, set **URL 1** to `https://app.popmcp.com/api/providers/canva/callback`. Under **Configuration**, **Scopes**, tick every scope listed in the steps. Then connect again.
"Canva did not accept the app's Client ID and Client secret"
Why: The Client ID or secret was mistyped, or a newer secret was generated after you copied this one.
Fix: Under **Outside Canva**, **Configuration**, **Credentials**, click **Generate secret** and enter the new secret and the **Client ID** in PopMCP again.
"Canva signed in but refused to show the account"
Why: Canva REST APIs is turned off for the app, or a scope was left unticked.
Fix: Under **Configuration**, turn on **Canva REST APIs** in **Integration methods**, tick every scope, and connect again.
The Developer Portal will not let you create an app
Why: Your Canva account does not have multi-factor authentication turned on.
Fix: In Canva open **Your account**, **Account and security** and turn on **Multi-factor authentication** with an authenticator app (set a Canva password first if you sign in with Google or Apple). Then return to **Your apps**.
A tool answers missing_scope
Why: The app does not have the scope that operation needs.
Fix: Tick the scope under **Configuration**, **Scopes**, then reconnect Canva in PopMCP so the new sign-in includes it.
Resize, autofill or brand template tools answer permission_denied
Why: Those features need Canva Pro, Teams or Enterprise, and a free account's trial uses are spent.
Fix: Use an account on a paid Canva plan. canva_get_user_capabilities lists the features the connected account has.
429 too_many_requests
Why: Canva limits each user per operation (for example 20 new designs a minute) and exports to 75 every 5 minutes and 500 a day.
Fix: Wait about a minute and try again. Export several pages in one call instead of one call per page.
"Canva no longer accepts this connection's sign-in"
Why: Access was removed in Canva, the app's secret was replaced, or the app was deleted.
Fix: Reconnect Canva to sign in again.
Reference
Bannerbear
Connect Bannerbear to turn templates into images, PDFs, animations and videos, run workflows, and remove backgrounds, add subtitles or trim clips.
ElevenLabs
Connect ElevenLabs to turn text into speech, design and clone voices, transcribe and dub audio, and build voice agents. MCP setup for Claude and ChatGPT.