{
  "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": 530,
        "ranked": true,
        "rankOf": 950,
        "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": 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": 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-10T01:37:47.123339914Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 66,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 125,
          "p95ms24h": 336,
          "samples24h": 102,
          "samples30d": 102,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://bundlesocial.betteruptime.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:11.659944209Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "bundleglobal/bundlesocial-node",
            "version": "v2.66.0",
            "released": "2026-10-06",
            "seenAt": "2026-10-09T16:44:11.330353144Z"
          },
          {
            "registry": "npm",
            "name": "bundlesocial",
            "version": "2.66.0",
            "seenAt": "2026-10-09T16:44:07.124149089Z"
          },
          {
            "registry": "npm",
            "name": "bundlesocial-cli",
            "version": "1.2.0",
            "seenAt": "2026-10-09T16:44:09.336926914Z"
          },
          {
            "registry": "npm",
            "name": "bundlesocial-mcp",
            "version": "1.2.0",
            "seenAt": "2026-10-09T16:44:08.016971776Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 4095,
        "pages": [
          {
            "url": "https://info.bundle.social/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:40:30.493711689Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3cc1075e6da1"
          },
          {
            "url": "https://bundle.social/pricing.md",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:26.088434635Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a06b56dc1904"
          },
          {
            "url": "https://bundle.social/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:28.243797522Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "873c63ca40f1"
          },
          {
            "url": "https://bundle.social/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:30.268270502Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cfd8eeb305a0"
          }
        ],
        "updatedAt": "2026-10-10T01:37:47.123339914Z"
      }
    },
    "answer": "bundle.social scores 60.1 (C) on agent readiness against OneUp API + MCP's 24.4 (F), and leads in every scored category.",
    "b": {
      "slug": "oneup",
      "name": "OneUp API + MCP",
      "vendor": "OneUp",
      "vendorUrl": "https://www.oneupapp.io",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Social scheduler with a JSON API and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/oneup",
      "markdownUrl": "https://www.anchorterminal.com/tools/oneup.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/oneup.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/oneup.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://www.oneupapp.io/api",
      "packages": [],
      "auth": "api-key",
      "authNotes": "One account API key passed as the apiKey query parameter on every call, including the hosted MCP URL. ChatGPT can connect over OAuth instead. Keys are generated and rotated at https://www.oneupapp.io/api-access.",
      "pricing": "paid",
      "pricingNotes": "No free plan, 7-day trial (we found no statement that it needs no card). Basic $25 a month ($15 billed yearly) for 5 social accounts and 300 scheduled posts, Intermediate $60 ($48) for 15, Growth $120 ($84) for 30, Business $300 ($240) for 80, each with unlimited posts. Extra accounts $5, $4, $3 and $1 a month on those plans. X capped at 2, 4, 8 and 10 accounts. API and MCP on every plan, but analytics and comment endpoints need Intermediate or above. Enterprise from $1,000 a month for 1,000 accounts (https://www.oneupapp.io/price).",
      "priceSummary": "$25 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call payment in the docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 50,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.oneupapp.io/docs/overview",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "mcp",
        "closed-source",
        "whatsapp"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 24.4,
        "grade": "F",
        "agentReady": false,
        "rank": 942,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 31,
          "maintenance": 43,
          "payments": 10,
          "reliability": 18,
          "schema": 27,
          "security": 17,
          "transparency": 39
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "API and MCP on every plan from $25 a month ($15 billed yearly). API key in the query string on REST and in the MCP URL, with no scopes.",
        "bestFor": "Small agencies that want posting, comment replies and a WhatsApp inbox from Claude or ChatGPT at a low monthly price.",
        "strengths": [
          "API and MCP on every plan from $25 a month ($15 billed yearly)",
          "Comments, analytics and a Facebook, Instagram and WhatsApp inbox as well as publishing",
          "Hosted MCP that returned 50 tools on 30 September 2026, plus an OAuth path for ChatGPT",
          "requireApproval and isDraftPost flags on post creation give a human review step",
          "11 changelog entries between July and September 2026"
        ],
        "weaknesses": [
          "API key in the query string on REST and in the MCP URL, with no scopes",
          "No OpenAPI spec, no llms.txt and no documented error responses",
          "No status page, no rate limits documented and no SLA",
          "Privacy policy names no subprocessors and has no DPA, and the terms allow discontinuing the service without notice",
          "Analytics and comment endpoints locked out of the Basic plan"
        ],
        "agentNotes": [
          "Call listcategory, then listcategoryaccount, then schedule. Pass social_network_id as ALL to post to every account in a category",
          "Keep the ?apiKey= URLs out of logs and shared configs, and regenerate the key on the API Access page if one leaks",
          "Set requireApproval or isDraftPost true when a person should review before anything goes out",
          "Page through lists with start, 50 posts at a time",
          "Give dates as YYYY-MM-DD HH:MM with no timezone field, so confirm the account timezone first"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "F",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 24.4
          }
        ],
        "editorialScores": {
          "ergonomics": 31,
          "maintenance": 43,
          "payments": 10,
          "reliability": 18,
          "schema": 27,
          "security": 17,
          "transparency": 20
        },
        "provenanceScore": 57
      },
      "connect": {
        "http": "curl \"https://www.oneupapp.io/api/listcategory?apiKey=$ONEUP_API_KEY\"",
        "claudeCode": "claude mcp add --transport http oneup \"https://feed.oneupapp.io/mcp/oneup?apiKey=$ONEUP_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/oneup"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic",
          "unit": "month",
          "usd": 25,
          "note": "5 social accounts, no analytics or comment endpoints. $15 a month billed yearly"
        },
        {
          "item": "Intermediate",
          "unit": "month",
          "usd": 60,
          "note": "15 social accounts. $48 a month billed yearly"
        },
        {
          "item": "Growth",
          "unit": "month",
          "usd": 120,
          "note": "30 social accounts. $84 a month billed yearly"
        },
        {
          "item": "Business",
          "unit": "month",
          "usd": 300,
          "note": "80 social accounts. $240 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "OneUp, Inc.",
        "domain": "oneupapp.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.oneupapp.io/terms",
        "privacy": "https://www.oneupapp.io/privacy",
        "statusPage": "",
        "changelog": "https://help.oneupapp.io/en-us/article/oneup-roadmap-product-updates-changelog-new-features-and-feature-requests-1vs2exx/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms name OneUp, Inc. of Cranberry Township, Pennsylvania.",
          "rdap.org has no RDAP service for .io, so the registration date is unread."
        ],
        "score": 57
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/oneup.json",
      "live": {
        "slug": "oneup",
        "probe": {
          "target": "https://www.oneupapp.io/api",
          "method": "get",
          "lastAt": "2026-10-10T01:38:01.080667213Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 518,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 434,
          "p95ms24h": 535,
          "samples24h": 250,
          "samples30d": 2453,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "securityTxt": {
          "url": "https://oneupapp.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:21.880091714Z"
        },
        "domain": {
          "domain": "oneupapp.io",
          "checkedAt": "2026-10-04T13:08:59.683602304Z"
        },
        "pages": [
          {
            "url": "https://help.oneupapp.io/en-us/article/oneup-roadmap-product-updates-changelog-new-features-and-feature-requests-1vs2exx/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-09T18:40:08.228363809Z",
            "changedAt": "2026-10-06T16:09:36.822389529Z",
            "fingerprint": "6d71ea4979d0"
          },
          {
            "url": "https://www.oneupapp.io/price",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:40.868466399Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cb0715990a3a"
          },
          {
            "url": "https://www.oneupapp.io/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:43.30168753Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "468de880fd8b"
          },
          {
            "url": "https://www.oneupapp.io/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:52:44.985957543Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "17739acb09c7"
          }
        ],
        "updatedAt": "2026-10-10T01:38:01.080667213Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "BUNDLE SP. Z O.O.",
        "b": "OneUp",
        "name": "Vendor"
      },
      {
        "a": "https://api.bundle.social/api/v1",
        "b": "https://www.oneupapp.io/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$0.015 per transaction",
        "b": "not published",
        "name": "Price for social posting"
      },
      {
        "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": "none",
        "name": "Licence"
      },
      {
        "a": "68",
        "b": "50",
        "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": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-02",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2 stars, 4.1k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "1.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "bundle.social scores 60.1 (C) on agent readiness against OneUp API + MCP's 24.4 (F), and leads in every scored category.",
        "question": "Which is better for AI agents, bundle.social or OneUp API + MCP?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do bundle.social and OneUp API + MCP need an API key?"
      },
      {
        "answer": "Yes. bundle.social has a hosted endpoint at https://api.bundle.social/api/v1 and OneUp API + MCP at https://www.oneupapp.io/api.",
        "question": "Can an agent call bundle.social and OneUp API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 63 against 18",
          "Schema \u0026 documentation, 86 against 27",
          "Agent ergonomics, 66 against 31",
          "Security \u0026 auth, 34 against 17",
          "Payments \u0026 pricing, 35 against 10",
          "Maintenance \u0026 community, 78 against 43",
          "Transparency \u0026 trust, 65 against 39"
        ],
        "also": [
          "Runs on your own machine",
          "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": null,
        "also": null,
        "goodFor": "Small agencies that want posting, comment replies and a WhatsApp inbox from Claude or ChatGPT at a low monthly price.",
        "slug": "oneup",
        "watchFor": "API key in the query string on REST and in the MCP URL, with no scopes"
      }
    ],
    "job": {
      "capability": "social.post",
      "name": "Social posting"
    },
    "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/ayrshare-vs-oneup.json",
        "title": "Ayrshare API + MCP vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-oneup"
      },
      {
        "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/blotato-vs-oneup.json",
        "title": "Blotato vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-oneup"
      },
      {
        "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/buffer-vs-oneup.json",
        "title": "Buffer API + MCP vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-oneup"
      },
      {
        "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-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/late-vs-oneup.json",
        "title": "Zernio (formerly Late) API + MCP vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-oneup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-oneup.json",
        "title": "Metricool API + MCP vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-oneup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-oneup.json",
        "title": "Mixpost API + MCP vs OneUp API + MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-oneup"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-post-bridge.json",
        "title": "OneUp API + MCP vs Post Bridge API + MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-post-bridge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-postiz.json",
        "title": "OneUp API + MCP vs Postiz API + MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-postiz"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-publer.json",
        "title": "OneUp API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-typefully.json",
        "title": "OneUp API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-typefully"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-upload-post.json",
        "title": "OneUp API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-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/oneup-vs-sprout-social.json",
        "title": "OneUp API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-x-mcp.json",
        "title": "OneUp API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-x-mcp"
      }
    ],
    "scores": [
      {
        "bundle-social": 63,
        "by": 45,
        "edge": "bundle-social",
        "key": "reliability",
        "name": "Reliability",
        "oneup": 18,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bundle-social": 86,
        "by": 59,
        "edge": "bundle-social",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "oneup": 27,
        "weight": 13
      },
      {
        "bundle-social": 66,
        "by": 35,
        "edge": "bundle-social",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "oneup": 31,
        "weight": 13
      },
      {
        "bundle-social": 34,
        "by": 17,
        "edge": "bundle-social",
        "key": "security",
        "name": "Security \u0026 auth",
        "oneup": 17,
        "weight": 14
      },
      {
        "bundle-social": 35,
        "by": 25,
        "edge": "bundle-social",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "oneup": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bundle-social": 78,
        "by": 35,
        "edge": "bundle-social",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "oneup": 43,
        "weight": 7
      },
      {
        "bundle-social": 65,
        "by": 26,
        "edge": "bundle-social",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "oneup": 39,
        "weight": 7
      }
    ],
    "summary": "bundle.social scores 60.1 (C) on agent readiness against OneUp API + MCP's 24.4 (F), and leads in every scored category. Both do social posting.",
    "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.",
      "oneup": "API and MCP on every plan from $25 a month ($15 billed yearly). API key in the query string on REST and in the MCP URL, with no scopes."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bundle-social-vs-oneup",
    "json": "https://www.anchorterminal.com/compare/bundle-social-vs-oneup.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bundle-social-vs-oneup.md",
    "slim": "https://www.anchorterminal.com/compare/bundle-social-vs-oneup.min.md"
  },
  "markdown": "bundle.social scores 60.1 (C) on agent readiness against OneUp API + MCP's 24.4 (F), and leads in every scored category. Both do social posting.\n\n- bundle.social: grade C, 60.1/100, rank #530 of 950. Markdown https://www.anchorterminal.com/tools/bundle-social.md · JSON https://www.anchorterminal.com/api/v1/tools/bundle-social.json\n- OneUp API + MCP: grade F, 24.4/100, rank #942 of 950. Markdown https://www.anchorterminal.com/tools/oneup.md · JSON https://www.anchorterminal.com/api/v1/tools/oneup.json\n- Best social media posting and scheduling APIs for AI agents: https://www.anchorterminal.com/best/social-media/index.md\n- All 103 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 18\n- Schema \u0026 documentation, 86 against 27\n- Agent ergonomics, 66 against 31\n- Security \u0026 auth, 34 against 17\n- Payments \u0026 pricing, 35 against 10\n- Maintenance \u0026 community, 78 against 43\n- Transparency \u0026 trust, 65 against 39\n\nAlso in its favour:\n- Runs on your own machine\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### OneUp API + MCP (F)\n\nGood for: Small agencies that want posting, comment replies and a WhatsApp inbox from Claude or ChatGPT at a low monthly price.\n\nWatch for: API key in the query string on REST and in the MCP URL, with no scopes\n\n\n## Score by category\n\n| Category | Weight | bundle.social | OneUp API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 18 | bundle.social +45 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 27 | bundle.social +59 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 31 | bundle.social +35 |\n| Security \u0026 auth | 14% (17.5 this run) | 34 | 17 | bundle.social +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 10 | bundle.social +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 43 | bundle.social +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 39 | bundle.social +26 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.1 · C** | **24.4 · F** | |\n\n## Facts side by side\n\n| Fact | bundle.social | OneUp API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | BUNDLE SP. Z O.O. | OneUp |\n| Hosted endpoint | `https://api.bundle.social/api/v1` | `https://www.oneupapp.io/api` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| Price for social posting | $0.015 per transaction | not published |\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 | none |\n| Tools exposed | 68 | 50 |\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 | no date given |\n| Privacy policy last updated | 2026-07-02 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 2 stars, 4.1k npm/wk | none |\n| Agent reviews | none | 1.5/5 (2) |\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**OneUp API + MCP.** API and MCP on every plan from $25 a month ($15 billed yearly). API key in the query string on REST and in the MCP URL, with no scopes.\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### OneUp API + MCP\n\n1. Call listcategory, then listcategoryaccount, then schedule. Pass social_network_id as ALL to post to every account in a category\n2. Keep the ?apiKey= URLs out of logs and shared configs, and regenerate the key on the API Access page if one leaks\n3. Set requireApproval or isDraftPost true when a person should review before anything goes out\n4. Page through lists with start, 50 posts at a time\n5. Give dates as YYYY-MM-DD HH:MM with no timezone field, so confirm the account timezone first\n\n## Questions\n\n### Which is better for AI agents, bundle.social or OneUp API + MCP?\n\nbundle.social scores 60.1 (C) on agent readiness against OneUp API + MCP's 24.4 (F), and leads in every scored category.\n\n### Do bundle.social and OneUp API + MCP need an API key?\n\nBoth need an API key.\n\n### Can an agent call bundle.social and OneUp API + MCP without installing anything?\n\nYes. bundle.social has a hosted endpoint at https://api.bundle.social/api/v1 and OneUp API + MCP at https://www.oneupapp.io/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bundle-social-vs-oneup.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bundle-social-vs-oneup.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bundle-social\", \"b\": \"oneup\"}`. From a terminal: `anchor compare bundle-social oneup`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bundle-social.json and https://www.anchorterminal.com/api/v1/tools/oneup.json\n\n## Other comparisons with bundle.social or OneUp API + MCP\n\n- [Ayrshare API + MCP vs bundle.social](https://www.anchorterminal.com/compare/ayrshare-vs-bundle-social.md)\n- [Ayrshare API + MCP vs OneUp API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-oneup.md)\n- [Blotato vs bundle.social](https://www.anchorterminal.com/compare/blotato-vs-bundle-social.md)\n- [Blotato vs OneUp API + MCP](https://www.anchorterminal.com/compare/blotato-vs-oneup.md)\n- [Buffer API + MCP vs bundle.social](https://www.anchorterminal.com/compare/buffer-vs-bundle-social.md)\n- [Buffer API + MCP vs OneUp API + MCP](https://www.anchorterminal.com/compare/buffer-vs-oneup.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 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- [Zernio (formerly Late) API + MCP vs OneUp API + MCP](https://www.anchorterminal.com/compare/late-vs-oneup.md)\n- [Metricool API + MCP vs OneUp API + MCP](https://www.anchorterminal.com/compare/metricool-vs-oneup.md)\n- [Mixpost API + MCP vs OneUp API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-oneup.md)\n- [OneUp API + MCP vs Post Bridge API + MCP](https://www.anchorterminal.com/compare/oneup-vs-post-bridge.md)\n- [OneUp API + MCP vs Postiz API + MCP](https://www.anchorterminal.com/compare/oneup-vs-postiz.md)\n- [OneUp API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/oneup-vs-publer.md)\n- [OneUp API + MCP vs Typefully](https://www.anchorterminal.com/compare/oneup-vs-typefully.md)\n- [OneUp API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/oneup-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- [OneUp API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/oneup-vs-sprout-social.md)\n- [OneUp API + MCP vs X MCP](https://www.anchorterminal.com/compare/oneup-vs-x-mcp.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": "bundle.social vs OneUp API + MCP",
        "url": ""
      }
    ],
    "description": "bundle.social scores 60.1 (C) to OneUp's 24.4 (F) for social posting. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "bundle.social C 60.1",
      "OneUp API + MCP F 24.4",
      "scores"
    ],
    "h1": "bundle.social vs OneUp API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-bundle-social-vs-oneup.png",
    "path": "/compare/bundle-social-vs-oneup",
    "published": "2026-10-01",
    "section": "tools",
    "title": "bundle.social vs OneUp for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/bundle-social-vs-oneup"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 680
  },
  "version": 1
}
