{
  "data": {
    "a": {
      "slug": "iterable",
      "name": "Iterable",
      "vendor": "Iterable, Inc.",
      "vendorUrl": "https://iterable.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "Iterable is a hosted customer engagement platform that stores user profiles and events and sends campaigns and journeys by email, SMS, push, in-app and WhatsApp. Agents reach it through a REST API and an official local MCP server, in beta.",
      "url": "https://www.anchorterminal.com/tools/iterable",
      "markdownUrl": "https://www.anchorterminal.com/tools/iterable.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/iterable.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/iterable.json",
      "repo": "https://github.com/Iterable/mcp-server",
      "license": "Proprietary service under Iterable's Master Services Agreement. The MCP server (@iterable/mcp) and the TypeScript API client (@iterable/api) are MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.iterable.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@iterable/mcp"
        },
        {
          "registry": "npm",
          "name": "@iterable/api"
        }
      ],
      "auth": "api-key",
      "authNotes": "Access needs an Iterable customer account, which is sold through sales. A project member creates an API key in the app and sends it in the `Api-Key` header. The specification names five key types (Server-side, Read-only, Mobile, Web, JavaScript) and lists which types each operation accepts. 148 of 159 operations accept a server-side key and 30 accept a read-only key. No OAuth, app review or partner approval was found. The MCP server reads the same key from the system keychain or `ITERABLE_API_KEY`, and adds its own flags for PII, writes and sends. The key guide on the support centre couldn't be read, so rotation and expiry are unchecked.",
      "pricing": "paid",
      "pricingNotes": "No public prices. https://iterable.com/pricing/ redirects to the home page, whose button asks for a demo, and no trial, free tier or self-serve signup was found. The MCP server README mentions sandbox projects, which exist inside a customer organisation, so an agent can't start without a contract. API and MCP calls aren't priced per call in any page we read (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API specification, the MCP server repository or the legal pages (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 118,
      "popularity": {
        "githubStars": 15,
        "npmWeekly": 4178,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://api.iterable.com/api/docs",
      "llmsTxt": "https://iterable.com/llms.txt",
      "openapi": "https://api.iterable.com/api-docs",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.segments",
        "marketing.campaigns",
        "marketing.journeys",
        "email.templates"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "api-key",
        "openapi",
        "closed-source",
        "sales-led",
        "eu-region",
        "typescript",
        "status-page",
        "soc2",
        "beta-mcp"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.2,
        "grade": "C",
        "agentReady": false,
        "rank": 664,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 75,
          "payments": 0,
          "reliability": 66,
          "schema": 65,
          "security": 55,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API publishes a Swagger 2.0 contract with 159 operations, typed API keys including a read-only type, and per-endpoint rate limits. The MCP server starts read-only, with PII, writes and sends each switched on separately. No price, trial or self-serve signup is published, and the support centre, which holds the API guides, refused automated readers.",
        "bestFor": "A team already on Iterable that wants an agent to read campaigns, templates and metrics, or to update profiles, track events and trigger sends under review.",
        "strengths": [
          "Public Swagger 2.0 specification at api.iterable.com/api-docs with 159 operations and 210 schemas, the same for the EU data centre",
          "Each operation lists the key types it accepts (Server-side, Read-only, Mobile, Web, JavaScript), and 30 operations accept a read-only key",
          "The MCP server exposes 31 read tools by default. PII, writes and sends are three separate flags stored per key",
          "53 operations state a numeric rate limit, for example 500 requests a second per project on `POST /api/users/update`",
          "SOC 2 Type 2, ISO 27001 and HIPAA listed on the trust centre, and a sub-processor list with locations updated August 2026"
        ],
        "weaknesses": [
          "No public price, trial or self-serve signup. iterable.com/pricing redirects to the home page, which asks for a demo",
          "No idempotency keys in the specification, and only 6 of 159 operations document a 429 response",
          "The MCP server is in beta under terms that allow change or withdrawal without notice, and carries no tool annotations",
          "No published SLA or API deprecation policy was found in the Master Services Agreement or the product-specific terms",
          "The API can create static lists and read list members, but no operation builds a dynamic segment or edits a journey"
        ],
        "agentNotes": [
          "Send the key in the `Api-Key` header, and use api.eu.iterable.com for projects in the EU data centre",
          "Wait at least 60 seconds after `POST /api/users/update` before a dependent call such as `POST /api/email/target`, as the specification advises",
          "Keep the MCP server on its default read-only setup unless a person reviews each call. Writes and sends act on real users and can't be undone",
          "Pass `suppressionListIds` to `POST /api/campaigns/create`. Global suppression lists aren't added automatically",
          "Read `rateLimitReset` in the 429 `params` on user update calls for the seconds to wait. List member reads allow 5 requests a minute per project"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.2
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 75,
          "payments": 0,
          "reliability": 66,
          "schema": 65,
          "security": 55,
          "transparency": 57
        },
        "provenanceScore": 79
      },
      "connect": {
        "install": "npx @iterable/mcp setup",
        "claudeCode": "claude mcp add iterable -- npx -y @iterable/mcp",
        "config": {
          "mcpServers": {
            "iterable": {
              "args": [
                "-y",
                "@iterable/mcp"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/iterable"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "Iterable, Inc.",
        "domain": "iterable.com",
        "domainRegistered": "2011-12-28",
        "endpointOnVendorDomain": true,
        "terms": "https://iterable.com/legal/terms/",
        "privacy": "https://iterable.com/legal/privacy-policy/",
        "statusPage": "https://status.iterable.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Master Services Agreement (last updated 8 June 2026) names Iterable, Inc., a Delaware corporation. The privacy notice gives 201 Spear Street, Suite 1050, San Francisco, CA 94105.",
          "The website terms of service are dated 6 May 2021 and the privacy notice 14 July 2023.",
          "The API answers at api.iterable.com and api.eu.iterable.com, both on the vendor's domain.",
          "iterable.com/.well-known/security.txt and app.iterable.com/.well-known/security.txt return 404. Reports go through the responsible disclosure policy or security@iterable.com.",
          "No changelog URL is recorded because the release notes sit on support.iterable.com, which answered with a Cloudflare check.",
          "RDAP for iterable.com gives a registration date of 2011-12-28."
        ],
        "score": 79
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/iterable.json",
      "live": {
        "slug": "iterable",
        "probe": {
          "target": "https://api.iterable.com",
          "method": "get",
          "lastAt": "2026-10-10T02:07:12.483485079Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 503,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 516,
          "p95ms24h": 634,
          "samples24h": 250,
          "samples30d": 365,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.iterable.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:06:04.999379615Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Iterable/mcp-server",
            "version": "v1.9.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-09T16:59:20.964579869Z"
          },
          {
            "registry": "npm",
            "name": "@iterable/api",
            "version": "0.13.0",
            "seenAt": "2026-10-09T16:59:19.754629208Z"
          },
          {
            "registry": "npm",
            "name": "@iterable/mcp",
            "version": "1.9.0",
            "seenAt": "2026-10-09T16:59:18.73382592Z"
          }
        ],
        "githubStars": 15,
        "npmWeekly": 3105,
        "securityTxt": {
          "url": "https://iterable.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:16.46390399Z"
        },
        "llmsTxt": {
          "url": "https://iterable.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:11.451371666Z"
        },
        "pages": [
          {
            "url": "https://iterable.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:36.886697182Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ff0025e6b74a"
          },
          {
            "url": "https://iterable.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:32.846895067Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "919d5d7bffa8"
          },
          {
            "url": "https://iterable.com/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:34.902455658Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8a2a6f05a6e1"
          }
        ],
        "updatedAt": "2026-10-10T02:07:12.483485079Z"
      }
    },
    "answer": "MoEngage scores 65.2 (B) on agent readiness against Iterable's 55.2 (C), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "moengage",
      "name": "MoEngage",
      "vendor": "MoEngage, Inc.",
      "vendorUrl": "https://www.moengage.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "MoEngage is a hosted customer engagement platform that stores user profiles and events, builds segments and sends campaigns and flows by push, email, SMS and WhatsApp. Agents reach it through REST APIs and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/moengage",
      "markdownUrl": "https://www.anchorterminal.com/tools/moengage.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/moengage.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/moengage.json",
      "license": "Proprietary service under MoEngage's Terms of Use and a customer agreement",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.moengage.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access needs a MoEngage customer workspace, which is sold through sales. A dashboard user creates API keys under Settings, Account, APIs. The default is HTTP Basic with the Workspace ID as username and the API key as password, with separate keys for Data, Push, Inform, Campaigns and Personalise. An API key dashboard, in early access and enabled on request, adds named keys scoped to chosen API groups, OAuth 2.0 client credentials (access tokens of 5 to 60 minutes, refresh tokens of 30 days, issued at `https://oauth2-{dc}.moengage.com`) and AWS STS role ARNs. Segmentation and Inform accept Basic only. The MCP server uses OAuth with the user's own MoEngage login and role, a second factor, and a 30-day session with a 7-day idle timeout. No app review or partner approval was found.",
      "pricing": "paid",
      "pricingNotes": "No public prices. https://www.moengage.com/plans-and-pricing/ lists Growth and Enterprise plans, counted in monthly tracked users, with a sales contact and a one-year minimum commitment. No free tier, trial or self-serve signup was found. Each workspace has Live and Test environments and Inform has a sandbox host, but both sit inside a customer account, so an agent can't start without a contract. API and MCP calls aren't priced per call in any page read (checked 2026-10-09).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API documentation, the OpenAPI files, the pricing page or the legal pages (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 52,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.moengage.com/docs/api/introduction",
      "llmsTxt": "https://www.moengage.com/docs/llms.txt",
      "openapi": "https://www.moengage.com/docs/api/data/data.yaml",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.segments",
        "marketing.campaigns",
        "marketing.journeys",
        "email.templates",
        "notify.push"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "api-key",
        "openapi",
        "llms-txt",
        "closed-source",
        "sales-led",
        "enterprise",
        "eu-region",
        "status-page",
        "soc2",
        "sla"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.2,
        "grade": "B",
        "agentReady": false,
        "rank": 327,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 75,
          "payments": 0,
          "reliability": 74,
          "schema": 87,
          "security": 69,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "MoEngage publishes 36 OpenAPI files covering 140 operations, a per-endpoint rate limit table, Markdown docs and a hosted MCP server that builds drafts and leaves publishing to a person. No price, trial or self-serve signup is published, and on 17 August 2026 the Inform API in one data centre accepted requests for about 16 hours without sending the messages.",
        "bestFor": "A team already on MoEngage that wants an agent to update profiles, track events, build filter segments, draft Push and Email campaigns and read campaign, flow and analytics results.",
        "strengths": [
          "36 public OpenAPI files with 140 operations, every one with a summary and description, and a 429 response documented on 103",
          "A rate limit table with numbers for every endpoint group, plus `x-ratelimit-limit`, `x-ratelimit-remaining` and `x-ratelimit-reset` response headers",
          "The hosted MCP server at mcp.moengage.com uses OAuth tied to the user's role, masks PII attributes and cannot publish a campaign",
          "API keys can be scoped to chosen API groups, use OAuth 2.0 tokens of 5 to 60 minutes or AWS STS roles, and be limited by IP address",
          "A published SLA of 99.9 per cent monthly availability, a public DPA and a sub-processor list with locations dated 1 September 2026"
        ],
        "weaknesses": [
          "No public price, free tier or trial. The pricing page lists Growth and Enterprise plans with a one-year minimum and a sales contact only",
          "On 17 August 2026 the Inform API in DC-03 returned HTTP 200 for about 16 hours while some messages were never sent, per the status page",
          "Scoped keys, OAuth 2.0 and AWS STS keys sit in an API key dashboard that is in early access and enabled on request",
          "Segmentation and Inform accept Basic authentication only, and new Push API keys can't be created",
          "No API deprecation policy was found, and no official server-side API client library was found in the documentation"
        ],
        "agentNotes": [
          "Take the data centre number from the dashboard URL and call `https://api-{dc}.moengage.com`. Data can't be moved between data centres",
          "Send an `Idempotency-Key` header (UUID v4) on V5 campaign writes and test sends, and a `transaction_id` on Inform alerts, which deduplicates for 5 minutes",
          "Use internal event and attribute names in segment filters, and run `deep_validate_segment_filters` first. A wrong event name is accepted and the count later fails with no reason",
          "Use `in` with a list for text equality in segment filters. `equals` returns a 400 that names no field",
          "Reuse an OAuth access token until it nears expiry. The token endpoint allows 5 requests a minute and 30 per 10 minutes for each key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.2
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 75,
          "payments": 0,
          "reliability": 74,
          "schema": 87,
          "security": 69,
          "transparency": 60
        },
        "provenanceScore": 89
      },
      "connect": {
        "http": "curl --request POST \\\n  --url https://api-{dc}.moengage.com/v1/customer/YOUR_WORKSPACE_ID \\\n  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \\\n  --header 'Content-Type: application/json' \\\n  --data '{ \"type\": \"customer\", \"customer_id\": \"user_12345\" }'",
        "config": {
          "mcpServers": {
            "moengage": {
              "url": "https://mcp.moengage.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/moengage"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "MoEngage, Inc.",
        "domain": "moengage.com",
        "domainRegistered": "2014-04-19",
        "endpointOnVendorDomain": true,
        "terms": "https://www.moengage.com/terms-of-use/",
        "privacy": "https://www.moengage.com/privacy-policy/",
        "statusPage": "https://status.moengage.com",
        "changelog": "https://www.moengage.com/docs/release-notes/product/2026/september-2026",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Use name MoEngage, Inc., a Delaware corporation, and say they govern the website and related software and services. They carry no date. The DPA and sub-processor list name MoEngage Global Inc.",
          "The acceptable use policy (last updated 14 May 2026) refers to a Master Service Agreement between MoEngage and its customers. That agreement isn't published.",
          "The privacy policy was last updated on 26 August 2026 and covers MoEngage as processor for its customers' end users.",
          "The API answers at api-{dc}.moengage.com and the MCP server at mcp.moengage.com, both on the vendor's domain.",
          "https://www.moengage.com/.well-known/security.txt returns 404. Reports go to the address in the responsible disclosure policy.",
          "Release notes are one page a month under /docs/release-notes/product/, with separate dated changelogs for each SDK.",
          "RDAP for moengage.com gives a registration date of 2014-04-19."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/moengage.json",
      "live": {
        "slug": "moengage",
        "probe": {
          "target": "https://mcp.moengage.com",
          "method": "get",
          "lastAt": "2026-10-10T02:07:17.081239677Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 34,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 99.07,
          "uptime30d": 99.07,
          "p50ms24h": 37,
          "p95ms24h": 135,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.moengage.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:06:08.780599416Z"
        },
        "pages": [
          {
            "url": "https://www.moengage.com/docs/release-notes/product/2026/september-2026",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:19.636830436Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "01e807658b5c"
          },
          {
            "url": "https://www.moengage.com/plans-and-pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:23.984233527Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "159b4036728b"
          },
          {
            "url": "https://www.moengage.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:24.146105363Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cf0f65af7274"
          },
          {
            "url": "https://www.moengage.com/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:26.055494253Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3a3cf18334cc"
          }
        ],
        "updatedAt": "2026-10-10T02:07:17.081239677Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Iterable, Inc.",
        "b": "MoEngage, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.iterable.com",
        "b": "https://mcp.moengage.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Iterable's Master Services Agreement. The MCP server (@iterable/mcp) and the TypeScript API client (@iterable/api) are MIT",
        "b": "Proprietary service under MoEngage's Terms of Use and a customer agreement",
        "name": "Licence"
      },
      {
        "a": "118",
        "b": "52",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-10-09",
        "name": "Last release"
      },
      {
        "a": "2021-05-06",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2023-01-01",
        "b": "2026-08-26",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "15 stars, 4.2k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "MoEngage scores 65.2 (B) on agent readiness against Iterable's 55.2 (C), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Iterable or MoEngage?"
      },
      {
        "answer": "Iterable needs an API key. MoEngage takes an API key or an OAuth sign-in.",
        "question": "Do Iterable and MoEngage need an API key?"
      },
      {
        "answer": "Yes. Iterable has a hosted endpoint at https://api.iterable.com and MoEngage at https://mcp.moengage.com.",
        "question": "Can an agent call Iterable and MoEngage without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "A team already on Iterable that wants an agent to read campaigns, templates and metrics, or to update profiles, track events and trigger sends under review.",
        "slug": "iterable",
        "watchFor": "No public price, trial or self-serve signup. iterable.com/pricing redirects to the home page, which asks for a demo"
      },
      {
        "aheadOn": [
          "Reliability, 74 against 66",
          "Schema \u0026 documentation, 87 against 65",
          "Agent ergonomics, 68 against 57",
          "Security \u0026 auth, 69 against 55",
          "Transparency \u0026 trust, 75 against 68"
        ],
        "also": null,
        "goodFor": "A team already on MoEngage that wants an agent to update profiles, track events, build filter segments, draft Push and Email campaigns and read campaign, flow and analytics results.",
        "slug": "moengage",
        "watchFor": "No public price, free tier or trial. The pricing page lists Growth and Enterprise plans with a one-year minimum and a sales contact only"
      }
    ],
    "job": {
      "capability": "marketing.profiles",
      "name": "Marketing audiences"
    },
    "others": [
      {
        "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/activecampaign-vs-moengage.json",
        "title": "ActiveCampaign vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braze-vs-iterable.json",
        "title": "Braze vs Iterable",
        "url": "https://www.anchorterminal.com/compare/braze-vs-iterable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braze-vs-moengage.json",
        "title": "Braze vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/braze-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clevertap-vs-iterable.json",
        "title": "CleverTap vs Iterable",
        "url": "https://www.anchorterminal.com/compare/clevertap-vs-iterable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/clevertap-vs-moengage.json",
        "title": "CleverTap vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/clevertap-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/customer-io-vs-iterable.json",
        "title": "Customer.io vs Iterable",
        "url": "https://www.anchorterminal.com/compare/customer-io-vs-iterable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/customer-io-vs-moengage.json",
        "title": "Customer.io vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/customer-io-vs-moengage"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iterable-vs-mailchimp-marketing.json",
        "title": "Iterable vs Mailchimp Marketing API",
        "url": "https://www.anchorterminal.com/compare/iterable-vs-mailchimp-marketing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iterable-vs-omnisend.json",
        "title": "Iterable vs Omnisend",
        "url": "https://www.anchorterminal.com/compare/iterable-vs-omnisend"
      },
      {
        "json": "https://www.anchorterminal.com/compare/klaviyo-vs-moengage.json",
        "title": "Klaviyo API + MCP vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/klaviyo-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mailchimp-marketing-vs-moengage.json",
        "title": "Mailchimp Marketing API vs MoEngage",
        "url": "https://www.anchorterminal.com/compare/mailchimp-marketing-vs-moengage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/moengage-vs-omnisend.json",
        "title": "MoEngage vs Omnisend",
        "url": "https://www.anchorterminal.com/compare/moengage-vs-omnisend"
      }
    ],
    "scores": [
      {
        "by": 8,
        "edge": "moengage",
        "iterable": 66,
        "key": "reliability",
        "moengage": 74,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "moengage",
        "iterable": 65,
        "key": "schema",
        "moengage": 87,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 11,
        "edge": "moengage",
        "iterable": 57,
        "key": "ergonomics",
        "moengage": 68,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 14,
        "edge": "moengage",
        "iterable": 55,
        "key": "security",
        "moengage": 69,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "iterable": 0,
        "key": "payments",
        "moengage": 0,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "iterable": 75,
        "key": "maintenance",
        "moengage": 75,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 7,
        "edge": "moengage",
        "iterable": 68,
        "key": "transparency",
        "moengage": 75,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "MoEngage scores 65.2 (B) on agent readiness against Iterable's 55.2 (C), and leads in 5 of 7 scored categories. Both do marketing audiences.",
    "verdicts": {
      "iterable": "The REST API publishes a Swagger 2.0 contract with 159 operations, typed API keys including a read-only type, and per-endpoint rate limits. The MCP server starts read-only, with PII, writes and sends each switched on separately. No price, trial or self-serve signup is published, and the support centre, which holds the API guides, refused automated readers.",
      "moengage": "MoEngage publishes 36 OpenAPI files covering 140 operations, a per-endpoint rate limit table, Markdown docs and a hosted MCP server that builds drafts and leaves publishing to a person. No price, trial or self-serve signup is published, and on 17 August 2026 the Inform API in one data centre accepted requests for about 16 hours without sending the messages."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/iterable-vs-moengage",
    "json": "https://www.anchorterminal.com/compare/iterable-vs-moengage.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/iterable-vs-moengage.md",
    "slim": "https://www.anchorterminal.com/compare/iterable-vs-moengage.min.md"
  },
  "markdown": "MoEngage scores 65.2 (B) on agent readiness against Iterable's 55.2 (C), and leads in 5 of 7 scored categories. Both do marketing audiences.\n\n- Iterable: grade C, 55.2/100, rank #664 of 950. Markdown https://www.anchorterminal.com/tools/iterable.md · JSON https://www.anchorterminal.com/api/v1/tools/iterable.json\n- MoEngage: grade B, 65.2/100, rank #327 of 950. Markdown https://www.anchorterminal.com/tools/moengage.md · JSON https://www.anchorterminal.com/api/v1/tools/moengage.json\n- Best lifecycle marketing and customer engagement platforms for AI agents: https://www.anchorterminal.com/best/lifecycle-marketing/index.md\n- All 36 lifecycle marketing comparisons: https://www.anchorterminal.com/compare/lifecycle-marketing/index.md\n\n## Which one, for what\n\n### Iterable (C)\n\nGood for: A team already on Iterable that wants an agent to read campaigns, templates and metrics, or to update profiles, track events and trigger sends under review.\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No public price, trial or self-serve signup. iterable.com/pricing redirects to the home page, which asks for a demo\n\n### MoEngage (B)\n\nGood for: A team already on MoEngage that wants an agent to update profiles, track events, build filter segments, draft Push and Email campaigns and read campaign, flow and analytics results.\n\nAhead on:\n- Reliability, 74 against 66\n- Schema \u0026 documentation, 87 against 65\n- Agent ergonomics, 68 against 57\n- Security \u0026 auth, 69 against 55\n- Transparency \u0026 trust, 75 against 68\n\nWatch for: No public price, free tier or trial. The pricing page lists Growth and Enterprise plans with a one-year minimum and a sales contact only\n\n\n## Score by category\n\n| Category | Weight | Iterable | MoEngage | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 66 | 74 | MoEngage +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 87 | MoEngage +22 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 68 | MoEngage +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 69 | MoEngage +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 0 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 75 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 75 | MoEngage +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **55.2 · C** | **65.2 · B** | |\n\n## Facts side by side\n\n| Fact | Iterable | MoEngage |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Iterable, Inc. | MoEngage, Inc. |\n| Hosted endpoint | `https://api.iterable.com` | `https://mcp.moengage.com` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Iterable's Master Services Agreement. The MCP server (@iterable/mcp) and the TypeScript API client (@iterable/api) are MIT | Proprietary service under MoEngage's Terms of Use and a customer agreement |\n| Tools exposed | 118 | 52 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-30 | 2026-10-09 |\n| Terms last updated | 2021-05-06 | no date given |\n| Privacy policy last updated | 2023-01-01 | 2026-08-26 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 15 stars, 4.2k npm/wk | none |\n\n## Verdicts\n\n**Iterable.** The REST API publishes a Swagger 2.0 contract with 159 operations, typed API keys including a read-only type, and per-endpoint rate limits. The MCP server starts read-only, with PII, writes and sends each switched on separately. No price, trial or self-serve signup is published, and the support centre, which holds the API guides, refused automated readers.\n\n**MoEngage.** MoEngage publishes 36 OpenAPI files covering 140 operations, a per-endpoint rate limit table, Markdown docs and a hosted MCP server that builds drafts and leaves publishing to a person. No price, trial or self-serve signup is published, and on 17 August 2026 the Inform API in one data centre accepted requests for about 16 hours without sending the messages.\n\n## Before you call either\n\n### Iterable\n\n1. Send the key in the `Api-Key` header, and use api.eu.iterable.com for projects in the EU data centre\n2. Wait at least 60 seconds after `POST /api/users/update` before a dependent call such as `POST /api/email/target`, as the specification advises\n3. Keep the MCP server on its default read-only setup unless a person reviews each call. Writes and sends act on real users and can't be undone\n4. Pass `suppressionListIds` to `POST /api/campaigns/create`. Global suppression lists aren't added automatically\n5. Read `rateLimitReset` in the 429 `params` on user update calls for the seconds to wait. List member reads allow 5 requests a minute per project\n\n### MoEngage\n\n1. Take the data centre number from the dashboard URL and call `https://api-{dc}.moengage.com`. Data can't be moved between data centres\n2. Send an `Idempotency-Key` header (UUID v4) on V5 campaign writes and test sends, and a `transaction_id` on Inform alerts, which deduplicates for 5 minutes\n3. Use internal event and attribute names in segment filters, and run `deep_validate_segment_filters` first. A wrong event name is accepted and the count later fails with no reason\n4. Use `in` with a list for text equality in segment filters. `equals` returns a 400 that names no field\n5. Reuse an OAuth access token until it nears expiry. The token endpoint allows 5 requests a minute and 30 per 10 minutes for each key\n\n## Questions\n\n### Which is better for AI agents, Iterable or MoEngage?\n\nMoEngage scores 65.2 (B) on agent readiness against Iterable's 55.2 (C), and leads in 5 of 7 scored categories.\n\n### Do Iterable and MoEngage need an API key?\n\nIterable needs an API key. MoEngage takes an API key or an OAuth sign-in.\n\n### Can an agent call Iterable and MoEngage without installing anything?\n\nYes. Iterable has a hosted endpoint at https://api.iterable.com and MoEngage at https://mcp.moengage.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/iterable-vs-moengage.json, and with the fewest tokens: https://www.anchorterminal.com/compare/iterable-vs-moengage.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"iterable\", \"b\": \"moengage\"}`. From a terminal: `anchor compare iterable moengage`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/iterable.json and https://www.anchorterminal.com/api/v1/tools/moengage.json\n\n## Other comparisons with Iterable or MoEngage\n\n- [ActiveCampaign vs Iterable](https://www.anchorterminal.com/compare/activecampaign-vs-iterable.md)\n- [ActiveCampaign vs MoEngage](https://www.anchorterminal.com/compare/activecampaign-vs-moengage.md)\n- [Braze vs Iterable](https://www.anchorterminal.com/compare/braze-vs-iterable.md)\n- [Braze vs MoEngage](https://www.anchorterminal.com/compare/braze-vs-moengage.md)\n- [CleverTap vs Iterable](https://www.anchorterminal.com/compare/clevertap-vs-iterable.md)\n- [CleverTap vs MoEngage](https://www.anchorterminal.com/compare/clevertap-vs-moengage.md)\n- [Customer.io vs Iterable](https://www.anchorterminal.com/compare/customer-io-vs-iterable.md)\n- [Customer.io vs MoEngage](https://www.anchorterminal.com/compare/customer-io-vs-moengage.md)\n- [Iterable vs Klaviyo API + MCP](https://www.anchorterminal.com/compare/iterable-vs-klaviyo.md)\n- [Iterable vs Mailchimp Marketing API](https://www.anchorterminal.com/compare/iterable-vs-mailchimp-marketing.md)\n- [Iterable vs Omnisend](https://www.anchorterminal.com/compare/iterable-vs-omnisend.md)\n- [Klaviyo API + MCP vs MoEngage](https://www.anchorterminal.com/compare/klaviyo-vs-moengage.md)\n- [Mailchimp Marketing API vs MoEngage](https://www.anchorterminal.com/compare/mailchimp-marketing-vs-moengage.md)\n- [MoEngage vs Omnisend](https://www.anchorterminal.com/compare/moengage-vs-omnisend.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": "Iterable vs MoEngage",
        "url": ""
      }
    ],
    "description": "MoEngage scores 65.2 (B) to Iterable's 55.2 (C) for marketing audiences. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Iterable C 55.2",
      "MoEngage B 65.2",
      "scores"
    ],
    "h1": "Iterable vs MoEngage",
    "image": "https://www.anchorterminal.com/assets/og/compare-iterable-vs-moengage.png",
    "path": "/compare/iterable-vs-moengage",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Iterable vs MoEngage for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/iterable-vs-moengage"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 630
  },
  "version": 1
}
