{
  "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 Robolly's 48.4 (D), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "robolly",
      "name": "Robolly",
      "vendor": "Avantis Innovations LLC (Robolly)",
      "vendorUrl": "https://robolly.com",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "Robolly renders templates designed in its visual editor into JPG, PNG, WebP, single and multi-page PDF, MP4 and WebM files, through an on-demand REST API, signed render links, no-code integrations and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/robolly",
      "markdownUrl": "https://www.anchorterminal.com/tools/robolly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/robolly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/robolly.json",
      "dns": "robolly.grade.anchorterminal.com",
      "license": "Closed service under the Robolly terms of use (effective 8 April 2026)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.robolly.com/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "API key from Account settings, sent as `Authorization: Bearer`; render links can instead carry a signature. The remote MCP server at api.robolly.com/mcp uses OAuth with one `robolly:mcp` scope, where the user picks the organisation it may reach, and connections are listed and revoked under Account settings \u003e Connected AI Tools. The API key works as a fallback bearer token. No key scopes documented.",
      "pricing": "paid",
      "pricingNotes": "Individual $39 a month (250 or 1,000 render credits), Business $129 a month (10,000 to 500,000 credits by tier), Enterprise custom above 1,000,000. 7-day trial with no card. 1 credit for a JPG or WebP under 2,000 px, 3 for PNG, more for larger sizes, PDFs and video. Identical re-renders within 45 days are free.",
      "priceSummary": "$39 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Monthly plans with render credits. No x402, MPP or L402 in the API reference, the MCP page, llms.txt or pricing (checked 2026-11-06). Exhausted credits return the error code `render-limit-exhausted`.",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://robolly.com/docs/api-reference/",
      "llmsTxt": "https://robolly.com/llms.txt",
      "capabilities": [
        "design.templates",
        "design.render",
        "pdf.generate",
        "video.generate"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "api-key",
        "llms-txt",
        "trial",
        "no-card",
        "status-page"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.4,
        "grade": "D",
        "agentReady": false,
        "rank": 1127,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 5,
          "payments": 35,
          "reliability": 48,
          "schema": 57,
          "security": 47,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Robolly's nine MCP tools, synchronous renders, typed error codes and free cached re-renders keep template rendering cheap and predictable for an agent, and OAuth connections can be revoked per client. There is no OpenAPI file, changelog or dated release, and API access starts at $39 a month after a 7-day trial.",
        "bestFor": "Template-driven images, PDFs and short videos for marketers and developers who want a hosted editor and simple synchronous calls.",
        "strengths": [
          "Nine compact MCP tools, including one that lists each template's accepted keys and constraints",
          "Error responses carry `errorCode` slugs, among them `rate-limit` and `render-limit-exhausted`",
          "Identical re-renders within 45 days are served free from cache",
          "MCP OAuth limited to one organisation, with connections revoked in Account settings",
          "Published rate limit of 3 renders a second and a credit table by format and size"
        ],
        "weaknesses": [
          "No OpenAPI or other machine-readable contract found",
          "No changelog or dated release found, and the MCP server isn't in the official registry",
          "API access needs a paid plan from $39 a month after a 7-day trial",
          "The UptimeRobot status page draws its data from a path its robots.txt closes to us",
          "The privacy policy names no hosting or other processors"
        ],
        "agentNotes": [
          "Call `get_template_modifications` before `render` to learn the keys a template accepts",
          "Send renders one at a time; the API refuses more than 3 a second with `rate-limit`",
          "Repeat an identical render freely; it is cached for 45 days and costs nothing",
          "Poll `get_render` after `render_video`, since video renders are queued",
          "Stop on `render-limit-exhausted` and tell the user the monthly credits are spent"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.4
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 5,
          "payments": 35,
          "reliability": 48,
          "schema": 57,
          "security": 47,
          "transparency": 27
        },
        "provenanceScore": 71,
        "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": {
        "claudeCode": "claude mcp add --transport http robolly --scope user https://api.robolly.com/mcp",
        "config": {
          "mcpServers": {
            "robolly": {
              "type": "http",
              "url": "https://api.robolly.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/robolly"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Individual plan",
          "unit": "month",
          "usd": 39,
          "note": "From 250 render credits a month; more credits cost more"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 129,
          "note": "From 10,000 render credits a month"
        }
      ],
      "provenance": {
        "legalEntity": "Avantis Innovations LLC",
        "domain": "robolly.com",
        "domainRegistered": "2021-01-30",
        "endpointOnVendorDomain": true,
        "terms": "https://robolly.com/terms/",
        "privacy": "https://robolly.com/privacy/",
        "statusPage": "https://stats.uptimerobot.com/gpPQWiyqL",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms (effective 8 April 2026) name Avantis Innovations LLC, Sheridan, Wyoming, under Wyoming law, and say Robolly is made by the team behind Sidemail.io and EmailSupportAI. The privacy policy has the same effective date.",
          "The terms contain no clause on automated access to the website that was found.",
          "robolly.com/robots.txt disallows /cdn-cgi/ only. api.robolly.com/robots.txt carries content-signal comments only. stats.uptimerobot.com/robots.txt disallows /api/, which the status page loads its data from, so no figures were read.",
          "RDAP gives robolly.com a registration date of 30 January 2021.",
          "/.well-known/security.txt answers 200 with the site's HTML shell, not a security.txt file. No changelog found."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/robolly.json",
      "live": {
        "slug": "robolly",
        "probe": {
          "target": "https://api.robolly.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T19:22:30.107194019Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 143,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 111,
          "p95ms24h": 182,
          "samples24h": 210,
          "samples30d": 210,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://stats.uptimerobot.com/gpPQWiyqL",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:41.781150953Z"
        },
        "securityTxt": {
          "url": "https://robolly.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:53.763302813Z"
        },
        "llmsTxt": {
          "url": "https://robolly.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:50.184463404Z"
        },
        "pages": [
          {
            "url": "https://robolly.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:36.278744484Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8fd0121424f4"
          },
          {
            "url": "https://robolly.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:38.520828166Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9c9ba532e790"
          }
        ],
        "mcpTools": {
          "url": "https://api.robolly.com/mcp",
          "checkedAt": "2026-11-07T01:47:28.870586301Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:47:28.870586301Z"
        },
        "updatedAt": "2026-11-07T19:22:30.107194019Z"
      }
    },
    "edges": [
      {
        "by": 62,
        "category": "maintenance",
        "leads": "bannerbear",
        "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": "No changelog, release notes or dated API change was found. The sitemap marks every docs page as modified on 4 November 2026, which reads as a site rebuild rather than a change, so it isn't counted (0). No dated changes since 8 August (0). Support by email, with chat on higher plans; not tested (5 of 15). Not in the official MCP registry and no SDKs (0). No public package or repository (0). 0 + 0 + 5 + 0 + 0 = 5."
        },
        "scores": {
          "a": 67,
          "b": 5
        }
      },
      {
        "by": 26,
        "category": "schema",
        "leads": "bannerbear",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 schema at api.bannerbear.com/v5/openapi.json, and the MCP server's tools carry typed Zod inputs (25). An llms.txt exists, but it indexes marketing pages and free tools with one link to the API reference and none to V5, MCP or the schema (7). MCP tool descriptions say when to use the tool and what to call next, such as 'call get_template for the full canvas config', and OpenAPI operations say whether they're async (16). Enums, required fields and size limits (100 to 5,000 px) in the schema, but `modifications` is an open object in the OpenAPI (11). Status codes listed in the docs and 4xx bodies carry a message, while the OpenAPI has no examples (9). Versioned paths (/v5) and a dated monthly changelog (15).",
          "b": "No OpenAPI or other machine-readable contract found for the REST API, and the MCP server is closed. The MCP page lists all nine tools and `get_template_modifications` returns each template's keys, constraints and examples at run time (8 of 25, on that partial evidence). llms.txt indexes the docs (10). The MCP page says what each tool does, which tools change templates or spend credits, and that there is no delete tool (14 of 20). Modification keys follow `{element-name}.{modification-key}` with constraints from the template rather than a fixed schema (7 of 15). Request examples throughout and an error code table with eight codes (13 of 15). /v1 paths with no changelog (5 of 15). 8 + 10 + 14 + 7 + 13 + 5 = 57."
        },
        "scores": {
          "a": 83,
          "b": 57
        }
      },
      {
        "by": 12,
        "category": "transparency",
        "leads": "bannerbear",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under published terms. The MCP server is MIT per its package.json, though the repo has no `LICENSE` file (15). The privacy policy and terms are both dated 29 June 2021, give no retention periods, and say nothing about the zero data retention the pricing page sells on Enterprise (8). V5 launched on 18 August 2026 with the key change stated, but V2 has no end-of-life date and there's no API deprecation policy, only 30 days' notice for material changes to the terms (8). The privacy policy names Mailchimp and Stripe and no data locations (5).",
          "b": "Closed service under terms effective 8 April 2026 from Avantis Innovations LLC in Wyoming. The terms can change without notice (15). The privacy policy of the same date covers Google sign-in and Sheets data, says spreadsheet rows aren't kept beyond a render and account data is deleted with the account, and otherwise names no periods (10 of 30). No deprecation policy or notices (0). Hosting is described only as third-party vendors, with no processors or locations named, while the footer says Made in EU (2 of 20). 15 + 10 + 0 + 2 = 27."
        },
        "scores": {
          "a": 61,
          "b": 49
        }
      },
      {
        "by": 10,
        "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": "Bearer API key, signed render links, and MCP OAuth with one `robolly:mcp` scope limited to the organisation the user approves. Connections are listed and revoked under Connected AI Tools, and the API key is never shared with an OAuth client. No key scopes or rotation documented (22 of 30). The MCP server can create and update templates but not delete them; there's no read-only mode (10 of 20). Tools return the user's templates and public gallery designs (10 of 15). A renders list and the connected-tools view give some visibility, with no audit log documented (5 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 10 + 10 + 5 + 0 = 47."
        },
        "scores": {
          "a": 57,
          "b": 47
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bannerbear",
        "b": "Avantis Innovations LLC (Robolly)",
        "name": "Vendor"
      },
      {
        "a": "https://api.bannerbear.com/v5",
        "b": "https://api.robolly.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Closed service under the Robolly terms of use (effective 8 April 2026)",
        "name": "Licence"
      },
      {
        "a": "63",
        "b": "9",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-18",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2021-06-29",
        "b": "2026-04-08",
        "name": "Terms last updated"
      },
      {
        "a": "2021-06-29",
        "b": "2026-04-08",
        "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": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.1k npm/wk, 8 PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Bannerbear API + MCP scores 59.6 (C) on agent readiness against Robolly's 48.4 (D), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, Bannerbear API + MCP or Robolly?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Bannerbear API + MCP and Robolly need an API key?"
      },
      {
        "answer": "Yes. Bannerbear API + MCP has a hosted endpoint at https://api.bannerbear.com/v5 and Robolly at https://api.robolly.com/v1.",
        "question": "Can an agent call Bannerbear API + MCP and Robolly without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 57",
          "Security \u0026 auth, 57 against 47",
          "Maintenance \u0026 community, 67 against 5",
          "Transparency \u0026 trust, 61 against 49"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "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": null,
        "also": null,
        "goodFor": "Template-driven images, PDFs and short videos for marketers and developers who want a hosted editor and simple synchronous calls.",
        "slug": "robolly",
        "watchFor": "No OpenAPI or other machine-readable contract found"
      }
    ],
    "history": {
      "bannerbear": [
        {
          "causes": [
            "time"
          ],
          "date": "2026-11-04",
          "delta": -0.9,
          "from": 60.5,
          "fromGrade": "C",
          "to": 59.6,
          "toGrade": "C"
        }
      ],
      "robolly": null
    },
    "job": {
      "capability": "design.templates",
      "name": "Design templates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.json",
        "title": "Adobe Photoshop API vs Robolly",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly"
      },
      {
        "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-robolly.json",
        "title": "APITemplate.io vs Robolly",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-robolly"
      },
      {
        "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-layerre.json",
        "title": "Bannerbear API + MCP vs Layerre",
        "url": "https://www.anchorterminal.com/compare/bannerbear-vs-layerre"
      },
      {
        "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-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-robolly.json",
        "title": "Canva REST APIs + MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/canva-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/contentdrips-vs-robolly.json",
        "title": "Contentdrips API and MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/contentdrips-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/creatomate-vs-robolly.json",
        "title": "Creatomate vs Robolly",
        "url": "https://www.anchorterminal.com/compare/creatomate-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynapictures-vs-robolly.json",
        "title": "DynaPictures vs Robolly",
        "url": "https://www.anchorterminal.com/compare/dynapictures-vs-robolly"
      },
      {
        "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/photoroom-vs-robolly.json",
        "title": "Photoroom API vs Robolly",
        "url": "https://www.anchorterminal.com/compare/photoroom-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pixelixe-vs-robolly.json",
        "title": "Pixelixe vs Robolly",
        "url": "https://www.anchorterminal.com/compare/pixelixe-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/placid-vs-robolly.json",
        "title": "Placid API + MCP vs Robolly",
        "url": "https://www.anchorterminal.com/compare/placid-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postnitro-vs-robolly.json",
        "title": "PostNitro vs Robolly",
        "url": "https://www.anchorterminal.com/compare/postnitro-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/robolly-vs-shotstack.json",
        "title": "Robolly vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/robolly-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/robolly-vs-templated.json",
        "title": "Robolly vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/robolly-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-robolly.json",
        "title": "Abyssale vs Robolly",
        "url": "https://www.anchorterminal.com/compare/abyssale-vs-robolly"
      },
      {
        "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/osmo-cli-vs-robolly.json",
        "title": "Osmo CLI vs Robolly",
        "url": "https://www.anchorterminal.com/compare/osmo-cli-vs-robolly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pictify-vs-robolly.json",
        "title": "Pictify vs Robolly",
        "url": "https://www.anchorterminal.com/compare/pictify-vs-robolly"
      },
      {
        "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": "robolly",
        "key": "reliability",
        "name": "Reliability",
        "robolly": 48,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bannerbear": 83,
        "by": 26,
        "edge": "bannerbear",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "robolly": 57,
        "weight": 13
      },
      {
        "bannerbear": 71,
        "by": 4,
        "edge": "robolly",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "robolly": 75,
        "weight": 13
      },
      {
        "bannerbear": 57,
        "by": 10,
        "edge": "bannerbear",
        "key": "security",
        "name": "Security \u0026 auth",
        "robolly": 47,
        "weight": 14
      },
      {
        "bannerbear": 35,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "robolly": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bannerbear": 67,
        "by": 62,
        "edge": "bannerbear",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "robolly": 5,
        "weight": 7
      },
      {
        "bannerbear": 61,
        "by": 12,
        "edge": "bannerbear",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "robolly": 49,
        "weight": 7
      }
    ],
    "summary": "Bannerbear API + MCP scores 59.6 (C) on agent readiness against Robolly's 48.4 (D), and leads in 4 of 7 scored categories. 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.",
      "robolly": "Robolly's nine MCP tools, synchronous renders, typed error codes and free cached re-renders keep template rendering cheap and predictable for an agent, and OAuth connections can be revoked per client. There is no OpenAPI file, changelog or dated release, and API access starts at $39 a month after a 7-day trial."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly",
    "json": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly.min.md"
  },
  "markdown": "Bannerbear API + MCP scores 59.6 (C) on agent readiness against Robolly's 48.4 (D), and leads in 4 of 7 scored categories. 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- Robolly: grade D, 48.4/100, rank #1127 of 1510. Markdown https://www.anchorterminal.com/tools/robolly.md · JSON https://www.anchorterminal.com/api/v1/tools/robolly.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- Schema \u0026 documentation, 83 against 57\n- Security \u0026 auth, 57 against 47\n- Maintenance \u0026 community, 67 against 5\n- Transparency \u0026 trust, 61 against 49\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: Privacy policy and terms last updated on 29 June 2021, with no retention periods and two named third parties\n\n### Robolly (D)\n\nGood for: Template-driven images, PDFs and short videos for marketers and developers who want a hosted editor and simple synchronous calls.\n\nWatch for: No OpenAPI or other machine-readable contract found\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Bannerbear API + MCP +62\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- Robolly (5): No changelog, release notes or dated API change was found. The sitemap marks every docs page as modified on 4 November 2026, which reads as a site rebuild rather than a change, so it isn't counted (0). No dated changes since 8 August (0). Support by email, with chat on higher plans; not tested (5 of 15). Not in the official MCP registry and no SDKs (0). No public package or repository (0). 0 + 0 + 5 + 0 + 0 = 5.\n\n### Schema \u0026 documentation: Bannerbear API + MCP +26\n\n- Bannerbear API + MCP (83): OpenAPI 3.1 schema at api.bannerbear.com/v5/openapi.json, and the MCP server's tools carry typed Zod inputs (25). An llms.txt exists, but it indexes marketing pages and free tools with one link to the API reference and none to V5, MCP or the schema (7). MCP tool descriptions say when to use the tool and what to call next, such as 'call get_template for the full canvas config', and OpenAPI operations say whether they're async (16). Enums, required fields and size limits (100 to 5,000 px) in the schema, but `modifications` is an open object in the OpenAPI (11). Status codes listed in the docs and 4xx bodies carry a message, while the OpenAPI has no examples (9). Versioned paths (/v5) and a dated monthly changelog (15).\n- Robolly (57): No OpenAPI or other machine-readable contract found for the REST API, and the MCP server is closed. The MCP page lists all nine tools and `get_template_modifications` returns each template's keys, constraints and examples at run time (8 of 25, on that partial evidence). llms.txt indexes the docs (10). The MCP page says what each tool does, which tools change templates or spend credits, and that there is no delete tool (14 of 20). Modification keys follow `{element-name}.{modification-key}` with constraints from the template rather than a fixed schema (7 of 15). Request examples throughout and an error code table with eight codes (13 of 15). /v1 paths with no changelog (5 of 15). 8 + 10 + 14 + 7 + 13 + 5 = 57.\n\n### Transparency \u0026 trust: Bannerbear API + MCP +12\n\n- Bannerbear API + MCP (61): Closed service under published terms. The MCP server is MIT per its package.json, though the repo has no `LICENSE` file (15). The privacy policy and terms are both dated 29 June 2021, give no retention periods, and say nothing about the zero data retention the pricing page sells on Enterprise (8). V5 launched on 18 August 2026 with the key change stated, but V2 has no end-of-life date and there's no API deprecation policy, only 30 days' notice for material changes to the terms (8). The privacy policy names Mailchimp and Stripe and no data locations (5).\n- Robolly (49): Closed service under terms effective 8 April 2026 from Avantis Innovations LLC in Wyoming. The terms can change without notice (15). The privacy policy of the same date covers Google sign-in and Sheets data, says spreadsheet rows aren't kept beyond a render and account data is deleted with the account, and otherwise names no periods (10 of 30). No deprecation policy or notices (0). Hosting is described only as third-party vendors, with no processors or locations named, while the footer says Made in EU (2 of 20). 15 + 10 + 0 + 2 = 27.\n\n### Security \u0026 auth: Bannerbear API + MCP +10\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- Robolly (47): Bearer API key, signed render links, and MCP OAuth with one `robolly:mcp` scope limited to the organisation the user approves. Connections are listed and revoked under Connected AI Tools, and the API key is never shared with an OAuth client. No key scopes or rotation documented (22 of 30). The MCP server can create and update templates but not delete them; there's no read-only mode (10 of 20). Tools return the user's templates and public gallery designs (10 of 15). A renders list and the connected-tools view give some visibility, with no audit log documented (5 of 15). No security.txt (the path returns the site's HTML shell), disclosure policy, bug bounty or certification (0). 22 + 10 + 10 + 5 + 0 = 47.\n\n## Score by category\n\n| Category | Weight | Bannerbear API + MCP | Robolly | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 48 | Robolly +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 57 | Bannerbear API + MCP +26 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 75 | Robolly +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 57 | 47 | Bannerbear API + MCP +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 35 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 67 | 5 | Bannerbear API + MCP +62 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 49 | Bannerbear API + MCP +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59.6 · C** | **48.4 · D** | |\n\n## Facts side by side\n\n| Fact | Bannerbear API + MCP | Robolly |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bannerbear | Avantis Innovations LLC (Robolly) |\n| Hosted endpoint | `https://api.bannerbear.com/v5` | `https://api.robolly.com/v1` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | none | Closed service under the Robolly terms of use (effective 8 April 2026) |\n| Tools exposed | 63 | 9 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-18 | none |\n| Terms last updated | 2021-06-29 | 2026-04-08 |\n| Privacy policy last updated | 2021-06-29 | 2026-04-08 |\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 | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 1.1k npm/wk, 8 PyPI/wk | none |\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### Robolly\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**Robolly.** Robolly's nine MCP tools, synchronous renders, typed error codes and free cached re-renders keep template rendering cheap and predictable for an agent, and OAuth connections can be revoked per client. There is no OpenAPI file, changelog or dated release, and API access starts at $39 a month after a 7-day trial.\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### Robolly\n\n1. Call `get_template_modifications` before `render` to learn the keys a template accepts\n2. Send renders one at a time; the API refuses more than 3 a second with `rate-limit`\n3. Repeat an identical render freely; it is cached for 45 days and costs nothing\n4. Poll `get_render` after `render_video`, since video renders are queued\n5. Stop on `render-limit-exhausted` and tell the user the monthly credits are spent\n\n## Questions\n\n### Which is better for AI agents, Bannerbear API + MCP or Robolly?\n\nBannerbear API + MCP scores 59.6 (C) on agent readiness against Robolly's 48.4 (D), and leads in 4 of 7 scored categories.\n\n### Do Bannerbear API + MCP and Robolly 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 Robolly without installing anything?\n\nYes. Bannerbear API + MCP has a hosted endpoint at https://api.bannerbear.com/v5 and Robolly at https://api.robolly.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bannerbear-vs-robolly.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bannerbear-vs-robolly.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bannerbear\", \"b\": \"robolly\"}`. From a terminal: `anchor compare bannerbear robolly`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bannerbear.json and https://www.anchorterminal.com/api/v1/tools/robolly.json\n\n## Other comparisons with Bannerbear API + MCP or Robolly\n\n- [Adobe Photoshop API vs Robolly](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-robolly.md)\n- [APITemplate.io vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.md)\n- [APITemplate.io vs Robolly](https://www.anchorterminal.com/compare/apitemplate-io-vs-robolly.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 Layerre](https://www.anchorterminal.com/compare/bannerbear-vs-layerre.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 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 Robolly](https://www.anchorterminal.com/compare/canva-vs-robolly.md)\n- [Contentdrips API and MCP vs Robolly](https://www.anchorterminal.com/compare/contentdrips-vs-robolly.md)\n- [Creatomate vs Robolly](https://www.anchorterminal.com/compare/creatomate-vs-robolly.md)\n- [DynaPictures vs Robolly](https://www.anchorterminal.com/compare/dynapictures-vs-robolly.md)\n- [Layerre vs Robolly](https://www.anchorterminal.com/compare/layerre-vs-robolly.md)\n- [Photoroom API vs Robolly](https://www.anchorterminal.com/compare/photoroom-vs-robolly.md)\n- [Pixelixe vs Robolly](https://www.anchorterminal.com/compare/pixelixe-vs-robolly.md)\n- [Placid API + MCP vs Robolly](https://www.anchorterminal.com/compare/placid-vs-robolly.md)\n- [PostNitro vs Robolly](https://www.anchorterminal.com/compare/postnitro-vs-robolly.md)\n- [Robolly vs Shotstack](https://www.anchorterminal.com/compare/robolly-vs-shotstack.md)\n- [Robolly vs Templated API + MCP](https://www.anchorterminal.com/compare/robolly-vs-templated.md)\n- [Abyssale vs Bannerbear API + MCP](https://www.anchorterminal.com/compare/abyssale-vs-bannerbear.md)\n- [Abyssale vs Robolly](https://www.anchorterminal.com/compare/abyssale-vs-robolly.md)\n- [Bannerbear API + MCP vs Osmo CLI](https://www.anchorterminal.com/compare/bannerbear-vs-osmo-cli.md)\n- [Osmo CLI vs Robolly](https://www.anchorterminal.com/compare/osmo-cli-vs-robolly.md)\n- [Pictify vs Robolly](https://www.anchorterminal.com/compare/pictify-vs-robolly.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 Robolly",
        "url": ""
      }
    ],
    "description": "Bannerbear scores 59.6 (C) to Robolly's 48.4 (D) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bannerbear API + MCP C 59.6",
      "Robolly D 48.4",
      "scores"
    ],
    "h1": "Bannerbear API + MCP vs Robolly",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bannerbear-vs-robolly",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bannerbear vs Robolly for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/bannerbear-vs-robolly"
  },
  "tokens": {
    "markdown": 4000,
    "slim": 2030
  },
  "version": 1
}
