{
  "data": {
    "a": {
      "slug": "bannerbear",
      "name": "Bannerbear API + MCP",
      "vendor": "Bannerbear",
      "vendorUrl": "https://www.bannerbear.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Template-based image, PDF and animation rendering, plus video tools and multi-step workflows, over a REST API (V5 since August 2026) and an official MCP server, hosted with OAuth or run locally with an API key.",
      "url": "https://www.anchorterminal.com/tools/bannerbear",
      "markdownUrl": "https://www.anchorterminal.com/tools/bannerbear.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bannerbear.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bannerbear.json",
      "dns": "bannerbear.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.bannerbear.com/v5",
      "packages": [
        {
          "registry": "npm",
          "name": "@bannerbear/mcp"
        },
        {
          "registry": "npm",
          "name": "bannerbear"
        },
        {
          "registry": "pypi",
          "name": "bannerbear"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API key for REST. V5 keys (bb_ak_v5_...) can be scoped per resource and action, such as images:write, and restricted to browser origins, and they don't work on V2 endpoints. The hosted MCP uses OAuth. The local MCP takes BANNERBEAR_API_KEY.",
      "pricing": "paid",
      "pricingNotes": "Free trial with 30 API credits and no card. Automate $49 a month (1,000 API credits, 200 AI credits), Scale from $149 a month (10,000 credits, up to 40,000), Enterprise from $299 a month (50,000 credits, up to 2,000,000). An image is 1 credit per format and scale step. Animations are 2 credits a second of output. AI layers and media tools cost extra credits (https://www.bannerbear.com/pricing/).",
      "priceSummary": "$49 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "Subscription credits only. No x402 in the docs or OpenAPI schema (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 63,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1090,
        "pypiWeekly": 8,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.bannerbear.com/v5/",
      "llmsTxt": "https://www.bannerbear.com/llms.txt",
      "openapi": "https://api.bannerbear.com/v5/openapi.json",
      "capabilities": [
        "design.templates",
        "design.render",
        "video.render",
        "image.edit"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "llms-txt",
        "openapi",
        "no-card",
        "async-jobs",
        "webhooks"
      ],
      "lastRelease": "2026-09-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.6,
        "grade": "C",
        "agentReady": false,
        "rank": 693,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 67,
          "payments": 35,
          "reliability": 45,
          "schema": 83,
          "security": 57,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Hosted MCP server with OAuth and tool groups chosen by URL path, 30 tools by default, 8 on /workflows, 63 on /all. Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties.",
        "bestFor": "Teams and agents that render branded images, PDFs and short animations from data and want an MCP server they can narrow.",
        "strengths": [
          "Hosted MCP server with OAuth and tool groups chosen by URL path, 30 tools by default, 8 on /workflows, 63 on /all",
          "V5 keys scoped per resource and action, with browser origin allowlists, and the MCP drops tools a key can't call",
          "OpenAPI 3.1 schema for V5 and a dated changelog with four entries between 31 July and 18 September 2026",
          "Official SDKs for Ruby, Node, Python and PHP",
          "Over-quota requests are refused with a 402 rather than billed, and failed tool jobs aren't charged since 9 September 2026"
        ],
        "weaknesses": [
          "Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties",
          "No security.txt, no security page and no certification or bug bounty found",
          "No Retry-After, idempotency key or MCP tool annotations, and five MCP tools delete permanently without confirmation",
          "Status page renders only with JavaScript, and no incident history could be read",
          "No free plan. The trial is 30 credits, and image credits multiply by format and scale"
        ],
        "agentNotes": [
          "Connect to mcp.bannerbear.com/workflows or a comma-separated group path instead of /all, which loads 63 tools",
          "Treat 402 as spent quota and 429 as the 60 POST per 10 second limit, and back off yourself since no Retry-After is sent",
          "Use sync.api.bannerbear.com only for /v5/images, and expect a 408 after 10 seconds",
          "Ask for one format at scale 1 unless you need more, since jpg plus png at scale 2 costs 4 credits",
          "Create a V5 key (bb_ak_v5_) for V5 endpoints, since V2 keys are refused there"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.6
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 67,
          "payments": 35,
          "reliability": 45,
          "schema": 83,
          "security": 57,
          "transparency": 36
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.bannerbear.com/v5/account -H \"Authorization: Bearer $BANNERBEAR_API_KEY\"",
        "claudeCode": "claude mcp add --transport http bannerbear https://mcp.bannerbear.com/",
        "config": {
          "mcpServers": {
            "bannerbear": {
              "args": [
                "-y",
                "@bannerbear/mcp"
              ],
              "command": "npx",
              "env": {
                "BANNERBEAR_API_KEY": "${BANNERBEAR_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/bannerbear"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Automate",
          "unit": "month",
          "usd": 49,
          "note": "1,000 API credits and 200 AI credits"
        },
        {
          "item": "Scale",
          "unit": "month",
          "usd": 149,
          "note": "10,000 API credits, higher tiers up to 40,000"
        },
        {
          "item": "Enterprise",
          "unit": "month",
          "usd": 299,
          "note": "50,000 API credits, higher tiers up to 2,000,000"
        }
      ],
      "provenance": {
        "legalEntity": "Twenty Four Twelve Systems Pte. Ltd.",
        "domain": "bannerbear.com",
        "domainRegistered": "2019-12-24",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bannerbear.com/terms/",
        "privacy": "https://www.bannerbear.com/privacy/",
        "statusPage": "https://status.bannerbear.com",
        "changelog": "https://www.bannerbear.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bannerbear.json",
      "live": {
        "slug": "bannerbear",
        "probe": {
          "target": "https://api.bannerbear.com/v5",
          "method": "get",
          "lastAt": "2026-11-07T19:21:54.685993412Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 327,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 303,
          "p95ms24h": 383,
          "samples24h": 238,
          "samples30d": 7920,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bannerbear.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:09.613520669Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@bannerbear/mcp",
            "version": "0.14.0",
            "seenAt": "2026-11-06T23:10:05.381729656Z"
          },
          {
            "registry": "npm",
            "name": "bannerbear",
            "version": "2.0.0",
            "seenAt": "2026-11-06T23:10:05.612233322Z"
          },
          {
            "registry": "pypi",
            "name": "bannerbear",
            "version": "1.2.0",
            "released": "2026-08-17",
            "seenAt": "2026-11-06T23:10:07.584626819Z"
          }
        ],
        "npmWeekly": 43,
        "pypiWeekly": 7,
        "securityTxt": {
          "url": "https://bannerbear.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:36.083423614Z"
        },
        "llmsTxt": {
          "url": "https://www.bannerbear.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:41.625425226Z"
        },
        "domain": {
          "domain": "bannerbear.com",
          "registered": "2019-12-24",
          "source": "https://rdap.verisign.com/com/v1/domain/bannerbear.com",
          "checkedAt": "2026-11-01T14:19:47.116436649Z"
        },
        "pages": [
          {
            "url": "https://www.bannerbear.com/changelog/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:20.96968433Z",
            "changedAt": "2026-10-20T00:09:36.078651063Z",
            "fingerprint": "e870d5e2d067"
          },
          {
            "url": "https://www.bannerbear.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:23.351462002Z",
            "changedAt": "2026-10-20T00:09:38.499010974Z",
            "fingerprint": "7593e775cfa8"
          },
          {
            "url": "https://www.bannerbear.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:25.064882863Z",
            "changedAt": "2026-10-20T00:09:40.328580226Z",
            "fingerprint": "8407cd85f021"
          },
          {
            "url": "https://www.bannerbear.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:25:27.355617325Z",
            "changedAt": "2026-10-20T00:09:42.434701388Z",
            "fingerprint": "b369afa2fccf"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.bannerbear.com/",
          "checkedAt": "2026-11-07T01:42:41.878144214Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:42:41.878144214Z"
        },
        "updatedAt": "2026-11-07T19:21:54.685993412Z"
      }
    },
    "answer": "Bannerbear API + MCP scores 59.6 (C) on agent readiness against Layerre's 57.6 (C), and leads in 4 of 7 scored categories. Layerre leads on maintenance \u0026 community.",
    "b": {
      "slug": "layerre",
      "name": "Layerre",
      "vendor": "Layerre",
      "vendorUrl": "https://layerre.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Layerre turns Canva designs into reusable templates with editable layers and renders PNG, JPEG, WebP or PDF variants from data, through a REST API, a hosted MCP server and no-code connectors.",
      "url": "https://www.anchorterminal.com/tools/layerre",
      "markdownUrl": "https://www.anchorterminal.com/tools/layerre.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/layerre.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/layerre.json",
      "dns": "layerre.grade.anchorterminal.com",
      "repo": "https://github.com/Layerre/layerre-mcp",
      "license": "MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.layerre.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@layerre/mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST uses an API key (`lyr_...`) created at layerre.com/app/api-keys and sent as `Authorization: Bearer`; keys can be rotated in the dashboard. The hosted MCP server at mcp.layerre.com signs in with OAuth 2.1 and PKCE through a Supabase authorisation server, or takes the same API key as a bearer header for headless use. No key scopes documented.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 with 50 renders a month and API access. Starter $15 a month (500 renders), Plus $29 (2,000, up to 3 seats), Pro $99 (20,000, up to 10 seats); yearly plans give two months free. Each template import and each variant is one render. No overage; upgrade or wait for the reset.",
      "priceSummary": "$15 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "Subscriptions billed through Stripe. No x402, MPP or L402 in the OpenAPI, llms.txt, auth.md or pricing.md (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 13,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 119,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://layerre.com/docs/",
      "llmsTxt": "https://layerre.com/llms.txt",
      "openapi": "https://layerre.com/openapi.json",
      "registryName": "com.layerre/layerre",
      "capabilities": [
        "design.templates",
        "design.render",
        "pdf.generate"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "openapi",
        "llms-txt",
        "oauth",
        "api-key",
        "freemium",
        "free-tier",
        "canva",
        "bulk"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.6,
        "grade": "C",
        "agentReady": false,
        "rank": 789,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 78,
          "payments": 25,
          "reliability": 42,
          "schema": 87,
          "security": 48,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 contract, published rate limits with Retry-After, and 13 annotated MCP tools that can't delete anything make Layerre straightforward for an agent to call. It works only from Canva designs, is run by a sole proprietor with no status page or SLA, and its API and MCP server are at version 0.1.0.",
        "bestFor": "Bulk image and PDF variants from Canva designs a team already has.",
        "strengths": [
          "Public OpenAPI 3.1 with examples, llms.txt and Markdown mirrors of key pages",
          "Rate limits in numbers, and 429 responses with Retry-After plus retry code samples",
          "Every MCP tool carries readOnly, destructive and idempotent hints, and the server has no delete or billing tools",
          "Free plan of 50 renders a month includes API access",
          "Privacy policy and DPA name ten subprocessors with locations"
        ],
        "weaknesses": [
          "Imports Canva designs only; there is no template editor of its own",
          "No status page or SLA found",
          "API and MCP server are at version 0.1.0, with the MCP package first published on 29 October 2026",
          "No key scopes or read-only key documented",
          "Run by a sole proprietorship in Ontario with no named owner on its pages"
        ],
        "agentNotes": [
          "Call `layerre_auth_status` first to confirm the connection",
          "Read a template's layer IDs with `layerre_get_template` before creating variants",
          "Use the bulk variant endpoint for batches; each variant still costs one render",
          "On 429 wait for the Retry-After seconds; limits are per IP address",
          "Expect template import from a Canva link to take 10 to 30 seconds"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.6
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 78,
          "payments": 25,
          "reliability": 42,
          "schema": 87,
          "security": 48,
          "transparency": 64
        },
        "provenanceScore": 62,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.layerre.com/v1/templates -H \"Authorization: Bearer $LAYERRE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http layerre https://mcp.layerre.com/mcp",
        "config": {
          "mcpServers": {
            "layerre": {
              "url": "https://mcp.layerre.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/layerre"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 15,
          "note": "500 renders a month, about $0.03 a render"
        },
        {
          "item": "Plus plan",
          "unit": "month",
          "usd": 29,
          "note": "2,000 renders a month, up to 3 seats"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 99,
          "note": "20,000 renders a month, about $0.005 a render, up to 10 seats"
        }
      ],
      "provenance": {
        "legalEntity": "Layerre (sole proprietorship, Ontario, Canada)",
        "domain": "layerre.com",
        "domainRegistered": "2025-08-13",
        "endpointOnVendorDomain": true,
        "terms": "https://layerre.com/terms/",
        "privacy": "https://layerre.com/privacy/",
        "statusPage": "",
        "changelog": "https://layerre.com/whats-new/",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms, privacy policy and DPA, all last updated 13 August 2026, name Layerre, a sole proprietorship based in Ontario, Canada, under Ontario law. No owner is named on the site; the MCP repository's commits are by Nicole Streltsov.",
          "The terms forbid automated systems (bots, scrapers) without permission. Public pages were read as data.",
          "layerre.com/robots.txt disallows /app/, /reset-password and /oauth/, with Content-Signal ai-train=no, search=yes, ai-input=yes. layerre-landing.pages.dev serves the same robots.txt and site.",
          "RDAP gives layerre.com a registration date of 13 August 2025.",
          "/.well-known/security.txt answers 200 with the site's HTML shell, not a security.txt file. No status page found. The What's New pages are drawn by script; their dates come from the sitemap."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/layerre.json",
      "live": {
        "slug": "layerre",
        "probe": {
          "target": "https://api.layerre.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T19:22:15.995094205Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 311,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 310,
          "p95ms24h": 415,
          "samples24h": 210,
          "samples30d": 210,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.layerre/layerre",
            "version": "0.1.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@layerre/mcp-server",
            "version": "0.1.0",
            "seenAt": "2026-11-06T23:39:10.744093049Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 119,
        "securityTxt": {
          "url": "https://layerre.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:04.824003957Z"
        },
        "llmsTxt": {
          "url": "https://layerre.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:52.000761574Z"
        },
        "pages": [
          {
            "url": "https://layerre.com/whats-new/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:39.384244794Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76ef99f3a88"
          },
          {
            "url": "https://layerre.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:35.304236441Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76ef99f3a88"
          },
          {
            "url": "https://layerre.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:12:37.533574445Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a76ef99f3a88"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.layerre.com/mcp",
          "checkedAt": "2026-11-07T01:51:50.188462603Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-06T01:38:41.856942389Z"
        },
        "updatedAt": "2026-11-07T19:22:15.995094205Z"
      }
    },
    "edges": [
      {
        "by": 11,
        "category": "maintenance",
        "leads": "layerre",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Newest changelog entry 18 September 2026, 47 days before this check (20, down from 30 on time). Three dated entries since 6 August, 18 August, 9 September and 18 September (20). The MCP repository's 0.14.0 commit is dated 7 October 2026, but its npm publication couldn't be read on 4 November, so it doesn't set recency (as growthbook's unconfirmed SDK). The four SDK repositories' newest tags are from 13 August 2026 (Node and PHP v1.6.0, Python v1.1.0, Ruby v0.3.0), older than the changelog entry. Monthly public changelog. We didn't check support response or the MCP repo's issues (10). Official SDKs in four languages announced in May 2026 and @bannerbear/mcp 0.13.0 published in September 2026, but the MCP server isn't in the official MCP registry, which lists only a third-party Bannerbear server (12). The MCP repo has test scripts but no CI workflow, and depends on @modelcontextprotocol/sdk ^1.12.0 (5).",
          "b": "@layerre/mcp-server 0.1.0 published to npm on 29 October 2026, 8 days before this check (30). MCP server commits from 19 to 24 October, the registry entry of 29 October, and What's New entries dated 21 August and 18 October in the sitemap (20). The repository is a week old with no issues to judge; support by email and in-app chat (5 of 25). com.layerre/layerre is in the official MCP registry under a domain-verified namespace (15). CI runs the vitest suite on push and pull requests to main on Node 22 (8 of 10). 30 + 20 + 5 + 15 + 8 = 78."
        },
        "scores": {
          "a": 67,
          "b": 78
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "bannerbear",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 in the docs or the OpenAPI (0). Plans are public and the pricing page states credit costs per unit (1 credit per image per format and scale step, 2 credits a second of animation, 1 to 4 per media tool), between plan-only and per-unit pricing (15). Trial with 30 API credits and no card (20). A person signs up in a browser to get a key (0).",
          "b": "No x402, MPP or L402 (0). Plan prices are public with render counts, and one import or one variant is one render, so the price a render follows from the plan (about $0.03 on Starter, $0.005 on Pro) without being published per unit (15 of 20). Free plan of 50 renders a month with API access; the pricing page doesn't say whether a card is needed (10 of 20, half as with an unstated card rule). A person signs up and creates the key, or approves OAuth in a browser (0). 0 + 15 + 10 + 0 = 25."
        },
        "scores": {
          "a": 35,
          "b": 25
        }
      },
      {
        "by": 9,
        "category": "security",
        "leads": "bannerbear",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "V5 keys can be scoped per resource and action (`images:write`, `templates:read`) and pinned to browser origins, and the hosted MCP uses OAuth. Unscoped keys get full access, and we found no rotation guidance (27). A read-scoped key yields a read-only MCP tool list, but delete tools run with no confirmation step (12). The tool returns renders and records from your own account, little untrusted content (10). Audit logs are listed for the Enterprise plan at $299 a month only (8). No security.txt and /security returns 404. No bug bounty, disclosure policy or certification found. 2FA from the Scale plan, SSO on Enterprise (0).",
          "b": "OAuth 2.1 with PKCE for MCP through a Supabase authorisation server, and revocable `lyr_` API keys with rotation in the dashboard. No scopes documented for either, and auth.md says the REST API has no OAuth yet (22 of 30). The MCP server cannot delete templates, change billing or manage API keys, but there is no read-only key or endpoint (12 of 20). Tools return the user's own templates and renders; template import fetches a Canva link the user gives (10 of 15). The open-source server emits audit log lines for each tool call for whoever runs it, and nothing per call is documented for the hosted service (4 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 12 + 10 + 4 + 0 = 48."
        },
        "scores": {
          "a": 57,
          "b": 48
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bannerbear",
        "b": "Layerre",
        "name": "Vendor"
      },
      {
        "a": "https://api.bannerbear.com/v5",
        "b": "https://api.layerre.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026",
        "name": "Licence"
      },
      {
        "a": "63",
        "b": "13",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.layerre/layerre",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-18",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "2021-06-29",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2021-06-29",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.1k npm/wk, 8 PyPI/wk",
        "b": "119 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Bannerbear API + MCP scores 59.6 (C) on agent readiness against Layerre's 57.6 (C), and leads in 4 of 7 scored categories. Layerre leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Bannerbear API + MCP or Layerre?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Bannerbear API + MCP and Layerre need an API key?"
      },
      {
        "answer": "Yes. Bannerbear API + MCP has a hosted endpoint at https://api.bannerbear.com/v5 and Layerre at https://api.layerre.com/v1.",
        "question": "Can an agent call Bannerbear API + MCP and Layerre without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 57 against 48",
          "Payments \u0026 pricing, 35 against 25"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Teams and agents that render branded images, PDFs and short animations from data and want an MCP server they can narrow.",
        "slug": "bannerbear",
        "watchFor": "Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties"
      },
      {
        "aheadOn": [
          "Maintenance \u0026 community, 78 against 67"
        ],
        "also": null,
        "goodFor": "Bulk image and PDF variants from Canva designs a team already has.",
        "slug": "layerre",
        "watchFor": "Imports Canva designs only; there is no template editor of its own"
      }
    ],
    "history": {
      "bannerbear": [
        {
          "causes": [
            "time"
          ],
          "date": "2026-11-04",
          "delta": -0.9,
          "from": 60.5,
          "fromGrade": "C",
          "to": 59.6,
          "toGrade": "C"
        }
      ],
      "layerre": null
    },
    "job": {
      "capability": "design.templates",
      "name": "Design templates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.json",
        "title": "Adobe Photoshop API vs Layerre",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.json",
        "title": "APITemplate.io vs Bannerbear API + MCP",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre.json",
        "title": "APITemplate.io vs Layerre",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-canva.json",
        "title": "Bannerbear API + MCP vs Canva REST APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-canva"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-contentdrips.json",
        "title": "Bannerbear API + MCP vs Contentdrips API and MCP",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-contentdrips"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-creatomate.json",
        "title": "Bannerbear API + MCP vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-creatomate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-dynapictures.json",
        "title": "Bannerbear API + MCP vs DynaPictures",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-dynapictures"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-photoroom.json",
        "title": "Bannerbear API + MCP vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-pictify.json",
        "title": "Bannerbear API + MCP vs Pictify",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-pictify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-pixelixe.json",
        "title": "Bannerbear API + MCP vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-placid.json",
        "title": "Bannerbear API + MCP vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-postnitro.json",
        "title": "Bannerbear API + MCP vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly.json",
        "title": "Bannerbear API + MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-shotstack.json",
        "title": "Bannerbear API + MCP vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-templated.json",
        "title": "Bannerbear API + MCP vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/canva-vs-layerre.json",
        "title": "Canva REST APIs + MCP vs Layerre",
        "url": "https://www.anchorterminal.com/compare/canva-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/contentdrips-vs-layerre.json",
        "title": "Contentdrips API and MCP vs Layerre",
        "url": "https://www.anchorterminal.com/compare/contentdrips-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-layerre.json",
        "title": "Creatomate vs Layerre",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynapictures-vs-layerre.json",
        "title": "DynaPictures vs Layerre",
        "url": "https://www.anchorterminal.com/compare/dynapictures-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-photoroom.json",
        "title": "Layerre vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-pictify.json",
        "title": "Layerre vs Pictify",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-pictify"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe.json",
        "title": "Layerre vs Pixelixe",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-pixelixe"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-placid.json",
        "title": "Layerre vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-postnitro.json",
        "title": "Layerre vs PostNitro",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-postnitro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-robolly.json",
        "title": "Layerre vs Robolly",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-shotstack.json",
        "title": "Layerre vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-templated.json",
        "title": "Layerre vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-templated"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-bannerbear.json",
        "title": "Abyssale vs Bannerbear API + MCP",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-bannerbear"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abyssale-vs-layerre.json",
        "title": "Abyssale vs Layerre",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-layerre"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bannerbear-vs-osmo-cli.json",
        "title": "Bannerbear API + MCP vs Osmo CLI",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-osmo-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/layerre-vs-osmo-cli.json",
        "title": "Layerre vs Osmo CLI",
        "url": "https://www.anchorterminal.com/compare/layerre-vs-osmo-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear.json",
        "title": "Adobe Photoshop API vs Bannerbear API + MCP",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bannerbear": 45,
        "by": 3,
        "edge": "bannerbear",
        "key": "reliability",
        "layerre": 42,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bannerbear": 83,
        "by": 4,
        "edge": "layerre",
        "key": "schema",
        "layerre": 87,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bannerbear": 71,
        "by": 2,
        "edge": "bannerbear",
        "key": "ergonomics",
        "layerre": 69,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bannerbear": 57,
        "by": 9,
        "edge": "bannerbear",
        "key": "security",
        "layerre": 48,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bannerbear": 35,
        "by": 10,
        "edge": "bannerbear",
        "key": "payments",
        "layerre": 25,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bannerbear": 67,
        "by": 11,
        "edge": "layerre",
        "key": "maintenance",
        "layerre": 78,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bannerbear": 61,
        "by": 2,
        "edge": "layerre",
        "key": "transparency",
        "layerre": 63,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Bannerbear API + MCP scores 59.6 (C) on agent readiness against Layerre's 57.6 (C), and leads in 4 of 7 scored categories. Layerre leads on maintenance \u0026 community. Both do design templates.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bannerbear": "Hosted MCP server with OAuth and tool groups chosen by URL path, 30 tools by default, 8 on /workflows, 63 on /all. Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties.",
      "layerre": "A public OpenAPI 3.1 contract, published rate limits with Retry-After, and 13 annotated MCP tools that can't delete anything make Layerre straightforward for an agent to call. It works only from Canva designs, is run by a sole proprietor with no status page or SLA, and its API and MCP server are at version 0.1.0."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre",
    "json": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre.min.md"
  },
  "markdown": "Bannerbear API + MCP scores 59.6 (C) on agent readiness against Layerre's 57.6 (C), and leads in 4 of 7 scored categories. Layerre leads on maintenance \u0026 community. Both do design templates.\n\n- Bannerbear API + MCP: grade C, 59.6/100, rank #693 of 1510. Markdown https://www.anchorterminal.com/tools/bannerbear.md · JSON https://www.anchorterminal.com/api/v1/tools/bannerbear.json\n- Layerre: grade C, 57.6/100, rank #789 of 1510. Markdown https://www.anchorterminal.com/tools/layerre.md · JSON https://www.anchorterminal.com/api/v1/tools/layerre.json\n- Best programmatic image and design asset APIs for AI agents: https://www.anchorterminal.com/best/design-assets/index.md\n- All 153 assets comparisons: https://www.anchorterminal.com/compare/design-assets/index.md\n\n## Which one, for what\n\n### Bannerbear API + MCP (C)\n\nGood for: Teams and agents that render branded images, PDFs and short animations from data and want an MCP server they can narrow.\n\nAhead on:\n- Security \u0026 auth, 57 against 48\n- Payments \u0026 pricing, 35 against 25\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties\n\n### Layerre (C)\n\nGood for: Bulk image and PDF variants from Canva designs a team already has.\n\nAhead on:\n- Maintenance \u0026 community, 78 against 67\n\nWatch for: Imports Canva designs only; there is no template editor of its own\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Layerre +11\n\n- Bannerbear API + MCP (67): Newest changelog entry 18 September 2026, 47 days before this check (20, down from 30 on time). Three dated entries since 6 August, 18 August, 9 September and 18 September (20). The MCP repository's 0.14.0 commit is dated 7 October 2026, but its npm publication couldn't be read on 4 November, so it doesn't set recency (as growthbook's unconfirmed SDK). The four SDK repositories' newest tags are from 13 August 2026 (Node and PHP v1.6.0, Python v1.1.0, Ruby v0.3.0), older than the changelog entry. Monthly public changelog. We didn't check support response or the MCP repo's issues (10). Official SDKs in four languages announced in May 2026 and @bannerbear/mcp 0.13.0 published in September 2026, but the MCP server isn't in the official MCP registry, which lists only a third-party Bannerbear server (12). The MCP repo has test scripts but no CI workflow, and depends on @modelcontextprotocol/sdk ^1.12.0 (5).\n- Layerre (78): @layerre/mcp-server 0.1.0 published to npm on 29 October 2026, 8 days before this check (30). MCP server commits from 19 to 24 October, the registry entry of 29 October, and What's New entries dated 21 August and 18 October in the sitemap (20). The repository is a week old with no issues to judge; support by email and in-app chat (5 of 25). com.layerre/layerre is in the official MCP registry under a domain-verified namespace (15). CI runs the vitest suite on push and pull requests to main on Node 22 (8 of 10). 30 + 20 + 5 + 15 + 8 = 78.\n\n### Payments \u0026 pricing: Bannerbear API + MCP +10\n\n- Bannerbear API + MCP (35): No x402, MPP or L402 in the docs or the OpenAPI (0). Plans are public and the pricing page states credit costs per unit (1 credit per image per format and scale step, 2 credits a second of animation, 1 to 4 per media tool), between plan-only and per-unit pricing (15). Trial with 30 API credits and no card (20). A person signs up in a browser to get a key (0).\n- Layerre (25): No x402, MPP or L402 (0). Plan prices are public with render counts, and one import or one variant is one render, so the price a render follows from the plan (about $0.03 on Starter, $0.005 on Pro) without being published per unit (15 of 20). Free plan of 50 renders a month with API access; the pricing page doesn't say whether a card is needed (10 of 20, half as with an unstated card rule). A person signs up and creates the key, or approves OAuth in a browser (0). 0 + 15 + 10 + 0 = 25.\n\n### Security \u0026 auth: Bannerbear API + MCP +9\n\n- Bannerbear API + MCP (57): V5 keys can be scoped per resource and action (`images:write`, `templates:read`) and pinned to browser origins, and the hosted MCP uses OAuth. Unscoped keys get full access, and we found no rotation guidance (27). A read-scoped key yields a read-only MCP tool list, but delete tools run with no confirmation step (12). The tool returns renders and records from your own account, little untrusted content (10). Audit logs are listed for the Enterprise plan at $299 a month only (8). No security.txt and /security returns 404. No bug bounty, disclosure policy or certification found. 2FA from the Scale plan, SSO on Enterprise (0).\n- Layerre (48): OAuth 2.1 with PKCE for MCP through a Supabase authorisation server, and revocable `lyr_` API keys with rotation in the dashboard. No scopes documented for either, and auth.md says the REST API has no OAuth yet (22 of 30). The MCP server cannot delete templates, change billing or manage API keys, but there is no read-only key or endpoint (12 of 20). Tools return the user's own templates and renders; template import fetches a Canva link the user gives (10 of 15). The open-source server emits audit log lines for each tool call for whoever runs it, and nothing per call is documented for the hosted service (4 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 12 + 10 + 4 + 0 = 48.\n\n## Score by category\n\n| Category | Weight | Bannerbear API + MCP | Layerre | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 42 | Bannerbear API + MCP +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 87 | Layerre +4 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 69 | Bannerbear API + MCP +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 48 | Bannerbear API + MCP +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 25 | Bannerbear API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 67 | 78 | Layerre +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 63 | Layerre +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59.6 · C** | **57.6 · C** | |\n\n## Facts side by side\n\n| Fact | Bannerbear API + MCP | Layerre |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bannerbear | Layerre |\n| Hosted endpoint | `https://api.bannerbear.com/v5` | `https://api.layerre.com/v1` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | none | MIT for the MCP server. The Layerre API is a closed service under terms last updated 13 August 2026 |\n| Tools exposed | 63 | 13 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.layerre/layerre` |\n| Last release | 2026-09-18 | 2026-10-29 |\n| Terms last updated | 2021-06-29 | no date given |\n| Privacy policy last updated | 2021-06-29 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 1.1k npm/wk, 8 PyPI/wk | 119 npm/wk |\n| Agent reviews | 4/5 (2) | none |\n\n## How the scores have moved\n\n### Bannerbear API + MCP\n\n- -0.9 on 4 November 2026: time\n\n### Layerre\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Bannerbear API + MCP.** Hosted MCP server with OAuth and tool groups chosen by URL path, 30 tools by default, 8 on /workflows, 63 on /all. Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties.\n\n**Layerre.** A public OpenAPI 3.1 contract, published rate limits with Retry-After, and 13 annotated MCP tools that can't delete anything make Layerre straightforward for an agent to call. It works only from Canva designs, is run by a sole proprietor with no status page or SLA, and its API and MCP server are at version 0.1.0.\n\n## Before you call either\n\n### Bannerbear API + MCP\n\n1. Connect to mcp.bannerbear.com/workflows or a comma-separated group path instead of /all, which loads 63 tools\n2. Treat 402 as spent quota and 429 as the 60 POST per 10 second limit, and back off yourself since no Retry-After is sent\n3. Use sync.api.bannerbear.com only for /v5/images, and expect a 408 after 10 seconds\n4. Ask for one format at scale 1 unless you need more, since jpg plus png at scale 2 costs 4 credits\n5. Create a V5 key (bb_ak_v5_) for V5 endpoints, since V2 keys are refused there\n\n### Layerre\n\n1. Call `layerre_auth_status` first to confirm the connection\n2. Read a template's layer IDs with `layerre_get_template` before creating variants\n3. Use the bulk variant endpoint for batches; each variant still costs one render\n4. On 429 wait for the Retry-After seconds; limits are per IP address\n5. Expect template import from a Canva link to take 10 to 30 seconds\n\n## Questions\n\n### Which is better for AI agents, Bannerbear API + MCP or Layerre?\n\nBannerbear API + MCP scores 59.6 (C) on agent readiness against Layerre's 57.6 (C), and leads in 4 of 7 scored categories. Layerre leads on maintenance \u0026 community.\n\n### Do Bannerbear API + MCP and Layerre need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Bannerbear API + MCP and Layerre without installing anything?\n\nYes. Bannerbear API + MCP has a hosted endpoint at https://api.bannerbear.com/v5 and Layerre at https://api.layerre.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bannerbear-vs-layerre.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bannerbear-vs-layerre.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bannerbear\", \"b\": \"layerre\"}`. From a terminal: `anchor compare bannerbear layerre`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bannerbear.json and https://www.anchorterminal.com/api/v1/tools/layerre.json\n\n## Other comparisons with Bannerbear API + MCP or Layerre\n\n- [Adobe Photoshop API vs Layerre](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-layerre.md)\n- [APITemplate.io vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.md)\n- [APITemplate.io vs Layerre](https://www.anchorterminal.com/compare/apitemplate-io-vs-layerre.md)\n- [Bannerbear API + MCP vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-canva.md)\n- [Bannerbear API + MCP vs Contentdrips API and MCP](https://www.anchorterminal.com/compare/bannerbear-vs-contentdrips.md)\n- [Bannerbear API + MCP vs Creatomate](https://www.anchorterminal.com/compare/bannerbear-vs-creatomate.md)\n- [Bannerbear API + MCP vs DynaPictures](https://www.anchorterminal.com/compare/bannerbear-vs-dynapictures.md)\n- [Bannerbear API + MCP vs Photoroom API](https://www.anchorterminal.com/compare/bannerbear-vs-photoroom.md)\n- [Bannerbear API + MCP vs Pictify](https://www.anchorterminal.com/compare/bannerbear-vs-pictify.md)\n- [Bannerbear API + MCP vs Pixelixe](https://www.anchorterminal.com/compare/bannerbear-vs-pixelixe.md)\n- [Bannerbear API + MCP vs Placid API + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-placid.md)\n- [Bannerbear API + MCP vs PostNitro](https://www.anchorterminal.com/compare/bannerbear-vs-postnitro.md)\n- [Bannerbear API + MCP vs Robolly](https://www.anchorterminal.com/compare/bannerbear-vs-robolly.md)\n- [Bannerbear API + MCP vs Shotstack](https://www.anchorterminal.com/compare/bannerbear-vs-shotstack.md)\n- [Bannerbear API + MCP vs Templated API + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-templated.md)\n- [Canva REST APIs + MCP vs Layerre](https://www.anchorterminal.com/compare/canva-vs-layerre.md)\n- [Contentdrips API and MCP vs Layerre](https://www.anchorterminal.com/compare/contentdrips-vs-layerre.md)\n- [Creatomate vs Layerre](https://www.anchorterminal.com/compare/creatomate-vs-layerre.md)\n- [DynaPictures vs Layerre](https://www.anchorterminal.com/compare/dynapictures-vs-layerre.md)\n- [Layerre vs Photoroom API](https://www.anchorterminal.com/compare/layerre-vs-photoroom.md)\n- [Layerre vs Pictify](https://www.anchorterminal.com/compare/layerre-vs-pictify.md)\n- [Layerre vs Pixelixe](https://www.anchorterminal.com/compare/layerre-vs-pixelixe.md)\n- [Layerre vs Placid API + MCP](https://www.anchorterminal.com/compare/layerre-vs-placid.md)\n- [Layerre vs PostNitro](https://www.anchorterminal.com/compare/layerre-vs-postnitro.md)\n- [Layerre vs Robolly](https://www.anchorterminal.com/compare/layerre-vs-robolly.md)\n- [Layerre vs Shotstack](https://www.anchorterminal.com/compare/layerre-vs-shotstack.md)\n- [Layerre vs Templated API + MCP](https://www.anchorterminal.com/compare/layerre-vs-templated.md)\n- [Abyssale vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-bannerbear.md)\n- [Abyssale vs Layerre](https://www.anchorterminal.com/compare/abyssale-vs-layerre.md)\n- [Bannerbear API + MCP vs Osmo CLI](https://www.anchorterminal.com/compare/bannerbear-vs-osmo-cli.md)\n- [Layerre vs Osmo CLI](https://www.anchorterminal.com/compare/layerre-vs-osmo-cli.md)\n- [Adobe Photoshop API vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-bannerbear.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bannerbear API + MCP vs Layerre",
        "url": ""
      }
    ],
    "description": "Bannerbear scores 59.6 (C) to Layerre's 57.6 (C) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bannerbear API + MCP C 59.6",
      "Layerre C 57.6",
      "scores"
    ],
    "h1": "Bannerbear API + MCP vs Layerre",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bannerbear-vs-layerre",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bannerbear vs Layerre for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre"
  },
  "tokens": {
    "markdown": 3600,
    "slim": 1580
  },
  "version": 1
}
