{
  "data": {
    "a": {
      "slug": "activecampaign",
      "name": "ActiveCampaign",
      "vendor": "ActiveCampaign, LLC",
      "vendorUrl": "https://www.activecampaign.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "ActiveCampaign is a hosted marketing automation platform for email, SMS and WhatsApp with a built-in CRM. Its v3 REST API and an official remote MCP server cover contacts, lists, tags, segments, campaigns, automations and deals.",
      "url": "https://www.anchorterminal.com/tools/activecampaign",
      "markdownUrl": "https://www.anchorterminal.com/tools/activecampaign.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/activecampaign.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/activecampaign.json",
      "license": "Proprietary service under ActiveCampaign's terms of service and API licence agreement",
      "transports": [
        "http",
        "streamable-http"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Self-serve. The REST API takes an `Api-Token` header, and each user has one key, shown under Settings, Developer with the account's base URL. No scopes, read-only keys or OAuth for the REST API were found in the reviewed documentation. The remote MCP server uses an account-specific URL from the same page, and the user signs in to ActiveCampaign and approves the connection. Event tracking posts an event key and account ID in the request body.",
      "pricing": "paid",
      "pricingNotes": "14-day trial with no card, and a free developer sandbox on request by form (1,000 contacts, 100 email sends, 5 users, two years). No free plan. Plans are priced by contact count, from $19 a month for Starter at 1,000 contacts billed monthly, per the pricing page's own data file read on 2026-10-08. The API, webhooks and the MCP server are marked as included on all four plans (https://www.activecampaign.com/pricing).",
      "priceSummary": "$19 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs or on the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 50,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.activecampaign.com/reference/overview",
      "llmsTxt": "https://developers.activecampaign.com/llms.txt",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.segments",
        "marketing.campaigns",
        "marketing.journeys",
        "crm.records",
        "crm.pipeline",
        "crm.webhooks",
        "messaging.sms",
        "messaging.whatsapp"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "mcp",
        "api-key",
        "llms-txt",
        "openapi",
        "webhooks",
        "no-card",
        "trial",
        "sandbox",
        "status-page",
        "sla",
        "sms",
        "whatsapp"
      ],
      "lastRelease": "2026-09-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.5,
        "grade": "D",
        "agentReady": false,
        "rank": 590,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 35,
          "payments": 30,
          "reliability": 67,
          "schema": 68,
          "security": 33,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The v3 REST API covers contacts, segments, campaign scheduling and bulk import, with OpenAPI 3.1 definitions inside public Markdown reference pages and documented Retry-After on 429s. Each user has one unscoped API key, the limit is 5 requests a second, and no changelog was found. The status page shows three critical incidents between 27 July and 28 September 2026.",
        "bestFor": "Small and mid-sized teams already on ActiveCampaign that want an agent to maintain contacts, segments and campaign drafts and enrol contacts in automations.",
        "strengths": [
          "Every reference page is served as Markdown with an OpenAPI 3.1 definition for its operation, indexed by llms.txt",
          "429 responses carry Retry-After, RateLimit-Limit and RateLimit-Remaining headers per the rate limit page",
          "Contact upsert by email and bulk import of 250 contacts a request make contact writes safe to repeat",
          "Official remote MCP server with 50 listed tools and no delete tool, included on all four plans per the pricing page",
          "A 99.5 per cent availability SLA is published for enterprise subscriptions, and the sub-processor list of 25 September 2026 names locations"
        ],
        "weaknesses": [
          "Three critical incidents on status.activecampaign.com between 27 July and 28 September 2026, one of about 24 hours 41 minutes on EU segmented campaigns",
          "One API key per user with no scopes or read-only keys in the reviewed documentation",
          "The limit is 5 requests a second per account on every plan",
          "No public API changelog or deprecation policy was found, and developers.activecampaign.com/changelog returns 404",
          "The official PHP and Node.js clients wrap the v1 API and last changed in December 2017 and March 2018"
        ],
        "agentNotes": [
          "Take the base URL from Settings, Developer in the account. Do not build it from the account name, because non-US accounts may not sit on api-us1.com",
          "Use POST /contact/sync to upsert by email, and POST /import/bulk_import for up to 250 contacts, then read each row's outcome from GET /import/info",
          "Page large contact sets with `orders[id]=ASC` and `id_greater`, not `offset`. Unsupported filter and order keys are silently ignored",
          "Check `succeeded` in the body after scheduling, pausing or stopping a campaign. Business-rule failures return 200 with `succeeded` set to 0",
          "Stay under 5 requests a second per account and wait for the Retry-After value on a 429"
        ],
        "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": 50.5
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 35,
          "payments": 30,
          "reliability": 67,
          "schema": 68,
          "security": 33,
          "transparency": 55
        },
        "provenanceScore": 58
      },
      "connect": {
        "http": "curl -H \"Api-Token: $ACTIVECAMPAIGN_API_TOKEN\" https://\u003caccount\u003e.api-us1.com/api/3/users/me"
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/activecampaign"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Starter, 1,000 contacts",
          "unit": "month",
          "usd": 19,
          "note": "billed monthly, $180 billed yearly, 1 user. $49 at 2,500 contacts"
        },
        {
          "item": "Plus, 1,000 contacts",
          "unit": "month",
          "usd": 59,
          "note": "billed monthly, $588 billed yearly, 1 user"
        },
        {
          "item": "Pro, 1,000 contacts",
          "unit": "month",
          "usd": 99,
          "note": "billed monthly, $948 billed yearly, 3 users"
        },
        {
          "item": "Enterprise, 1,000 contacts",
          "unit": "month",
          "usd": 179,
          "note": "billed monthly, $1,740 billed yearly, 5 users"
        }
      ],
      "provenance": {
        "legalEntity": "ActiveCampaign, LLC",
        "domain": "activecampaign.com",
        "domainRegistered": "2003-01-10",
        "endpointOnVendorDomain": false,
        "terms": "https://www.activecampaign.com/legal/terms-of-service",
        "privacy": "https://www.activecampaign.com/legal/privacy-policy",
        "statusPage": "https://status.activecampaign.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (last updated 23 December 2025) name ActiveCampaign, LLC, 1 North Dearborn Street, 5th Floor, Chicago, IL 60602.",
          "The API answers at https://\u003caccount\u003e.api-us1.com/api/3 and event tracking at https://trackcmp.net/event, neither on activecampaign.com. The docs name both hosts.",
          "www.activecampaign.com/.well-known/security.txt and /security.txt return 404.",
          "developers.activecampaign.com/changelog returns 404 and no other API changelog was found.",
          "RDAP for activecampaign.com gives a registration date of 2003-01-10."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/activecampaign.json",
      "live": {
        "slug": "activecampaign",
        "vendorStatus": {
          "page": "https://status.activecampaign.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:23.593016138Z"
        },
        "securityTxt": {
          "url": "https://activecampaign.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:02.115932036Z"
        },
        "pages": [
          {
            "url": "https://www.activecampaign.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:57.337222352Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "313c2f2feb00"
          },
          {
            "url": "https://www.activecampaign.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:25:53.274671193Z",
            "changedAt": "2026-10-02T15:25:06.170575042Z",
            "fingerprint": "3ba14f859de2"
          },
          {
            "url": "https://www.activecampaign.com/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:55.312230622Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3a914eb3316d"
          }
        ],
        "updatedAt": "2026-10-08T19:50:23.593016138Z"
      }
    },
    "answer": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against ActiveCampaign's 50.5 (D), and leads in 5 of 7 scored categories. ActiveCampaign leads on payments \u0026 pricing.",
    "b": {
      "slug": "klaviyo",
      "name": "Klaviyo API + MCP",
      "vendor": "Klaviyo, Inc.",
      "vendorUrl": "https://www.klaviyo.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "Klaviyo is a marketing platform that holds customer profiles and events and sends email, SMS, WhatsApp and push campaigns and flows. Agents reach it through a JSON:API REST API and an official hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/klaviyo",
      "markdownUrl": "https://www.anchorterminal.com/tools/klaviyo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/klaviyo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/klaviyo.json",
      "repo": "https://github.com/klaviyo/openapi",
      "license": "Proprietary service under Klaviyo's terms of service and API terms. The OpenAPI repository and the klaviyo-api SDKs are MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://a.klaviyo.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "klaviyo-api"
        },
        {
          "registry": "npm",
          "name": "klaviyo-api"
        },
        {
          "registry": "pypi",
          "name": "klaviyo-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access is self-serve. An Owner, Admin or Manager creates a private key under Settings, API keys, as read-only, full or custom with per-API scopes, and sends it as `Authorization: Klaviyo-API-Key \u003ckey\u003e` with a `revision` header. A key's scopes can't be edited later. OAuth apps use the authorisation code grant with PKCE and scopes such as `profiles:read`, and need Klaviyo's app review only to be listed in the App Marketplace. The hosted MCP server takes OAuth with dynamic client registration, and the local one takes a private key.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with up to 250 active profiles, 500 email sends and $5 of mobile messages a month, with no time limit, so an agent's owner can start without a contract. Paid plans scale with active profiles through a calculator, from $20 a month for email at 251 to 500 profiles per the page's structured data. API calls aren't metered. Test accounts are free to create but are billed like any account (https://www.klaviyo.com/pricing, checked 2026-10-08).",
      "priceSummary": "$20 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 274,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 152521,
        "pypiWeekly": 73844,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.klaviyo.com/en",
      "llmsTxt": "https://www.klaviyo.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable.json",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.segments",
        "marketing.campaigns",
        "marketing.journeys",
        "email.templates"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "closed-source",
        "oauth",
        "openapi",
        "llms-txt",
        "free-tier",
        "python",
        "typescript",
        "php",
        "ruby",
        "status-page",
        "soc2",
        "webhooks"
      ],
      "lastRelease": "2026-07-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 103,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 77,
          "payments": 25,
          "reliability": 67,
          "schema": 87,
          "security": 84,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API has a public OpenAPI 3 description of 345 operations, scoped keys and OAuth, and dated revisions supported for two years. The hosted MCP server lists 274 tools with a read-only switch. No approval step before a campaign send was found in the reviewed documentation, and no SLA is published.",
        "bestFor": "Consumer brands already on Klaviyo that want an agent to read campaign and flow results, manage profiles, events and segments, and draft campaigns.",
        "strengths": [
          "Public OpenAPI 3.0.2 description of 345 operations, each with its rate limit and required scopes, in an MIT repository updated on 7 October 2026",
          "Private keys can be read-only, full or custom per API, and OAuth tokens carry `resource:access` scopes with PKCE",
          "Each dated revision is stable for one year and deprecated for one more before retirement, with a changelog that marks breaking changes",
          "The hosted MCP server has `read-only`, `toolsets`, `core-tools-only` and `disable-tools-with-user-generated-content` switches",
          "A free plan with 250 active profiles and 500 email sends a month, and API logs filterable by key or OAuth app"
        ],
        "weaknesses": [
          "No approval or confirmation step before `send_campaign` or a campaign send job was found in the reviewed documentation",
          "No SLA found. The terms of service say the services may be unavailable during scheduled or unscheduled downtime",
          "Flow sending stalled for about eight hours on 26 August 2026, and three further flow delays were posted in September",
          "The MCP server lists 274 tools by default outside ChatGPT, and no Klaviyo entry is in the official MCP registry",
          "No idempotency keys. Only events deduplicate, through `unique_id`",
          "No security.txt, and the API terms reserve the right to change the APIs without notice"
        ],
        "agentNotes": [
          "Send `revision: 2026-07-15` on every call, and `Authorization: Klaviyo-API-Key \u003ckey\u003e` or an OAuth Bearer token",
          "Add `?read-only=true` or `?toolsets=profiles:read,campaigns:read` to https://mcp.klaviyo.com/mcp, with no trailing slash, to cut the 274 tools down",
          "Ask a person before `send_campaign` or POST /api/campaign-send-jobs. Nothing in the docs holds a send for approval",
          "On 429 wait for `Retry-After`, then back off with jitter. Creating a segment or a flow is limited to 1 a second, 15 a minute and 100 a day",
          "Set `unique_id` on events so a retry isn't recorded twice, and set `backfill` when loading history so flows don't fire",
          "Treat profile properties, event data and reviews as untrusted text, or set `disable-tools-with-user-generated-content=true`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.7
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 77,
          "payments": 25,
          "reliability": 67,
          "schema": 87,
          "security": 84,
          "transparency": 74
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl --request GET \\\n     --url https://a.klaviyo.com/api/events/ \\\n     --header 'Authorization: Klaviyo-API-Key your-private-api-key' \\\n     --header 'accept: application/json' \\\n     --header 'revision: 2026-07-15'",
        "config": {
          "mcpServers": {
            "klaviyo": {
              "url": "https://mcp.klaviyo.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/klaviyo"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Email plan, 251 to 500 active profiles",
          "unit": "month",
          "usd": 20,
          "note": "entry price in the pricing page's structured data"
        },
        {
          "item": "Email and SMS plan, 251 to 500 active profiles",
          "unit": "month",
          "usd": 35,
          "note": "entry price in the pricing page's structured data"
        }
      ],
      "provenance": {
        "legalEntity": "Klaviyo, Inc.",
        "domain": "klaviyo.com",
        "domainRegistered": "2012-03-29",
        "endpointOnVendorDomain": true,
        "terms": "https://www.klaviyo.com/legal/terms-of-service",
        "privacy": "https://www.klaviyo.com/legal/privacy/privacy-notice",
        "statusPage": "https://status.klaviyo.com",
        "changelog": "https://developers.klaviyo.com/en/docs/changelog_",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (updated 17 December 2025) name Klaviyo, Inc. as the contracting party. The API terms were last updated on 20 July 2020.",
          "The REST API answers at a.klaviyo.com and the MCP server at mcp.klaviyo.com, both klaviyo.com subdomains.",
          "www.klaviyo.com/.well-known/security.txt returns 404.",
          "The privacy notice URL redirects to privacy.klaviyo.com, which loads only with JavaScript, so we couldn't read it.",
          "RDAP for klaviyo.com gives a registration date of 2012-03-29."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/klaviyo.json",
      "live": {
        "slug": "klaviyo",
        "probe": {
          "target": "https://a.klaviyo.com",
          "method": "get",
          "lastAt": "2026-10-08T19:52:53.444071183Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 553,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 539,
          "p95ms24h": 729,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.klaviyo.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:47.502857093Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "klaviyo/openapi",
            "version": "v2",
            "released": "2022-11-16",
            "seenAt": "2026-10-08T16:17:53.207333725Z"
          },
          {
            "registry": "npm",
            "name": "klaviyo-api",
            "version": "23.0.0",
            "seenAt": "2026-10-08T16:17:49.719568487Z"
          },
          {
            "registry": "pypi",
            "name": "klaviyo-api",
            "version": "24.0.0",
            "released": "2026-07-15",
            "seenAt": "2026-10-08T16:17:49.529842574Z"
          },
          {
            "registry": "pypi",
            "name": "klaviyo-mcp-server",
            "version": "0.4.1",
            "released": "2026-03-05",
            "seenAt": "2026-10-08T16:17:53.127386423Z"
          }
        ],
        "githubStars": 21,
        "npmWeekly": 152521,
        "pypiWeekly": 73844,
        "securityTxt": {
          "url": "https://klaviyo.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:58.45995502Z"
        },
        "pages": [
          {
            "url": "https://developers.klaviyo.com/en/docs/changelog_",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:48.075039972Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "af6f91e28a48"
          },
          {
            "url": "https://www.klaviyo.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:42.450662333Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "087b1654a494"
          },
          {
            "url": "https://www.klaviyo.com/legal/privacy/privacy-notice",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:37.884374738Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://www.klaviyo.com/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:40.334402221Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ec22ddbbe5eb"
          }
        ],
        "updatedAt": "2026-10-08T19:52:53.444071183Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "ActiveCampaign, LLC",
        "b": "Klaviyo, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://a.klaviyo.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$20 per month (plan)",
        "name": "Price for marketing profiles"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under ActiveCampaign's terms of service and API licence agreement",
        "b": "Proprietary service under Klaviyo's terms of service and API terms. The OpenAPI repository and the klaviyo-api SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "50",
        "b": "274",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-02",
        "b": "2026-07-15",
        "name": "Last release"
      },
      {
        "a": "2025-12-23",
        "b": "2025-12-17",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "153k npm/wk, 74k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against ActiveCampaign's 50.5 (D), and leads in 5 of 7 scored categories. ActiveCampaign leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, ActiveCampaign or Klaviyo API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do ActiveCampaign and Klaviyo API + MCP need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for ActiveCampaign. Klaviyo API + MCP has a hosted endpoint at https://a.klaviyo.com.",
        "question": "Can an agent call ActiveCampaign and Klaviyo API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 25"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Small and mid-sized teams already on ActiveCampaign that want an agent to maintain contacts, segments and campaign drafts and enrol contacts in automations.",
        "slug": "activecampaign",
        "watchFor": "Three critical incidents on status.activecampaign.com between 27 July and 28 September 2026, one of about 24 hours 41 minutes on EU segmented campaigns"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 68",
          "Agent ergonomics, 78 against 52",
          "Security \u0026 auth, 84 against 33",
          "Maintenance \u0026 community, 77 against 35",
          "Transparency \u0026 trust, 79 against 57"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "Consumer brands already on Klaviyo that want an agent to read campaign and flow results, manage profiles, events and segments, and draft campaigns.",
        "slug": "klaviyo",
        "watchFor": "No approval or confirmation step before `send_campaign` or a campaign send job was found in the reviewed documentation"
      }
    ],
    "job": {
      "capability": "marketing.profiles",
      "name": "Marketing profiles"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/activecampaign-vs-braze.json",
        "title": "ActiveCampaign vs Braze",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-braze"
      },
      {
        "json": "https://www.anchorterminal.com/compare/activecampaign-vs-customer-io.json",
        "title": "ActiveCampaign vs Customer.io",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-customer-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/activecampaign-vs-iterable.json",
        "title": "ActiveCampaign vs Iterable",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-iterable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braze-vs-klaviyo.json",
        "title": "Braze vs Klaviyo API + MCP",
        "url": "https://www.anchorterminal.com/compare/braze-vs-klaviyo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/customer-io-vs-klaviyo.json",
        "title": "Customer.io vs Klaviyo API + MCP",
        "url": "https://www.anchorterminal.com/compare/customer-io-vs-klaviyo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iterable-vs-klaviyo.json",
        "title": "Iterable vs Klaviyo API + MCP",
        "url": "https://www.anchorterminal.com/compare/iterable-vs-klaviyo"
      }
    ],
    "scores": [
      {
        "activecampaign": 67,
        "by": 0,
        "edge": "",
        "key": "reliability",
        "klaviyo": 67,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "activecampaign": 68,
        "by": 19,
        "edge": "klaviyo",
        "key": "schema",
        "klaviyo": 87,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "activecampaign": 52,
        "by": 26,
        "edge": "klaviyo",
        "key": "ergonomics",
        "klaviyo": 78,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "activecampaign": 33,
        "by": 51,
        "edge": "klaviyo",
        "key": "security",
        "klaviyo": 84,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "activecampaign": 30,
        "by": 5,
        "edge": "activecampaign",
        "key": "payments",
        "klaviyo": 25,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "activecampaign": 35,
        "by": 42,
        "edge": "klaviyo",
        "key": "maintenance",
        "klaviyo": 77,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "activecampaign": 57,
        "by": 22,
        "edge": "klaviyo",
        "key": "transparency",
        "klaviyo": 79,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against ActiveCampaign's 50.5 (D), and leads in 5 of 7 scored categories. ActiveCampaign leads on payments \u0026 pricing. Both do marketing profiles.",
    "verdicts": {
      "activecampaign": "The v3 REST API covers contacts, segments, campaign scheduling and bulk import, with OpenAPI 3.1 definitions inside public Markdown reference pages and documented Retry-After on 429s. Each user has one unscoped API key, the limit is 5 requests a second, and no changelog was found. The status page shows three critical incidents between 27 July and 28 September 2026.",
      "klaviyo": "The REST API has a public OpenAPI 3 description of 345 operations, scoped keys and OAuth, and dated revisions supported for two years. The hosted MCP server lists 274 tools with a read-only switch. No approval step before a campaign send was found in the reviewed documentation, and no SLA is published."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo",
    "json": "https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo.md",
    "slim": "https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo.min.md"
  },
  "markdown": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against ActiveCampaign's 50.5 (D), and leads in 5 of 7 scored categories. ActiveCampaign leads on payments \u0026 pricing. Both do marketing profiles.\n\n- ActiveCampaign: grade D, 50.5/100, rank #590 of 722. Markdown https://www.anchorterminal.com/tools/activecampaign.md · JSON https://www.anchorterminal.com/api/v1/tools/activecampaign.json\n- Klaviyo API + MCP: grade BB, 71.7/100, rank #103 of 722. Markdown https://www.anchorterminal.com/tools/klaviyo.md · JSON https://www.anchorterminal.com/api/v1/tools/klaviyo.json\n\n## Which one, for what\n\n### ActiveCampaign (D)\n\nGood for: Small and mid-sized teams already on ActiveCampaign that want an agent to maintain contacts, segments and campaign drafts and enrol contacts in automations.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 25\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Three critical incidents on status.activecampaign.com between 27 July and 28 September 2026, one of about 24 hours 41 minutes on EU segmented campaigns\n\n### Klaviyo API + MCP (BB)\n\nGood for: Consumer brands already on Klaviyo that want an agent to read campaign and flow results, manage profiles, events and segments, and draft campaigns.\n\nAhead on:\n- Schema \u0026 documentation, 87 against 68\n- Agent ergonomics, 78 against 52\n- Security \u0026 auth, 84 against 33\n- Maintenance \u0026 community, 77 against 35\n- Transparency \u0026 trust, 79 against 57\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: No approval or confirmation step before `send_campaign` or a campaign send job was found in the reviewed documentation\n\n\n## Score by category\n\n| Category | Weight | ActiveCampaign | Klaviyo API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 67 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 87 | Klaviyo API + MCP +19 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 78 | Klaviyo API + MCP +26 |\n| Security \u0026 auth | 14% (17.5 this run) | 33 | 84 | Klaviyo API + MCP +51 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 25 | ActiveCampaign +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 35 | 77 | Klaviyo API + MCP +42 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 79 | Klaviyo API + MCP +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.5 · D** | **71.7 · BB** | |\n\n## Facts side by side\n\n| Fact | ActiveCampaign | Klaviyo API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | ActiveCampaign, LLC | Klaviyo, Inc. |\n| Hosted endpoint | no (local only) | `https://a.klaviyo.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| Price for marketing profiles | not published | $20 per month (plan) |\n| x402 | no | no |\n| Licence | Proprietary service under ActiveCampaign's terms of service and API licence agreement | Proprietary service under Klaviyo's terms of service and API terms. The OpenAPI repository and the klaviyo-api SDKs are MIT |\n| Tools exposed | 50 | 274 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-09-02 | 2026-07-15 |\n| Terms last updated | 2025-12-23 | 2025-12-17 |\n| Privacy policy last updated | 2026-10-01 | couldn't be read |\n| Customer content may train models | yes | 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 | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | none | 153k npm/wk, 74k PyPI/wk |\n\n## Verdicts\n\n**ActiveCampaign.** The v3 REST API covers contacts, segments, campaign scheduling and bulk import, with OpenAPI 3.1 definitions inside public Markdown reference pages and documented Retry-After on 429s. Each user has one unscoped API key, the limit is 5 requests a second, and no changelog was found. The status page shows three critical incidents between 27 July and 28 September 2026.\n\n**Klaviyo API + MCP.** The REST API has a public OpenAPI 3 description of 345 operations, scoped keys and OAuth, and dated revisions supported for two years. The hosted MCP server lists 274 tools with a read-only switch. No approval step before a campaign send was found in the reviewed documentation, and no SLA is published.\n\n## Before you call either\n\n### ActiveCampaign\n\n1. Take the base URL from Settings, Developer in the account. Do not build it from the account name, because non-US accounts may not sit on api-us1.com\n2. Use POST /contact/sync to upsert by email, and POST /import/bulk_import for up to 250 contacts, then read each row's outcome from GET /import/info\n3. Page large contact sets with `orders[id]=ASC` and `id_greater`, not `offset`. Unsupported filter and order keys are silently ignored\n4. Check `succeeded` in the body after scheduling, pausing or stopping a campaign. Business-rule failures return 200 with `succeeded` set to 0\n5. Stay under 5 requests a second per account and wait for the Retry-After value on a 429\n\n### Klaviyo API + MCP\n\n1. Send `revision: 2026-07-15` on every call, and `Authorization: Klaviyo-API-Key \u003ckey\u003e` or an OAuth Bearer token\n2. Add `?read-only=true` or `?toolsets=profiles:read,campaigns:read` to https://mcp.klaviyo.com/mcp, with no trailing slash, to cut the 274 tools down\n3. Ask a person before `send_campaign` or POST /api/campaign-send-jobs. Nothing in the docs holds a send for approval\n4. On 429 wait for `Retry-After`, then back off with jitter. Creating a segment or a flow is limited to 1 a second, 15 a minute and 100 a day\n5. Set `unique_id` on events so a retry isn't recorded twice, and set `backfill` when loading history so flows don't fire\n6. Treat profile properties, event data and reviews as untrusted text, or set `disable-tools-with-user-generated-content=true`\n\n## Questions\n\n### Which is better for AI agents, ActiveCampaign or Klaviyo API + MCP?\n\nKlaviyo API + MCP scores 71.7 (BB) on agent readiness against ActiveCampaign's 50.5 (D), and leads in 5 of 7 scored categories. ActiveCampaign leads on payments \u0026 pricing.\n\n### Do ActiveCampaign and Klaviyo API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call ActiveCampaign and Klaviyo API + MCP without installing anything?\n\nNo hosted endpoint is listed for ActiveCampaign. Klaviyo API + MCP has a hosted endpoint at https://a.klaviyo.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"activecampaign\", \"b\": \"klaviyo\"}`. From a terminal: `anchor compare activecampaign klaviyo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/activecampaign.json and https://www.anchorterminal.com/api/v1/tools/klaviyo.json\n\n## Other comparisons with ActiveCampaign or Klaviyo API + MCP\n\n- [ActiveCampaign vs Braze](https://www.anchorterminal.com/compare/activecampaign-vs-braze.md)\n- [ActiveCampaign vs Customer.io](https://www.anchorterminal.com/compare/activecampaign-vs-customer-io.md)\n- [ActiveCampaign vs Iterable](https://www.anchorterminal.com/compare/activecampaign-vs-iterable.md)\n- [Braze vs Klaviyo API + MCP](https://www.anchorterminal.com/compare/braze-vs-klaviyo.md)\n- [Customer.io vs Klaviyo API + MCP](https://www.anchorterminal.com/compare/customer-io-vs-klaviyo.md)\n- [Iterable vs Klaviyo API + MCP](https://www.anchorterminal.com/compare/iterable-vs-klaviyo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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": "ActiveCampaign vs Klaviyo API + MCP",
        "url": ""
      }
    ],
    "description": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against ActiveCampaign's 50.5 (D), and leads in 5 of 7 scored categories. ActiveCampaign leads on payments \u0026 pricing. Both do marketing profiles. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "ActiveCampaign D 50.5",
      "Klaviyo API + MCP BB 71.7",
      "scores"
    ],
    "h1": "ActiveCampaign vs Klaviyo API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-activecampaign-vs-klaviyo.png",
    "path": "/compare/activecampaign-vs-klaviyo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ActiveCampaign vs Klaviyo API + MCP for AI agents, D 50.5 vs BB 71.7",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 780
  },
  "version": 1
}
