{
  "data": {
    "a": {
      "slug": "apitemplate-io",
      "name": "APITemplate.io",
      "vendor": "Alphacloud Technologies Pte Ltd",
      "vendorUrl": "https://apitemplate.io",
      "kind": "http-api",
      "category": "design-assets",
      "summary": "APITemplate.io generates PDF documents and JPEG or PNG images from reusable templates filled with JSON data, and converts HTML, Markdown or a web page to PDF. Agents call its REST API with an API key.",
      "url": "https://www.anchorterminal.com/tools/apitemplate-io",
      "markdownUrl": "https://www.anchorterminal.com/tools/apitemplate-io.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/apitemplate-io.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/apitemplate-io.json",
      "license": "Proprietary service under APITemplate.io's Terms of Use. The SDK repositories have no licence file, and the Python client's `setup.py` names Apache 2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://rest.apitemplate.io/v2",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Calls send an API key in the `X-API-KEY` header, or as `Authorization: Token \u003ckey\u003e`. A browser signup at app.apitemplate.io creates the key, self-serve, and it can be regenerated under API Integration. Each team has its own key, separate from the personal one. No scopes or read-only keys were found. Direct URL image links carry a per-template `auth` code in the query string, with a quota and an expiry.",
      "pricing": "freemium",
      "pricingNotes": "The free plan gives 50 images or PDFs a month and 3 templates with no card, so an agent's owner can start without a contract. PDF-only plans run from $24 a month for 3,000 PDFs to $179 for 25,000, and image and PDF plans from $35 for 1,500 files to $179 for 20,000, billed monthly. Annual billing is up to 20 per cent less. Overage billing exists only on Enterprise plans by request, with no rate published (checked 2026-10-09).",
      "priceSummary": "$24 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Monthly subscriptions paid through Stripe. No x402, MPP or L402 in the API description, the docs or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://apitemplate.io/docs/",
      "openapi": "https://apitemplateio.s3.ap-southeast-1.amazonaws.com/redoc_apiv2/apitemplateiov2_api.yaml",
      "capabilities": [
        "design.templates",
        "design.render",
        "pdf.generate",
        "pdf.convert",
        "pdf.merge"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "openapi",
        "no-card",
        "async-jobs",
        "webhooks",
        "images",
        "pdf",
        "regional-endpoints",
        "status-page",
        "sla"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.6,
        "grade": "D",
        "agentReady": false,
        "rank": 850,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 11,
          "payments": 30,
          "reliability": 65,
          "schema": 52,
          "security": 53,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-09. Two vendor documentation pages disagree on regional endpoints. The first-request guide (https://apitemplate.io/docs/getting-started/first-api-request) lists `rest.apitemplate.io` as the US default with `rest-eu` and `rest-sg` hosts. The API reference and REST guide (https://apitemplate.io/docs/integrations/rest-api) list it as the Singapore default with `rest-de` and `rest-us`. The vendor says data is processed and stored in the region of the endpoint, so the conflict affects data residency. We did not test which hostnames resolve. 2 points."
        ],
        "verdict": "A public OpenAPI description covers 12 operations, with rate limits, four regional endpoints and a 99.9 per cent uptime SLA published. Each account or team has one unscoped API key, no changelog or deprecation notices were found, the SDK repositories date from September 2023, and two documentation pages name different regional hostnames.",
        "bestFor": "Owners who need invoices, certificates, reports and social images filled from templates, with HTML, URL and Markdown to PDF on the same key and a choice of storage region.",
        "strengths": [
          "OpenAPI 3.0.0 description of 12 operations is linked from the docs, with request samples in cURL, Python, PHP, Node.js and C# on the main operations",
          "Rate limits are published as 100 requests per 10 seconds per IP address and 100 concurrent synchronous PDF requests per account",
          "Regional endpoints in Singapore, Frankfurt, N. Virginia and Sydney process and store requests and output in the region, per the API reference",
          "The SLA page commits to 99.9 per cent monthly availability for the REST API and dashboard, with service credits of 10 to 50 per cent",
          "Free plan of 50 images or PDFs a month with no card, and output can skip vendor storage with `export_type=file` or `cloud_storage=0`"
        ],
        "weaknesses": [
          "One API key per account or team with no scopes or read-only mode, and `GET /v2/delete-object` deletes a file with a GET request",
          "No changelog, release notes or dated deprecation notices were found, and the terms allow the service to change with or without notice",
          "The five SDK repositories each hold a generated client committed on 17 September 2023, with no tags, no licence file and placeholder install commands",
          "The first-request guide names `rest-eu` and `rest-sg` hostnames and a US default, while the API reference names `rest-de` and `rest-us` and a Singapore default",
          "Errors are documented as one `status` and `message` object with no status codes listed, and no idempotency key exists for generation calls",
          "The terms of use forbid any robot or other automatic device accessing the Site or Service, and bar load or vulnerability testing without agreement. This matters before any probe is run"
        ],
        "agentNotes": [
          "Send the key in the `X-API-KEY` header and pick the regional host first, because requests and output are processed and stored in that region",
          "Call `GET /v2/list-templates` with `with_layer_info=1` before `POST /v2/create-image`, so the `name` values in `overrides` match the template's elements",
          "Set `meta` to your own reference on each generation and check `GET /v2/list-objects` before retrying, since there is no idempotency key",
          "Set `expiration` in minutes (1 to 10080) or `export_type=file` for sensitive output. By default the download URL does not expire",
          "For `async=1` you must pass `webhook_url`. The callback is a GET with the result in the query string, retried three times",
          "On HTTP 429 pause and retry on your own schedule. The docs give no `Retry-After` header or backoff interval"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.6
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 11,
          "payments": 30,
          "reliability": 65,
          "schema": 52,
          "security": 53,
          "transparency": 58
        },
        "provenanceScore": 59
      },
      "connect": {
        "http": "curl -X POST \"https://rest.apitemplate.io/v2/create-image?template_id=TEMPLATE_ID\" -H \"X-API-KEY: YOUR_API_KEY\" -H \"Content-Type: application/json\" -d '{\"overrides\": [{\"name\": \"title\", \"text\": \"Hello World\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/design.templates",
        "tool": "https://letme.dev/apitemplate-io"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "PDF Basic",
          "unit": "month",
          "usd": 24,
          "note": "3,000 PDFs a month, 20 templates. $19 a month billed annually"
        },
        {
          "item": "PDF Standard",
          "unit": "month",
          "usd": 89,
          "note": "12,000 PDFs a month, 180 templates. $69 a month billed annually"
        },
        {
          "item": "PDF Enterprise",
          "unit": "month",
          "usd": 179,
          "note": "25,000 PDFs a month, unlimited templates, own storage. $139 a month billed annually"
        },
        {
          "item": "Starter (image and PDF)",
          "unit": "month",
          "usd": 35,
          "note": "1,500 images or PDFs a month, 15 templates. $29 a month billed annually"
        },
        {
          "item": "Standard (image and PDF)",
          "unit": "month",
          "usd": 89,
          "note": "9,000 images or PDFs a month, 150 templates. $69 a month billed annually"
        },
        {
          "item": "Enterprise (image and PDF)",
          "unit": "month",
          "usd": 179,
          "note": "20,000 images or PDFs a month, unlimited templates, own storage. $139 a month billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "Alphacloud Technologies Pte Ltd",
        "domain": "apitemplate.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://apitemplate.io/terms-of-use/",
        "privacy": "https://apitemplate.io/privacy-policy/",
        "statusPage": "https://status.apitemplate.io/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The terms of use name Alphacloud Technologies Pte Ltd, a Singapore company. The DPA gives Unique Entity Number 201902224G and an address at 50 Lakeside Drive, Singapore 648315.",
          "The terms of use are dated 8 April 2022. They are the customer contract for the service and its APIs, covering subscriptions, fees, content and termination.",
          "The privacy policy is dated 21 January 2024 and covers the websites, the app and the APIs. It holds the sub-processor list and the storage regions.",
          "A Data Processing Agreement with standard contractual clauses is at apitemplate.io/data-processing-agreement/, and an SLA dated 13 February 2020 at apitemplate.io/service-level-agreement/.",
          "The API answers at rest.apitemplate.io and regional hosts under apitemplate.io, per the API reference. We sent no request to an API host.",
          "apitemplate.io/.well-known/security.txt returns 404.",
          "The status page is hosted by UptimeRobot. Its figures load by script from a path its robots.txt disallows.",
          "No changelog or release notes page was found on the site, in the docs or in the SDK repositories.",
          "The domain's registration date was not established. rdap.org answered 404 for apitemplate.io."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/apitemplate-io.json",
      "live": {
        "slug": "apitemplate-io",
        "probe": {
          "target": "https://rest.apitemplate.io/v2",
          "method": "get",
          "lastAt": "2026-10-10T02:54:46.129526623Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 540,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 565,
          "p95ms24h": 1551,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.apitemplate.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:05.907079503Z"
        },
        "pages": [
          {
            "url": "https://apitemplate.io/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:32:36.641195644Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a0f620060789"
          },
          {
            "url": "https://apitemplate.io/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:32:39.292785112Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d94d8af8dfe8"
          }
        ],
        "updatedAt": "2026-10-10T02:54:46.129526623Z"
      }
    },
    "answer": "Bannerbear API + MCP scores 60.5 (C) on agent readiness against APITemplate.io's 46.6 (D), and leads in 6 of 7 scored categories. APITemplate.io leads on reliability.",
    "b": {
      "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",
      "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": 60.5,
        "grade": "C",
        "agentReady": false,
        "rank": 506,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 77,
          "payments": 35,
          "reliability": 45,
          "schema": 83,
          "security": 57,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "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 has no readable incident history",
          "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.5
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 77,
          "payments": 35,
          "reliability": 45,
          "schema": 83,
          "security": 57,
          "transparency": 36
        },
        "provenanceScore": 85
      },
      "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": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bannerbear.json",
      "live": {
        "slug": "bannerbear",
        "probe": {
          "target": "https://api.bannerbear.com/v5",
          "method": "get",
          "lastAt": "2026-10-10T02:54:47.743062893Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 306,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 307,
          "p95ms24h": 435,
          "samples24h": 249,
          "samples30d": 2466,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "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": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bannerbear.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:09.119690209Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@bannerbear/mcp",
            "version": "0.14.0",
            "seenAt": "2026-10-09T16:42:26.562009809Z"
          },
          {
            "registry": "npm",
            "name": "bannerbear",
            "version": "2.0.0",
            "seenAt": "2026-10-09T16:42:27.435245938Z"
          },
          {
            "registry": "pypi",
            "name": "bannerbear",
            "version": "1.2.0",
            "released": "2026-08-17",
            "seenAt": "2026-10-09T16:42:28.827922773Z"
          }
        ],
        "npmWeekly": 216,
        "pypiWeekly": 17,
        "securityTxt": {
          "url": "https://bannerbear.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:27.895666206Z"
        },
        "llmsTxt": {
          "url": "https://www.bannerbear.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:30.248987567Z"
        },
        "domain": {
          "domain": "bannerbear.com",
          "registered": "2019-12-24",
          "source": "https://rdap.verisign.com/com/v1/domain/bannerbear.com",
          "checkedAt": "2026-10-04T13:10:13.92674351Z"
        },
        "pages": [
          {
            "url": "https://www.bannerbear.com/changelog/",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-09T18:48:28.125736365Z",
            "changedAt": "2026-10-03T15:37:15.347591267Z",
            "fingerprint": "bde6410f4430"
          },
          {
            "url": "https://www.bannerbear.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:48:30.433295083Z",
            "changedAt": "2026-10-03T15:37:17.666410768Z",
            "fingerprint": "c5353dbeef56"
          },
          {
            "url": "https://www.bannerbear.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:48:32.175857134Z",
            "changedAt": "2026-10-03T15:37:19.382213326Z",
            "fingerprint": "d9e156722e5e"
          },
          {
            "url": "https://www.bannerbear.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:48:34.445373466Z",
            "changedAt": "2026-10-03T15:37:21.731236254Z",
            "fingerprint": "5a815814e68b"
          }
        ],
        "updatedAt": "2026-10-10T02:54:47.743062893Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Alphacloud Technologies Pte Ltd",
        "b": "Bannerbear",
        "name": "Vendor"
      },
      {
        "a": "https://rest.apitemplate.io/v2",
        "b": "https://api.bannerbear.com/v5",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under APITemplate.io's Terms of Use. The SDK repositories have no licence file, and the Python client's `setup.py` names Apache 2.0",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "63",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-09-18",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2021-06-29",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2021-06-29",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "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": "yes",
        "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": "none",
        "b": "1.1k npm/wk, 8 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Bannerbear API + MCP scores 60.5 (C) on agent readiness against APITemplate.io's 46.6 (D), and leads in 6 of 7 scored categories. APITemplate.io leads on reliability.",
        "question": "Which is better for AI agents, APITemplate.io or Bannerbear API + MCP?"
      },
      {
        "answer": "APITemplate.io needs an API key. Bannerbear API + MCP takes an API key or an OAuth sign-in.",
        "question": "Do APITemplate.io and Bannerbear API + MCP need an API key?"
      },
      {
        "answer": "Yes. APITemplate.io has a hosted endpoint at https://rest.apitemplate.io/v2 and Bannerbear API + MCP at https://api.bannerbear.com/v5.",
        "question": "Can an agent call APITemplate.io and Bannerbear API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 65 against 45"
        ],
        "also": null,
        "goodFor": "Owners who need invoices, certificates, reports and social images filled from templates, with HTML, URL and Markdown to PDF on the same key and a choice of storage region.",
        "slug": "apitemplate-io",
        "watchFor": "One API key per account or team with no scopes or read-only mode, and `GET /v2/delete-object` deletes a file with a GET request"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 52",
          "Agent ergonomics, 71 against 49",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 77 against 11"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "design.templates",
      "name": "Design templates"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-apitemplate-io.json",
        "title": "Adobe Photoshop API vs APITemplate.io",
        "url": "https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-apitemplate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-canva.json",
        "title": "APITemplate.io vs Canva REST APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-canva"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-creatomate.json",
        "title": "APITemplate.io vs Creatomate",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-creatomate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-photoroom.json",
        "title": "APITemplate.io vs Photoroom API",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-photoroom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-placid.json",
        "title": "APITemplate.io vs Placid API + MCP",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-placid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-shotstack.json",
        "title": "APITemplate.io vs Shotstack",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-shotstack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-templated.json",
        "title": "APITemplate.io vs Templated API + MCP",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-templated"
      },
      {
        "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-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-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-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-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/apitemplate-io-vs-osmo-cli.json",
        "title": "APITemplate.io vs Osmo CLI",
        "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-osmo-cli"
      },
      {
        "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/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"
      }
    ],
    "scores": [
      {
        "apitemplate-io": 65,
        "bannerbear": 45,
        "by": 20,
        "edge": "apitemplate-io",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "apitemplate-io": 52,
        "bannerbear": 83,
        "by": 31,
        "edge": "bannerbear",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "apitemplate-io": 49,
        "bannerbear": 71,
        "by": 22,
        "edge": "bannerbear",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "apitemplate-io": 53,
        "bannerbear": 57,
        "by": 4,
        "edge": "bannerbear",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "apitemplate-io": 30,
        "bannerbear": 35,
        "by": 5,
        "edge": "bannerbear",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "apitemplate-io": 11,
        "bannerbear": 77,
        "by": 66,
        "edge": "bannerbear",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "apitemplate-io": 59,
        "bannerbear": 61,
        "by": 2,
        "edge": "bannerbear",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Bannerbear API + MCP scores 60.5 (C) on agent readiness against APITemplate.io's 46.6 (D), and leads in 6 of 7 scored categories. APITemplate.io leads on reliability. Both do design templates.",
    "verdicts": {
      "apitemplate-io": "A public OpenAPI description covers 12 operations, with rate limits, four regional endpoints and a 99.9 per cent uptime SLA published. Each account or team has one unscoped API key, no changelog or deprecation notices were found, the SDK repositories date from September 2023, and two documentation pages name different regional hostnames.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear",
    "json": "https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.md",
    "slim": "https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.min.md"
  },
  "markdown": "Bannerbear API + MCP scores 60.5 (C) on agent readiness against APITemplate.io's 46.6 (D), and leads in 6 of 7 scored categories. APITemplate.io leads on reliability. Both do design templates.\n\n- APITemplate.io: grade D, 46.6/100, rank #850 of 950. Markdown https://www.anchorterminal.com/tools/apitemplate-io.md · JSON https://www.anchorterminal.com/api/v1/tools/apitemplate-io.json\n- Bannerbear API + MCP: grade C, 60.5/100, rank #506 of 950. Markdown https://www.anchorterminal.com/tools/bannerbear.md · JSON https://www.anchorterminal.com/api/v1/tools/bannerbear.json\n- Best programmatic image and design asset APIs for AI agents: https://www.anchorterminal.com/best/design-assets/index.md\n- All 45 assets comparisons: https://www.anchorterminal.com/compare/design-assets/index.md\n\n## Which one, for what\n\n### APITemplate.io (D)\n\nGood for: Owners who need invoices, certificates, reports and social images filled from templates, with HTML, URL and Markdown to PDF on the same key and a choice of storage region.\n\nAhead on:\n- Reliability, 65 against 45\n\nWatch for: One API key per account or team with no scopes or read-only mode, and `GET /v2/delete-object` deletes a file with a GET request\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 52\n- Agent ergonomics, 71 against 49\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 77 against 11\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\n## Score by category\n\n| Category | Weight | APITemplate.io | Bannerbear API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 45 | APITemplate.io +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 52 | 83 | Bannerbear API + MCP +31 |\n| Agent ergonomics | 13% (16.2 this run) | 49 | 71 | Bannerbear API + MCP +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 57 | Bannerbear API + MCP +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Bannerbear API + MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 11 | 77 | Bannerbear API + MCP +66 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 61 | Bannerbear API + MCP +2 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **46.6 · D** | **60.5 · C** | |\n\n## Facts side by side\n\n| Fact | APITemplate.io | Bannerbear API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Alphacloud Technologies Pte Ltd | Bannerbear |\n| Hosted endpoint | `https://rest.apitemplate.io/v2` | `https://api.bannerbear.com/v5` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under APITemplate.io's Terms of Use. The SDK repositories have no licence file, and the Python client's `setup.py` names Apache 2.0 | none |\n| Tools exposed | 0 | 63 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | none | 2026-09-18 |\n| Terms last updated | no date given | 2021-06-29 |\n| Privacy policy last updated | no date given | 2021-06-29 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | 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 | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 1.1k npm/wk, 8 PyPI/wk |\n| Agent reviews | none | 4/5 (2) |\n\n## Verdicts\n\n**APITemplate.io.** A public OpenAPI description covers 12 operations, with rate limits, four regional endpoints and a 99.9 per cent uptime SLA published. Each account or team has one unscoped API key, no changelog or deprecation notices were found, the SDK repositories date from September 2023, and two documentation pages name different regional hostnames.\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## Before you call either\n\n### APITemplate.io\n\n1. Send the key in the `X-API-KEY` header and pick the regional host first, because requests and output are processed and stored in that region\n2. Call `GET /v2/list-templates` with `with_layer_info=1` before `POST /v2/create-image`, so the `name` values in `overrides` match the template's elements\n3. Set `meta` to your own reference on each generation and check `GET /v2/list-objects` before retrying, since there is no idempotency key\n4. Set `expiration` in minutes (1 to 10080) or `export_type=file` for sensitive output. By default the download URL does not expire\n5. For `async=1` you must pass `webhook_url`. The callback is a GET with the result in the query string, retried three times\n6. On HTTP 429 pause and retry on your own schedule. The docs give no `Retry-After` header or backoff interval\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## Questions\n\n### Which is better for AI agents, APITemplate.io or Bannerbear API + MCP?\n\nBannerbear API + MCP scores 60.5 (C) on agent readiness against APITemplate.io's 46.6 (D), and leads in 6 of 7 scored categories. APITemplate.io leads on reliability.\n\n### Do APITemplate.io and Bannerbear API + MCP need an API key?\n\nAPITemplate.io needs an API key. Bannerbear API + MCP takes an API key or an OAuth sign-in.\n\n### Can an agent call APITemplate.io and Bannerbear API + MCP without installing anything?\n\nYes. APITemplate.io has a hosted endpoint at https://rest.apitemplate.io/v2 and Bannerbear API + MCP at https://api.bannerbear.com/v5.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.json, and with the fewest tokens: https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"apitemplate-io\", \"b\": \"bannerbear\"}`. From a terminal: `anchor compare apitemplate-io bannerbear`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/apitemplate-io.json and https://www.anchorterminal.com/api/v1/tools/bannerbear.json\n\n## Other comparisons with APITemplate.io or Bannerbear API + MCP\n\n- [Adobe Photoshop API vs APITemplate.io](https://www.anchorterminal.com/compare/adobe-photoshop-api-vs-apitemplate-io.md)\n- [APITemplate.io vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/apitemplate-io-vs-canva.md)\n- [APITemplate.io vs Creatomate](https://www.anchorterminal.com/compare/apitemplate-io-vs-creatomate.md)\n- [APITemplate.io vs Photoroom API](https://www.anchorterminal.com/compare/apitemplate-io-vs-photoroom.md)\n- [APITemplate.io vs Placid API + MCP](https://www.anchorterminal.com/compare/apitemplate-io-vs-placid.md)\n- [APITemplate.io vs Shotstack](https://www.anchorterminal.com/compare/apitemplate-io-vs-shotstack.md)\n- [APITemplate.io vs Templated API + MCP](https://www.anchorterminal.com/compare/apitemplate-io-vs-templated.md)\n- [Bannerbear API + MCP vs Canva REST APIs + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-canva.md)\n- [Bannerbear API + MCP vs Creatomate](https://www.anchorterminal.com/compare/bannerbear-vs-creatomate.md)\n- [Bannerbear API + MCP vs Photoroom API](https://www.anchorterminal.com/compare/bannerbear-vs-photoroom.md)\n- [Bannerbear API + MCP vs Placid API + MCP](https://www.anchorterminal.com/compare/bannerbear-vs-placid.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- [APITemplate.io vs Osmo CLI](https://www.anchorterminal.com/compare/apitemplate-io-vs-osmo-cli.md)\n- [Bannerbear API + MCP vs Osmo CLI](https://www.anchorterminal.com/compare/bannerbear-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)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "APITemplate.io vs Bannerbear API + MCP",
        "url": ""
      }
    ],
    "description": "Bannerbear scores 60.5 (C) to APITemplate.io's 46.6 (D) for design templates. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "APITemplate.io D 46.6",
      "Bannerbear API + MCP C 60.5",
      "scores"
    ],
    "h1": "APITemplate.io vs Bannerbear API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-apitemplate-io-vs-bannerbear.png",
    "path": "/compare/apitemplate-io-vs-bannerbear",
    "published": "2026-10-01",
    "section": "tools",
    "title": "APITemplate.io vs Bannerbear for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/apitemplate-io-vs-bannerbear"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 680
  },
  "version": 1
}
