{
  "data": {
    "a": {
      "slug": "bundle-social",
      "name": "bundle.social",
      "vendor": "BUNDLE SP. Z O.O.",
      "vendorUrl": "https://bundle.social",
      "kind": "http-api",
      "category": "social-media",
      "summary": "bundle.social is a hosted REST API from BUNDLE SP. Z O.O. in Warsaw for publishing, scheduling, commenting and reading analytics across 15 social networks. It also ships a TypeScript SDK, a CLI and a local MCP server.",
      "url": "https://www.anchorterminal.com/tools/bundle-social",
      "markdownUrl": "https://www.anchorterminal.com/tools/bundle-social.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bundle-social.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bundle-social.json",
      "repo": "https://github.com/bundleglobal/bundlesocial-node",
      "license": "Proprietary hosted service under bundle.social's terms of service. The TypeScript SDK, the CLI and the MCP server on GitHub are MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.bundle.social/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "bundlesocial"
        },
        {
          "registry": "npm",
          "name": "bundlesocial-mcp"
        },
        {
          "registry": "npm",
          "name": "bundlesocial-cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve organisation API key sent in the `x-api-key` header, created and rolled in the dashboard after a browser sign-up, up to 50 keys an organisation. Keys carry no scopes and reach every team. Connecting a social account needs a person to complete that network's OAuth consent through a hosted connect link.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 20 posts a month, three teams and API access, no payment details needed. Pro is $100 a month for 10,000 posts and Business $400 for 100,000, both with unlimited connected accounts. Enterprise is quoted. X actions are charged from prepaid credit at X's rates (https://bundle.social/pricing.md).",
      "priceSummary": "$100 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, pricing.md, the docs index or the OpenAPI description in the SDK repository (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 68,
      "popularity": {
        "githubStars": 2,
        "npmWeekly": 4095,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://info.bundle.social",
      "llmsTxt": "https://bundle.social/llms.txt",
      "openapi": "https://api.bundle.social/swagger-json",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "api-key",
        "openapi",
        "llms-txt",
        "mcp",
        "cli",
        "typescript",
        "webhooks",
        "status-page"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.1,
        "grade": "C",
        "agentReady": false,
        "rank": 589,
        "ranked": true,
        "rankOf": 1171,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 78,
          "payments": 35,
          "reliability": 63,
          "schema": 86,
          "security": 34,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "The REST API has a public OpenAPI 3.0 description of 194 operations, Markdown docs and published rate limits, and the free plan needs no card. Organisation API keys carry no scopes, there is no idempotency key, and the status page shows one API outage of 4 hours 3 minutes on 31 August 2026.",
        "bestFor": "A SaaS product or agent that manages many accounts for many customers, since paid plans do not charge per connected account and teams separate tenants.",
        "strengths": [
          "OpenAPI 3.0.2 description with 194 operations, each with a description, plus llms.txt, llms-full.txt and Markdown copies of every docs page",
          "Paid plans are priced per organisation with no fee per connected account. The free plan covers 20 posts a month and needs no payment details",
          "Rate limits are published as three windows (100 a second, 500 per 10 seconds, 2,000 a minute), counted per endpoint for API keys",
          "Platform errors come back with a stable `code`, a `userFacingMessage` and an `isTransient` flag in `errorsVerbose`",
          "Valid security.txt and a disclosure policy that promises acknowledgement within 3 business days"
        ],
        "weaknesses": [
          "API keys are organisation-wide with no scopes or read-only mode found, so one key reaches every team and connected account",
          "No idempotency key on `POST /api/v1/post`. A `referenceKey` with conflict protection is the nearest safeguard",
          "The status page records the API down for 4 hours 3 minutes on 31 August 2026",
          "The DPA is sent on request only, and no sub-processor list or certification was found",
          "One official SDK (TypeScript). The MCP server is local stdio only, with 68 tools and no toolsets"
        ],
        "agentNotes": [
          "Send the key in the `x-api-key` header to `https://api.bundle.social/api/v1`. A missing key returns 401 and a bad key 403",
          "Pass `teamId` on most calls. Set `BUNDLESOCIAL_TEAM_ID` for the MCP server or CLI when the organisation has more than one team",
          "Set a `referenceKey` on each post and look it up with the reference-key endpoint before retrying a create, because there is no idempotency key",
          "Check `GET /api/v1/organization/usage/daily-limits` before bulk scheduling. Failed and deleted posts still count against the monthly quota",
          "A person must complete each network's OAuth consent in a browser. Keep prepaid credit for X, where a post costs $0.015 or $0.20 with a link"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.3,
        "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.1
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 78,
          "payments": 35,
          "reliability": 63,
          "schema": 86,
          "security": 34,
          "transparency": 44
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "npm install bundlesocial",
        "http": "curl \"https://api.bundle.social/api/v1/team\" -H \"x-api-key: $BUNDLE_SOCIAL_API_KEY\"",
        "claudeCode": "claude mcp add bundlesocial --env BUNDLESOCIAL_API_KEY=sk_live_... -- npx -y bundlesocial-mcp",
        "config": {
          "mcpServers": {
            "bundlesocial": {
              "args": [
                "-y",
                "bundlesocial-mcp"
              ],
              "command": "npx",
              "env": {
                "BUNDLESOCIAL_API_KEY": "sk_live_..."
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/bundle-social"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 100,
          "note": "10,000 posts a month, unlimited connected accounts"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 400,
          "note": "100,000 posts a month"
        },
        {
          "item": "X post",
          "unit": "tx",
          "usd": 0.015,
          "note": "X's charge passed through, from prepaid credit"
        },
        {
          "item": "X post with a link",
          "unit": "tx",
          "usd": 0.2,
          "note": "X's charge passed through"
        }
      ],
      "provenance": {
        "legalEntity": "BUNDLE SP. Z O.O.",
        "domain": "bundle.social",
        "domainRegistered": "2023-09-17",
        "endpointOnVendorDomain": true,
        "terms": "https://bundle.social/terms",
        "privacy": "https://bundle.social/privacy",
        "statusPage": "https://bundlesocial.betteruptime.com/",
        "changelog": "https://info.bundle.social/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The terms (last updated 14 July 2026) name BUNDLE SP. Z O.O., ul. Hoża 86 / 410, 00-682 Warsaw, KRS 0001103308, and say they govern the website, dashboard and API. Polish law applies.",
          "The privacy policy (last updated 2 July 2026) covers the same Service and says the company is a processor for customer content and connected account data.",
          "security.txt at bundle.social/.well-known/security.txt expires on 7 April 2027 and gives a contact address and the contact page.",
          "RDAP gives a registration date of 2023-09-17 for bundle.social.",
          "The status page is on Better Stack's betteruptime.com domain. The API answers at api.bundle.social and the docs at info.bundle.social."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bundle-social.json",
      "live": {
        "slug": "bundle-social",
        "probe": {
          "target": "https://api.bundle.social/api/v1",
          "method": "get",
          "lastAt": "2026-10-19T09:34:24.072895142Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 189,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 117,
          "p95ms24h": 496,
          "samples24h": 256,
          "samples30d": 2439,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 102,
              "ok": 102
            }
          ]
        },
        "vendorStatus": {
          "page": "https://bundlesocial.betteruptime.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-19T09:03:05.505587353Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "bundleglobal/bundlesocial-node",
            "version": "v2.68.0",
            "released": "2026-10-14",
            "seenAt": "2026-10-19T03:39:15.828948835Z"
          },
          {
            "registry": "npm",
            "name": "bundlesocial",
            "version": "2.68.0",
            "seenAt": "2026-10-19T03:39:11.592894345Z"
          },
          {
            "registry": "npm",
            "name": "bundlesocial-cli",
            "version": "1.2.1",
            "seenAt": "2026-10-19T03:39:13.789342094Z"
          },
          {
            "registry": "npm",
            "name": "bundlesocial-mcp",
            "version": "1.2.1",
            "seenAt": "2026-10-19T03:39:12.443506889Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 2645,
        "securityTxt": {
          "url": "https://bundle.social/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-17T14:54:49.292Z",
          "checkedAt": "2026-10-18T15:53:34.044106228Z"
        },
        "llmsTxt": {
          "url": "https://bundle.social/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-18T14:24:25.396338642Z"
        },
        "domain": {
          "domain": "bundle.social",
          "registered": "2023-09-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/bundle.social",
          "checkedAt": "2026-10-18T13:35:25.891772413Z"
        },
        "pages": [
          {
            "url": "https://info.bundle.social/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-18T23:32:03.260404539Z",
            "changedAt": "2026-10-17T23:04:27.737449316Z",
            "fingerprint": "cdc34c9289f1"
          },
          {
            "url": "https://bundle.social/pricing.md",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-18T23:24:29.761551864Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a06b56dc1904"
          },
          {
            "url": "https://bundle.social/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-18T23:24:31.868572925Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "873c63ca40f1"
          },
          {
            "url": "https://bundle.social/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-18T23:24:33.895971296Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cfd8eeb305a0"
          }
        ],
        "github": {
          "repo": "bundleglobal/bundlesocial-node",
          "checkedAt": "2026-10-19T05:59:11.335874177Z",
          "stars": 2,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-14T18:16:50Z",
          "openIssues": 1,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 18,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-14T18:16:14Z"
          },
          "replies": {
            "sampled": 3,
            "unanswered": 1,
            "medianDays": 2
          }
        },
        "updatedAt": "2026-10-19T09:34:24.072895142Z"
      }
    },
    "answer": "bundle.social scores 60.1 (C) on agent readiness against SocialCannon's 50.2 (D), and leads in 5 of 7 scored categories. SocialCannon leads on agent ergonomics and security \u0026 auth.",
    "b": {
      "slug": "socialcannon",
      "name": "SocialCannon",
      "vendor": "Tiny Red Pixel Ltd.",
      "vendorUrl": "https://socialcannon.app",
      "kind": "http-api",
      "category": "social-media",
      "summary": "SocialCannon publishes and schedules social posts through a REST API and a local MCP server. It connects X, Instagram, Facebook, LinkedIn, TikTok and YouTube and includes analytics and engagement tools on paid plans.",
      "url": "https://www.anchorterminal.com/tools/socialcannon",
      "markdownUrl": "https://www.anchorterminal.com/tools/socialcannon.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/socialcannon.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/socialcannon.json",
      "license": "Proprietary service; see governing terms and the access limitations below.",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://socialcannon.app/api/v1",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth client credentials exchanged for one-hour JWTs. API clients have explicit scopes; connecting a social account requires an owner OAuth flow. The MCP server can refresh tokens using client credentials.",
      "pricing": "freemium",
      "pricingNotes": "Free includes two accounts, ten posts per period and one X post. Pro is $15 a month, Agency $49 and Enterprise $150. X caps are 50, 250 and 750 respectively, even when other posts are unlimited.",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 route established in the documentation reviewed on 19 October 2026.",
        "endpoints": []
      },
      "toolCount": 23,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-19"
      },
      "docsUrl": "https://socialcannon.app/docs",
      "capabilities": [
        "social.publish",
        "social.schedule",
        "social.analytics"
      ],
      "tags": [
        "social-media",
        "http-api",
        "freemium"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.2,
        "grade": "D",
        "agentReady": false,
        "rank": 891,
        "ranked": true,
        "rankOf": 1171,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 0,
          "payments": 30,
          "reliability": 45,
          "schema": 55,
          "security": 65,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-19"
        },
        "negative": 0,
        "verdict": "Scoped credentials and published rate limits. X quotas remain on paid plans with unlimited posts.",
        "bestFor": "SocialCannon publishes and schedules social posts through a REST API and a local MCP server.",
        "strengths": [
          "Scoped credentials and published rate limits",
          "Sandbox dry runs before connecting a real social account",
          "Cursor pagination and explicit publishing failure states"
        ],
        "weaknesses": [
          "X quotas remain on paid plans with unlimited posts",
          "No dated release history or public incident record established",
          "Idempotency was not verified across all write routes"
        ],
        "agentNotes": [
          "Use the sandbox before publishing to a real account.",
          "Check X quota separately from the general post allowance.",
          "Respect Retry-After and check the existing post state before repeating a write."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "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.2
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 0,
          "payments": 30,
          "reliability": 45,
          "schema": 55,
          "security": 65,
          "transparency": 40
        },
        "provenanceScore": 53
      },
      "letme": {
        "capability": "https://letme.dev/social.publish",
        "tool": "https://letme.dev/socialcannon"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "Tiny Red Pixel Ltd.",
        "domain": "socialcannon.app",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://socialcannon.app/terms",
        "privacy": "https://socialcannon.app/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-19",
        "notes": [
          "Domain registration was not checked. No ownership claim was verified."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/socialcannon.json",
      "live": {
        "slug": "socialcannon",
        "probe": {
          "target": "https://socialcannon.app/api/v1",
          "method": "get",
          "lastAt": "2026-10-19T09:34:45.579297586Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 245,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 228,
          "p95ms24h": 245,
          "samples24h": 20,
          "samples30d": 20,
          "days": [
            {
              "date": "2026-10-19",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "updatedAt": "2026-10-19T09:34:45.579297586Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "BUNDLE SP. Z O.O.",
        "b": "Tiny Red Pixel Ltd.",
        "name": "Vendor"
      },
      {
        "a": "https://api.bundle.social/api/v1",
        "b": "https://socialcannon.app/api/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under bundle.social's terms of service. The TypeScript SDK, the CLI and the MCP server on GitHub are MIT",
        "b": "Proprietary service; see governing terms and the access limitations below.",
        "name": "Licence"
      },
      {
        "a": "68",
        "b": "23",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2026-07-14",
        "b": "2026-10-07",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-02",
        "b": "2026-10-08",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "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": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2 stars, 4.1k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (4)",
        "b": "3.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "bundle.social scores 60.1 (C) on agent readiness against SocialCannon's 50.2 (D), and leads in 5 of 7 scored categories. SocialCannon leads on agent ergonomics and security \u0026 auth.",
        "question": "Which is better for AI agents, bundle.social or SocialCannon?"
      },
      {
        "answer": "bundle.social needs an API key. SocialCannon uses an OAuth sign-in.",
        "question": "Do bundle.social and SocialCannon need an API key?"
      },
      {
        "answer": "Yes. bundle.social has a hosted endpoint at https://api.bundle.social/api/v1 and SocialCannon at https://socialcannon.app/api/v1.",
        "question": "Can an agent call bundle.social and SocialCannon without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 63 against 45",
          "Schema \u0026 documentation, 86 against 55",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 78 against 0",
          "Transparency \u0026 trust, 65 against 47"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "A SaaS product or agent that manages many accounts for many customers, since paid plans do not charge per connected account and teams separate tenants.",
        "slug": "bundle-social",
        "watchFor": "API keys are organisation-wide with no scopes or read-only mode found, so one key reaches every team and connected account"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 80 against 66",
          "Security \u0026 auth, 65 against 34"
        ],
        "also": null,
        "goodFor": "SocialCannon publishes and schedules social posts through a REST API and a local MCP server.",
        "slug": "socialcannon",
        "watchFor": "X quotas remain on paid plans with unlimited posts"
      }
    ],
    "job": {
      "capability": "social.schedule",
      "name": "Social schedule"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-bundle-social.json",
        "title": "Ayrshare API + MCP vs bundle.social",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-bundle-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-bundle-social.json",
        "title": "Blotato vs bundle.social",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-bundle-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-bundle-social.json",
        "title": "Buffer API + MCP vs bundle.social",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-bundle-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-late.json",
        "title": "bundle.social vs Zernio (formerly Late) API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-late"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-metricool.json",
        "title": "bundle.social vs Metricool API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-metricool"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-mixpost.json",
        "title": "bundle.social vs Mixpost API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-mixpost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-oneup.json",
        "title": "bundle.social vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-oneup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-post-bridge.json",
        "title": "bundle.social vs Post Bridge API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-post-bridge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-postiz.json",
        "title": "bundle.social vs Postiz API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-postiz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-publer.json",
        "title": "bundle.social vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-typefully.json",
        "title": "bundle.social vs Typefully",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-upload-post.json",
        "title": "bundle.social vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.json",
        "title": "bundle.social vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bundle-social-vs-x-mcp.json",
        "title": "bundle.social vs X MCP",
        "url": "https://www.anchorterminal.com/compare/bundle-social-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socialcannon-vs-sprout-social.json",
        "title": "SocialCannon vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/socialcannon-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socialcannon-vs-x-mcp.json",
        "title": "SocialCannon vs X MCP",
        "url": "https://www.anchorterminal.com/compare/socialcannon-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-socialcannon.json",
        "title": "Ayrshare API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-socialcannon.json",
        "title": "Blotato vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-socialcannon.json",
        "title": "Buffer API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/late-vs-socialcannon.json",
        "title": "Zernio (formerly Late) API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/late-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-socialcannon.json",
        "title": "Metricool API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-socialcannon.json",
        "title": "Mixpost API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-socialcannon.json",
        "title": "OneUp API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-socialcannon.json",
        "title": "Post Bridge API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-socialcannon.json",
        "title": "Postiz API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-socialcannon.json",
        "title": "Publer API + MCP vs SocialCannon",
        "url": "https://www.anchorterminal.com/compare/publer-vs-socialcannon"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socialcannon-vs-typefully.json",
        "title": "SocialCannon vs Typefully",
        "url": "https://www.anchorterminal.com/compare/socialcannon-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/socialcannon-vs-upload-post.json",
        "title": "SocialCannon vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/socialcannon-vs-upload-post"
      }
    ],
    "scores": [
      {
        "bundle-social": 63,
        "by": 18,
        "edge": "bundle-social",
        "key": "reliability",
        "name": "Reliability",
        "socialcannon": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bundle-social": 86,
        "by": 31,
        "edge": "bundle-social",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "socialcannon": 55,
        "weight": 13
      },
      {
        "bundle-social": 66,
        "by": 14,
        "edge": "socialcannon",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "socialcannon": 80,
        "weight": 13
      },
      {
        "bundle-social": 34,
        "by": 31,
        "edge": "socialcannon",
        "key": "security",
        "name": "Security \u0026 auth",
        "socialcannon": 65,
        "weight": 14
      },
      {
        "bundle-social": 35,
        "by": 5,
        "edge": "bundle-social",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "socialcannon": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bundle-social": 78,
        "by": 78,
        "edge": "bundle-social",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "socialcannon": 0,
        "weight": 7
      },
      {
        "bundle-social": 65,
        "by": 18,
        "edge": "bundle-social",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "socialcannon": 47,
        "weight": 7
      }
    ],
    "summary": "bundle.social scores 60.1 (C) on agent readiness against SocialCannon's 50.2 (D), and leads in 5 of 7 scored categories. SocialCannon leads on agent ergonomics and security \u0026 auth. Both do social schedule.",
    "tutorials": [
      {
        "title": "Audit scheduled posts with bundle.social",
        "tool": "bundle-social",
        "url": "https://www.anchorterminal.com/tutorials/bundle-social/"
      }
    ],
    "verdicts": {
      "bundle-social": "The REST API has a public OpenAPI 3.0 description of 194 operations, Markdown docs and published rate limits, and the free plan needs no card. Organisation API keys carry no scopes, there is no idempotency key, and the status page shows one API outage of 4 hours 3 minutes on 31 August 2026.",
      "socialcannon": "Scoped credentials and published rate limits. X quotas remain on paid plans with unlimited posts."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bundle-social-vs-socialcannon",
    "json": "https://www.anchorterminal.com/compare/bundle-social-vs-socialcannon.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bundle-social-vs-socialcannon.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bundle-social-vs-socialcannon.min.md"
  },
  "markdown": "bundle.social scores 60.1 (C) on agent readiness against SocialCannon's 50.2 (D), and leads in 5 of 7 scored categories. SocialCannon leads on agent ergonomics and security \u0026 auth. Both do social schedule.\n\n- bundle.social: grade C, 60.1/100, rank #589 of 1171. Markdown https://www.anchorterminal.com/tools/bundle-social.md · JSON https://www.anchorterminal.com/api/v1/tools/bundle-social.json\n- SocialCannon: grade D, 50.2/100, rank #891 of 1171. Markdown https://www.anchorterminal.com/tools/socialcannon.md · JSON https://www.anchorterminal.com/api/v1/tools/socialcannon.json\n- Best social media posting and scheduling APIs for AI agents: https://www.anchorterminal.com/best/social-media/index.md\n- All 118 social comparisons: https://www.anchorterminal.com/compare/social-media/index.md\n\n## Which one, for what\n\n### bundle.social (C)\n\nGood for: A SaaS product or agent that manages many accounts for many customers, since paid plans do not charge per connected account and teams separate tenants.\n\nAhead on:\n- Reliability, 63 against 45\n- Schema \u0026 documentation, 86 against 55\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 78 against 0\n- Transparency \u0026 trust, 65 against 47\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: API keys are organisation-wide with no scopes or read-only mode found, so one key reaches every team and connected account\n\n### SocialCannon (D)\n\nGood for: SocialCannon publishes and schedules social posts through a REST API and a local MCP server.\n\nAhead on:\n- Agent ergonomics, 80 against 66\n- Security \u0026 auth, 65 against 34\n\nWatch for: X quotas remain on paid plans with unlimited posts\n\n\n## Score by category\n\n| Category | Weight | bundle.social | SocialCannon | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 45 | bundle.social +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 55 | bundle.social +31 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 80 | SocialCannon +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 34 | 65 | SocialCannon +31 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 30 | bundle.social +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 0 | bundle.social +78 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 47 | bundle.social +18 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.1 · C** | **50.2 · D** | |\n\n## Facts side by side\n\n| Fact | bundle.social | SocialCannon |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | BUNDLE SP. Z O.O. | Tiny Red Pixel Ltd. |\n| Hosted endpoint | `https://api.bundle.social/api/v1` | `https://socialcannon.app/api/v1` |\n| Transports | HTTP, stdio | HTTP, stdio |\n| Auth | API key | OAuth |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary hosted service under bundle.social's terms of service. The TypeScript SDK, the CLI and the MCP server on GitHub are MIT | Proprietary service; see governing terms and the access limitations below. |\n| Tools exposed | 68 | 23 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-06 | none |\n| Terms last updated | 2026-07-14 | 2026-10-07 |\n| Privacy policy last updated | 2026-07-02 | 2026-10-08 |\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 | yes |\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 | 2 stars, 4.1k npm/wk | none |\n| Agent reviews | 3.3/5 (4) | 3.5/5 (4) |\n\n## Verdicts\n\n**bundle.social.** The REST API has a public OpenAPI 3.0 description of 194 operations, Markdown docs and published rate limits, and the free plan needs no card. Organisation API keys carry no scopes, there is no idempotency key, and the status page shows one API outage of 4 hours 3 minutes on 31 August 2026.\n\n**SocialCannon.** Scoped credentials and published rate limits. X quotas remain on paid plans with unlimited posts.\n\n## Before you call either\n\n### bundle.social\n\n1. Send the key in the `x-api-key` header to `https://api.bundle.social/api/v1`. A missing key returns 401 and a bad key 403\n2. Pass `teamId` on most calls. Set `BUNDLESOCIAL_TEAM_ID` for the MCP server or CLI when the organisation has more than one team\n3. Set a `referenceKey` on each post and look it up with the reference-key endpoint before retrying a create, because there is no idempotency key\n4. Check `GET /api/v1/organization/usage/daily-limits` before bulk scheduling. Failed and deleted posts still count against the monthly quota\n5. A person must complete each network's OAuth consent in a browser. Keep prepaid credit for X, where a post costs $0.015 or $0.20 with a link\n\n### SocialCannon\n\n1. Use the sandbox before publishing to a real account.\n2. Check X quota separately from the general post allowance.\n3. Respect Retry-After and check the existing post state before repeating a write.\n\n## Tutorials\n\n- [Audit scheduled posts with bundle.social](https://www.anchorterminal.com/tutorials/bundle-social/), for bundle.social\n\n## Questions\n\n### Which is better for AI agents, bundle.social or SocialCannon?\n\nbundle.social scores 60.1 (C) on agent readiness against SocialCannon's 50.2 (D), and leads in 5 of 7 scored categories. SocialCannon leads on agent ergonomics and security \u0026 auth.\n\n### Do bundle.social and SocialCannon need an API key?\n\nbundle.social needs an API key. SocialCannon uses an OAuth sign-in.\n\n### Can an agent call bundle.social and SocialCannon without installing anything?\n\nYes. bundle.social has a hosted endpoint at https://api.bundle.social/api/v1 and SocialCannon at https://socialcannon.app/api/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bundle-social-vs-socialcannon.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bundle-social-vs-socialcannon.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bundle-social\", \"b\": \"socialcannon\"}`. From a terminal: `anchor compare bundle-social socialcannon`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bundle-social.json and https://www.anchorterminal.com/api/v1/tools/socialcannon.json\n\n## Other comparisons with bundle.social or SocialCannon\n\n- [Ayrshare API + MCP vs bundle.social](https://www.anchorterminal.com/compare/ayrshare-vs-bundle-social.md)\n- [Blotato vs bundle.social](https://www.anchorterminal.com/compare/blotato-vs-bundle-social.md)\n- [Buffer API + MCP vs bundle.social](https://www.anchorterminal.com/compare/buffer-vs-bundle-social.md)\n- [bundle.social vs Zernio (formerly Late) API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-late.md)\n- [bundle.social vs Metricool API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-metricool.md)\n- [bundle.social vs Mixpost API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-mixpost.md)\n- [bundle.social vs OneUp API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-oneup.md)\n- [bundle.social vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-post-bridge.md)\n- [bundle.social vs Postiz API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-postiz.md)\n- [bundle.social vs Publer API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-publer.md)\n- [bundle.social vs Typefully](https://www.anchorterminal.com/compare/bundle-social-vs-typefully.md)\n- [bundle.social vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-upload-post.md)\n- [bundle.social vs Sprout Social API](https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.md)\n- [bundle.social vs X MCP](https://www.anchorterminal.com/compare/bundle-social-vs-x-mcp.md)\n- [SocialCannon vs Sprout Social API](https://www.anchorterminal.com/compare/socialcannon-vs-sprout-social.md)\n- [SocialCannon vs X MCP](https://www.anchorterminal.com/compare/socialcannon-vs-x-mcp.md)\n- [Ayrshare API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/ayrshare-vs-socialcannon.md)\n- [Blotato vs SocialCannon](https://www.anchorterminal.com/compare/blotato-vs-socialcannon.md)\n- [Buffer API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/buffer-vs-socialcannon.md)\n- [Zernio (formerly Late) API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/late-vs-socialcannon.md)\n- [Metricool API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/metricool-vs-socialcannon.md)\n- [Mixpost API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/mixpost-vs-socialcannon.md)\n- [OneUp API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/oneup-vs-socialcannon.md)\n- [Post Bridge API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/post-bridge-vs-socialcannon.md)\n- [Postiz API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/postiz-vs-socialcannon.md)\n- [Publer API + MCP vs SocialCannon](https://www.anchorterminal.com/compare/publer-vs-socialcannon.md)\n- [SocialCannon vs Typefully](https://www.anchorterminal.com/compare/socialcannon-vs-typefully.md)\n- [SocialCannon vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/socialcannon-vs-upload-post.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-19",
    "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",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "bundle.social vs SocialCannon",
        "url": ""
      }
    ],
    "description": "bundle.social scores 60.1 (C) to SocialCannon's 50.2 (D) for social schedule. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "bundle.social C 60.1",
      "SocialCannon D 50.2",
      "scores"
    ],
    "h1": "bundle.social vs SocialCannon",
    "image": "https://www.anchorterminal.com/assets/og/compare-bundle-social-vs-socialcannon.png",
    "path": "/compare/bundle-social-vs-socialcannon",
    "published": "2026-10-01",
    "section": "tools",
    "title": "bundle.social vs SocialCannon for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-19",
    "url": "https://www.anchorterminal.com/compare/bundle-social-vs-socialcannon"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 680
  },
  "version": 1
}
