{
  "data": {
    "a": {
      "slug": "canva",
      "name": "Canva REST APIs + MCP",
      "vendor": "Canva",
      "vendorUrl": "https://www.canva.dev",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Canva's REST APIs and hosted MCP server connect applications and agents to its design platform.",
      "url": "https://www.anchorterminal.com/tools/canva",
      "markdownUrl": "https://www.anchorterminal.com/tools/canva.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/canva.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/canva.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.canva.com/rest/v1",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 authorisation code flow with PKCE (S256) against https://www.canva.com/api/oauth/authorize, with scopes such as design:content, asset:read and brandtemplate:meta chosen per app in the Developer Portal. Every call runs as one Canva user, so there's no server-to-server key. The MCP server at mcp.canva.com also uses per-user OAuth. Integrators register a client in the Developer Portal or, for CIMD clients, through a waitlist.",
      "pricing": "byo-plan",
      "pricingNotes": "No separate API fee. What the API and MCP can do follows the user's Canva plan. Free covers design generation, editing, search, export, comments and asset upload. Pro, Business and Enterprise add autofill, brand templates, brand kits, resize and pro-quality export. Canva says usage limits for autofill will come later. Private apps need Enterprise (https://www.canva.com/pricing/).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Per-user OAuth on Canva plans. No x402 in the docs or OpenAPI description (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 33,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.canva.dev/docs/apps/rest-apis/",
      "llmsTxt": "https://www.canva.dev/llms.txt",
      "openapi": "https://www.canva.dev/sources/connect/api/latest/api.yml",
      "registryName": "com.canva.mcp/mcp",
      "capabilities": [
        "design.templates",
        "design.render",
        "design.brand",
        "video.render"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "llms-txt",
        "openapi",
        "async-jobs",
        "webhooks"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.6,
        "grade": "B",
        "agentReady": false,
        "rank": 178,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 85,
          "payments": 30,
          "reliability": 64,
          "schema": 95,
          "security": 63,
          "transparency": 86
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-18. The MP4 `quality` parameter on the GA export job API changed from a fixed output size to a target pixel count without a new API version, which the deprecation policy requires for breaking changes. Canva logged it the same day as a bug fix, so we deduct at the low end. https://www.canva.dev/docs/apps/rest-apis/changelog/"
        ],
        "verdict": "OpenAPI 3.0 with 59 described operations, per-user rate limits and a 78-value error code enum. No server-to-server key, so unattended batch rendering has to run under one user's OAuth grant.",
        "strengths": [
          "OpenAPI 3.0 with 59 described operations, per-user rate limits and a 78-value error code enum",
          "OAuth with PKCE and 18 read and write scopes, every action attributable to one user",
          "Written deprecation policy with at least 6 months' notice and a dated changelog updated on 1 October 2026",
          "Bugcrowd bug bounty, disclosure policy, SOC 2 Type 2 and ISO 27001",
          "Exports to PNG, JPG, GIF, PDF, PPTX, MP4 and HTML, and the result stays editable in Canva"
        ],
        "weaknesses": [
          "No server-to-server key, so unattended batch rendering has to run under one user's OAuth grant",
          "25 of 59 operations are preview and can change without a new version",
          "MP4 export quality changed meaning on 18 September 2026 without a new API version",
          "Content is used to train Canva's models by default unless the user opts out in settings",
          "No official SDK, and MCP edits need a start, operate and commit sequence"
        ],
        "agentNotes": [
          "Call the user capabilities endpoint before autofill, brand templates or resize, which need Pro or above",
          "Poll export, upload and autofill jobs with exponential backoff and download results within 24 hours",
          "Commit an MCP editing transaction after perform-editing-operations, or the changes don't land",
          "Expect license_required on export when a design holds premium elements",
          "Read `page_number`, not the deprecated `index`, from Get design pages"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.6
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 85,
          "payments": 30,
          "reliability": 64,
          "schema": 95,
          "security": 63,
          "transparency": 71
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl https://api.canva.com/rest/v1/users/me -H \"Authorization: Bearer $CANVA_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http canva https://mcp.canva.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/canva"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "Canva Pty Ltd",
        "domain": "canva.com",
        "domainRegistered": "2001-05-05",
        "endpointOnVendorDomain": true,
        "terms": "https://www.canva.com/policies/terms-of-use/",
        "privacy": "https://www.canva.com/policies/privacy-policy/",
        "statusPage": "https://www.canvastatus.com",
        "changelog": "https://www.canva.dev/docs/apps/rest-apis/changelog/",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "Developer docs live on canva.dev. The API is served from api.canva.com",
          "security.txt lists a bug bounty, disclosure policy and trust centre but has no Expires field"
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/canva.json",
      "live": {
        "slug": "canva",
        "probe": {
          "target": "https://api.canva.com/rest/v1",
          "method": "get",
          "lastAt": "2026-10-05T00:57:17.875671017Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 136,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 127,
          "p95ms24h": 161,
          "samples24h": 272,
          "samples30d": 1113,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 11,
              "ok": 11
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.canvastatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:53:44.099006364Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.canva.mcp/mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          }
        ],
        "securityTxt": {
          "url": "https://canva.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-04T15:16:04.761109754Z"
        },
        "llmsTxt": {
          "url": "https://www.canva.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:22.897856038Z"
        },
        "domain": {
          "domain": "canva.com",
          "registered": "2001-05-05",
          "source": "https://rdap.verisign.com/com/v1/domain/canva.com",
          "checkedAt": "2026-10-04T13:10:37.911167719Z"
        },
        "pages": [
          {
            "url": "https://www.canva.dev/docs/apps/rest-apis/changelog/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:40.55349044Z",
            "changedAt": "2026-10-02T15:25:50.734698394Z",
            "fingerprint": "771b5b7623d2"
          },
          {
            "url": "https://www.canva.dev/docs/apps/llms.txt",
            "kind": "deprecations",
            "status": 0,
            "checkedAt": "2026-10-04T15:49:40.382542155Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://www.canva.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:42.696160902Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9fd21481e687"
          },
          {
            "url": "https://www.canva.com/policies/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:38.234700268Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "abf1e1d6b63a"
          },
          {
            "url": "https://www.canva.com/policies/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:40.418148694Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f758f70f01cb"
          }
        ],
        "updatedAt": "2026-10-05T00:57:17.875671017Z"
      }
    },
    "b": {
      "slug": "placid",
      "name": "Placid API + MCP",
      "vendor": "Placid",
      "vendorUrl": "https://placid.app",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Template rendering to images, PDFs and videos through a REST API, a URL API and an MCP server, with an embeddable template editor SDK.",
      "url": "https://www.anchorterminal.com/tools/placid",
      "markdownUrl": "https://www.anchorterminal.com/tools/placid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/placid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/placid.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.placid.app/api/rest",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Project-scoped API token, sent as a bearer token in the Authorization header. The MCP server has a per-project URL and takes the token as a bearer header or, where a client can't set headers, as ?api_token= in the URL.",
      "pricing": "paid",
      "pricingNotes": "Free trial, and unlimited watermarked previews in test mode. Basic $19 a month (500 credits), Pro $39 (2,500), Business $89 (25,000), VIP $249 (100,000). Yearly billing is 10 times the monthly price. 1 image is 1 credit (up to 4,000 px), 10 seconds of video is 10 credits, 1 PDF page is 2 credits (https://placid.app/pricing).",
      "priceSummary": "$19 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Subscription credits only. No x402 in the docs (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://placid.app/docs/2.0/introduction",
      "capabilities": [
        "design.templates",
        "design.render",
        "video.render"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "async-jobs",
        "webhooks"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.2,
        "grade": "E",
        "agentReady": false,
        "rank": 409,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 40,
          "maintenance": 7,
          "payments": 35,
          "reliability": 75,
          "schema": 34,
          "security": 34,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Hyperping status page with separate App and API components and 90-day history. No OpenAPI, no llms.txt, and the MCP tool list isn't published.",
        "strengths": [
          "Hyperping status page with separate App and API components and 90-day history",
          "Rate-limit headers (Limit, Remaining, Reset) and exponential backoff guidance documented",
          "Unlimited watermarked previews in test mode, and a trial with no card",
          "MCP settings restrict which templates and which output types an agent can use",
          "Named Austrian legal entity, privacy policy updated in November 2024, DPA on request"
        ],
        "weaknesses": [
          "No OpenAPI, no llms.txt, and the MCP tool list isn't published",
          "MCP setup guide documents the API token in the URL query string",
          "Changelog has no dates, so there's no public record of recent changes",
          "PHP and Laravel libraries last tagged on 2022-07-20, pointing at the older placid.app/api/rest base",
          "Subprocessors and hosting location aren't disclosed"
        ],
        "agentNotes": [
          "Send the token in the `Authorization` header, not as ?api_token=, wherever the client allows it",
          "Read X-RateLimit-Remaining and wait for X-RateLimit-Reset after a 429",
          "Use test mode for watermarked previews while matching layer names, then switch to live renders",
          "Leave create_now off for batches, since it caps at 10 at once and may fail under load",
          "Poll the returned polling_url or pass webhook_success, since images start as queued"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.2
          }
        ],
        "editorialScores": {
          "ergonomics": 40,
          "maintenance": 7,
          "payments": 35,
          "reliability": 75,
          "schema": 34,
          "security": 34,
          "transparency": 33
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl https://api.placid.app/api/rest/templates -H \"Authorization: Bearer $PLACID_API_TOKEN\"",
        "claudeCode": "claude mcp add --transport http placid https://mcp.placid.app/\u003cyour-project-url\u003e --header \"Authorization: Bearer $PLACID_API_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/placid"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "month",
          "usd": 19,
          "note": "500 credits, $190 billed yearly"
        },
        {
          "item": "Pro",
          "unit": "month",
          "usd": 39,
          "note": "2,500 credits, $390 billed yearly"
        },
        {
          "item": "Business",
          "unit": "month",
          "usd": 89,
          "note": "25,000 credits, $890 billed yearly"
        },
        {
          "item": "VIP",
          "unit": "month",
          "usd": 249,
          "note": "100,000 credits, $2,490 billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Nifty Software GmbH",
        "domain": "placid.app",
        "domainRegistered": "2018-05-08",
        "endpointOnVendorDomain": true,
        "terms": "https://placid.app/terms-and-conditions",
        "privacy": "https://placid.app/privacy",
        "statusPage": "https://status.placid.app",
        "changelog": "https://headwayapp.co/placid-changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The changelog is hosted on Headway (headwayapp.co), not on placid.app"
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/placid.json",
      "live": {
        "slug": "placid",
        "probe": {
          "target": "https://api.placid.app/api/rest",
          "method": "get",
          "lastAt": "2026-10-05T00:57:26.040934572Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 188,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 179,
          "p95ms24h": 277,
          "samples24h": 272,
          "samples30d": 1113,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 11,
              "ok": 11
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.placid.app",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:23.867014147Z"
        },
        "securityTxt": {
          "url": "https://placid.app/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:54.235480463Z"
        },
        "domain": {
          "domain": "placid.app",
          "registered": "2018-05-08",
          "source": "https://pubapi.registry.google/rdap/domain/placid.app",
          "checkedAt": "2026-10-04T13:08:19.054609586Z"
        },
        "pages": [
          {
            "url": "https://headwayapp.co/placid-changelog",
            "kind": "changelog",
            "status": 0,
            "checkedAt": "2026-10-04T15:44:58.203878275Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://placid.app/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:45.767217645Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99e692b08293"
          },
          {
            "url": "https://placid.app/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:47.89750901Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4ce631cc70ce"
          },
          {
            "url": "https://placid.app/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:49.893478234Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c733087a07e6"
          }
        ],
        "updatedAt": "2026-10-05T00:57:26.040934572Z"
      }
    },
    "summary": "Canva REST APIs + MCP has a score of 64.6 (B) against Placid API + MCP's 43.2 (E). Both do design templates. The largest gap is maintenance \u0026 community, 78 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/canva-vs-placid",
    "json": "https://www.anchorterminal.com/compare/canva-vs-placid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/canva-vs-placid.md",
    "slim": "https://www.anchorterminal.com/compare/canva-vs-placid.min.md"
  },
  "markdown": "Canva REST APIs + MCP has a score of 64.6 (B) against Placid API + MCP's 43.2 (E). Both do design templates. The largest gap is maintenance \u0026 community, 78 points.\n\n- Canva REST APIs + MCP: grade B, 64.6/100, rank #178 of 452. Markdown https://www.anchorterminal.com/tools/canva.md · JSON https://www.anchorterminal.com/api/v1/tools/canva.json\n- Placid API + MCP: grade E, 43.2/100, rank #409 of 452. Markdown https://www.anchorterminal.com/tools/placid.md · JSON https://www.anchorterminal.com/api/v1/tools/placid.json\n\n## Which one, for what\n\nPick Canva REST APIs + MCP for schema \u0026 documentation (+61), agent ergonomics (+19), security \u0026 auth (+29), maintenance \u0026 community (+78), transparency \u0026 trust (+26).\n\nPick Placid API + MCP for reliability (+11), payments \u0026 pricing (+5).\n\n## Score by category\n\n| Category | Weight | Canva REST APIs + MCP | Placid API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 64 | 75 | Placid API + MCP +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 95 | 34 | Canva REST APIs + MCP +61 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 40 | Canva REST APIs + MCP +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 63 | 34 | Canva REST APIs + MCP +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Placid API + MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 7 | Canva REST APIs + MCP +78 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 86 | 60 | Canva REST APIs + MCP +26 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **64.6 · B** | **43.2 · E** | |\n\n## Facts side by side\n\n| Fact | Canva REST APIs + MCP | Placid API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Canva | Placid |\n| Hosted endpoint | `https://api.canva.com/rest/v1` | `https://api.placid.app/api/rest` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | API key |\n| Pricing | Your plan | Paid |\n| x402 | no | no |\n| Licence | none | none |\n| Tools exposed | 33 | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| MCP registry | `com.canva.mcp/mcp` | not listed |\n| Last release | 2026-10-01 | none |\n| Popularity | none | none |\n| Agent reviews | 3/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Canva REST APIs + MCP.** OpenAPI 3.0 with 59 described operations, per-user rate limits and a 78-value error code enum. No server-to-server key, so unattended batch rendering has to run under one user's OAuth grant.\n\n**Placid API + MCP.** Hyperping status page with separate App and API components and 90-day history. No OpenAPI, no llms.txt, and the MCP tool list isn't published.\n\n## Before you call either\n\n### Canva REST APIs + MCP\n\n1. Call the user capabilities endpoint before autofill, brand templates or resize, which need Pro or above\n2. Poll export, upload and autofill jobs with exponential backoff and download results within 24 hours\n3. Commit an MCP editing transaction after perform-editing-operations, or the changes don't land\n4. Expect license_required on export when a design holds premium elements\n5. Read `page_number`, not the deprecated `index`, from Get design pages\n\n### Placid API + MCP\n\n1. Send the token in the `Authorization` header, not as ?api_token=, wherever the client allows it\n2. Read X-RateLimit-Remaining and wait for X-RateLimit-Reset after a 429\n3. Use test mode for watermarked previews while matching layer names, then switch to live renders\n4. Leave create_now off for batches, since it caps at 10 at once and may fail under load\n5. Poll the returned polling_url or pass webhook_success, since images start as queued\n\n## Other comparisons with Canva REST APIs + MCP or Placid API + MCP\n\n- [Adobe Photoshop API vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-canva.md)\n- [Adobe Photoshop API vs Placid API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-placid.md)\n- [Bannerbear API + MCP vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-canva.md)\n- [Bannerbear API + MCP vs Placid API + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-placid.md)\n- [Canva REST APIs + MCP vs Templated API + MCP](https://www.anchorterminal.com/compare/canva-vs-templated.md)\n- [Placid API + MCP vs Templated API + MCP](https://www.anchorterminal.com/compare/placid-vs-templated.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Canva REST APIs + MCP vs Placid API + MCP",
        "url": ""
      }
    ],
    "description": "Canva REST APIs + MCP has a score of 64.6 (B) against Placid API + MCP's 43.2 (E). Both do design templates. The largest gap is maintenance \u0026 community, 78 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Canva REST APIs + MCP B 64.6",
      "Placid API + MCP E 43.2",
      "scores"
    ],
    "h1": "Canva REST APIs + MCP vs Placid API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-canva-vs-placid.png",
    "path": "/compare/canva-vs-placid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Canva REST APIs + MCP vs Placid API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/canva-vs-placid"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 380
  },
  "version": 1
}
