{
  "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-10T02:54:50.303695332Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 145,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 125,
          "p95ms24h": 336,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "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-10T02:54:50.303695332Z"
      }
    },
    "answer": "bundle.social scores 60.1 (C) on agent readiness against Sprout Social API's 54.7 (C), and leads in 4 of 7 scored categories. Sprout Social API leads on reliability, security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "sprout-social",
      "name": "Sprout Social API",
      "vendor": "Sprout Social, Inc.",
      "vendorUrl": "https://sproutsocial.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Sprout Social is a social media management suite. Its REST API reads profile and post analytics, inbox messages, listening topics and cases for connected profiles, and creates draft posts with media, on plans that include API access.",
      "url": "https://www.anchorterminal.com/tools/sprout-social",
      "markdownUrl": "https://www.anchorterminal.com/tools/sprout-social.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/sprout-social.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/sprout-social.json",
      "license": "Proprietary service under the Sprout Social Developer Terms and Terms of Service",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.sproutsocial.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access needs a Sprout account on a plan with API access, a user holding the API Permissions permission, and acceptance of the API terms on the API page of Settings. That user then creates an OAuth client or an API token in the same page, with no review by Sprout described. OAuth 2.0 is the recommended route. A client ID and secret are exchanged at identity.sproutsocial.com for a short-lived JWT with the client credentials grant and `scope=organization_id`, or a user-based flow signs a Sprout user in. API tokens are named and can be invalidated. Either credential goes in the `Authorization: Bearer` header. No per-endpoint scopes are documented.",
      "pricing": "paid",
      "pricingNotes": "The Sprout API is listed on the Advanced plan at $399 per seat a month and on Enterprise (custom price). Standard is $199 and Professional $299 per seat a month, without the API. The page shows these prices beside an annual billing note. A 30-day trial needs no credit card. Whether the trial includes API access was not established, and there is no sandbox or per-call price (https://sproutsocial.com/pricing/, checked 2026-10-09).",
      "priceSummary": "$399 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the Developer Terms or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://api.sproutsocial.com/docs/",
      "capabilities": [
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "oauth",
        "closed-source",
        "status-page",
        "soc2",
        "iso27001",
        "analytics",
        "listening",
        "drafts-only"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.7,
        "grade": "C",
        "agentReady": false,
        "rank": 679,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 38,
          "payments": 20,
          "reliability": 71,
          "schema": 51,
          "security": 61,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "The API reads analytics, inbox messages, listening topics and cases across the main networks, with OAuth client credentials, field selection and a dated changelog. It creates draft posts only, so a person must publish them in Sprout. Access needs the Advanced plan at $399 per seat a month, and no OpenAPI file or SDK was found.",
        "bestFor": "Reporting agents that pull profile, post, inbox, listening and case data for a company that already pays for Sprout Social, and for drafting posts a person will approve.",
        "strengths": [
          "OAuth 2.0 client credentials issue short-lived JWT access tokens, and named API tokens can be invalidated in settings",
          "Rate limits are published as 60 requests a minute and 250,000 a month",
          "Messages and post requests take a `fields` list and return only `guid` when it is omitted, with `limit` up to 100 and cursor paging",
          "The status page has a separate Sprout Social API component, and no incident in the 90 days to 9 October 2026 named it",
          "SOC 2 Type 2, ISO 27001 and ISO 27701 are listed on the trust centre, with a vulnerability disclosure programme on Bugcrowd"
        ],
        "weaknesses": [
          "Posts can be created only as drafts (`is_draft: true`), so the API cannot publish or schedule a post without a person in Sprout",
          "API access is listed on the Advanced plan at $399 per seat a month and on Enterprise, with no per-call price",
          "No OpenAPI file, SDK or MCP server was found in the reviewed documentation",
          "No idempotency key on post creation, and no `Retry-After` header documented for 429 responses",
          "The Developer Terms of 9 May 2024 forbid monitoring the API's availability or performance for benchmarking, and combining the API with software Sprout Social has not authorised. Recorded as a fact with no deduction. It matters before any probe is run"
        ],
        "agentNotes": [
          "Call `GET /v1/metadata/client` first for the customer ID, then `GET /v1/\u003ccustomer ID\u003e/metadata/customer` for profile and group IDs. Every other path needs them",
          "Send `is_draft: true` on `POST /v1/\u003ccustomer ID\u003e/publishing/posts`. Tell the user the draft waits in the Sprout calendar for a person to publish",
          "Name the `fields` you want on messages and posts requests. Without the list only `guid` comes back",
          "Stay under 60 requests a minute and 250,000 a month, and back off on 429 on your own because no `Retry-After` is documented",
          "Check the response when a draft names several profiles. A profile that cannot take the attached media is dropped with no error"
        ],
        "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": 54.7
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 38,
          "payments": 20,
          "reliability": 71,
          "schema": 51,
          "security": 61,
          "transparency": 55
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl https://api.sproutsocial.com/v1/metadata/client -H \"Authorization: Bearer $TOKEN\" -H \"Accept: application/json\""
      },
      "letme": {
        "capability": "https://letme.dev/social.analytics",
        "tool": "https://letme.dev/sprout-social"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Advanced",
          "unit": "seat-month",
          "usd": 399,
          "note": "Cheapest plan that lists the Sprout API. Price shown beside an annual billing note"
        },
        {
          "item": "Professional",
          "unit": "seat-month",
          "usd": 299,
          "note": "No API access listed"
        },
        {
          "item": "Standard",
          "unit": "seat-month",
          "usd": 199,
          "note": "No API access listed"
        }
      ],
      "provenance": {
        "legalEntity": "Sprout Social, Inc.",
        "domain": "sproutsocial.com",
        "domainRegistered": "2009-09-22",
        "endpointOnVendorDomain": true,
        "terms": "https://sproutsocial.com/legal/api-terms-of-service/",
        "privacy": "https://sproutsocial.com/legal/privacy-policy/",
        "statusPage": "https://www.sproutsocialstatus.com/",
        "changelog": "https://api.sproutsocial.com/docs/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Sprout Social Developer Terms (last updated 9 May 2024) are the agreement the API docs link, between the developer and Sprout Social, Inc. They sit on top of the Terms of Service (effective 9 May 2025) at https://sproutsocial.com/legal/terms/.",
          "The Terms of Service give the notice address as Sprout Social, Inc., 131 S. Dearborn Suite 700, Chicago, Illinois 60603.",
          "The privacy policy (last updated 16 September 2026) says it applies to the websites and services, app.sproutsocial.com among them, and that Sprout Social is a data processor for customer data.",
          "https://sproutsocial.com/.well-known/security.txt answered 404. Reports go through the Bugcrowd programme named in the Responsible Disclosure Policy.",
          "The API answers at api.sproutsocial.com and tokens come from identity.sproutsocial.com.",
          "RDAP for sproutsocial.com gives a registration date of 2009-09-22 and GoDaddy Corporate Domains, LLC as registrar."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/sprout-social.json",
      "live": {
        "slug": "sprout-social",
        "probe": {
          "target": "https://api.sproutsocial.com",
          "method": "get",
          "lastAt": "2026-10-10T02:55:11.565241122Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 265,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 258,
          "p95ms24h": 315,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.sproutsocialstatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:50:47.789563572Z"
        },
        "pages": [
          {
            "url": "https://api.sproutsocial.com/docs/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:32:33.652887104Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "17ed54bb5b28"
          },
          {
            "url": "https://sproutsocial.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:45:50.581789307Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c990bf136e9b"
          },
          {
            "url": "https://sproutsocial.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:45:48.794215928Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c3bb94f08774"
          },
          {
            "url": "https://sproutsocial.com/legal/api-terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:45:46.501649959Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "51915d0f6e67"
          }
        ],
        "updatedAt": "2026-10-10T02:55:11.565241122Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "BUNDLE SP. Z O.O.",
        "b": "Sprout Social, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.bundle.social/api/v1",
        "b": "https://api.sproutsocial.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary 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 under the Sprout Social Developer Terms and Terms of Service",
        "name": "Licence"
      },
      {
        "a": "68",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "2026-07-14",
        "b": "2024-05-09",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-02",
        "b": "2026-09-16",
        "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": "yes",
        "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"
      }
    ],
    "faq": [
      {
        "answer": "bundle.social scores 60.1 (C) on agent readiness against Sprout Social API's 54.7 (C), and leads in 4 of 7 scored categories. Sprout Social API leads on reliability, security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, bundle.social or Sprout Social API?"
      },
      {
        "answer": "bundle.social needs an API key. Sprout Social API takes an API key or an OAuth sign-in.",
        "question": "Do bundle.social and Sprout Social API need an API key?"
      },
      {
        "answer": "Yes. bundle.social has a hosted endpoint at https://api.bundle.social/api/v1 and Sprout Social API at https://api.sproutsocial.com.",
        "question": "Can an agent call bundle.social and Sprout Social API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 51",
          "Agent ergonomics, 66 against 59",
          "Payments \u0026 pricing, 35 against 20",
          "Maintenance \u0026 community, 78 against 38"
        ],
        "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": [
          "Reliability, 71 against 63",
          "Security \u0026 auth, 61 against 34",
          "Transparency \u0026 trust, 70 against 65"
        ],
        "also": null,
        "goodFor": "Reporting agents that pull profile, post, inbox, listening and case data for a company that already pays for Sprout Social, and for drafting posts a person will approve.",
        "slug": "sprout-social",
        "watchFor": "Posts can be created only as drafts (`is_draft: true`), so the API cannot publish or schedule a post without a person in Sprout"
      }
    ],
    "job": {
      "capability": "social.analytics",
      "name": "Social analytics"
    },
    "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/ayrshare-vs-sprout-social.json",
        "title": "Ayrshare API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-sprout-social.json",
        "title": "Blotato vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-sprout-social.json",
        "title": "Buffer API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/buffer-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/late-vs-sprout-social.json",
        "title": "Zernio (formerly Late) API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/late-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-sprout-social.json",
        "title": "Metricool API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-sprout-social.json",
        "title": "Mixpost API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-sprout-social"
      },
      {
        "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/post-bridge-vs-sprout-social.json",
        "title": "Post Bridge API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-sprout-social.json",
        "title": "Postiz API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-sprout-social.json",
        "title": "Publer API + MCP vs Sprout Social API",
        "url": "https://www.anchorterminal.com/compare/publer-vs-sprout-social"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprout-social-vs-upload-post.json",
        "title": "Sprout Social API vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/sprout-social-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/sprout-social-vs-x-mcp.json",
        "title": "Sprout Social API vs X MCP",
        "url": "https://www.anchorterminal.com/compare/sprout-social-vs-x-mcp"
      }
    ],
    "scores": [
      {
        "bundle-social": 63,
        "by": 8,
        "edge": "sprout-social",
        "key": "reliability",
        "name": "Reliability",
        "sprout-social": 71,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bundle-social": 86,
        "by": 35,
        "edge": "bundle-social",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sprout-social": 51,
        "weight": 13
      },
      {
        "bundle-social": 66,
        "by": 7,
        "edge": "bundle-social",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sprout-social": 59,
        "weight": 13
      },
      {
        "bundle-social": 34,
        "by": 27,
        "edge": "sprout-social",
        "key": "security",
        "name": "Security \u0026 auth",
        "sprout-social": 61,
        "weight": 14
      },
      {
        "bundle-social": 35,
        "by": 15,
        "edge": "bundle-social",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sprout-social": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bundle-social": 78,
        "by": 40,
        "edge": "bundle-social",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sprout-social": 38,
        "weight": 7
      },
      {
        "bundle-social": 65,
        "by": 5,
        "edge": "sprout-social",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sprout-social": 70,
        "weight": 7
      }
    ],
    "summary": "bundle.social scores 60.1 (C) on agent readiness against Sprout Social API's 54.7 (C), and leads in 4 of 7 scored categories. Sprout Social API leads on reliability, security \u0026 auth and transparency \u0026 trust. Both do social analytics.",
    "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.",
      "sprout-social": "The API reads analytics, inbox messages, listening topics and cases across the main networks, with OAuth client credentials, field selection and a dated changelog. It creates draft posts only, so a person must publish them in Sprout. Access needs the Advanced plan at $399 per seat a month, and no OpenAPI file or SDK was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social",
    "json": "https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.md",
    "slim": "https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.min.md"
  },
  "markdown": "bundle.social scores 60.1 (C) on agent readiness against Sprout Social API's 54.7 (C), and leads in 4 of 7 scored categories. Sprout Social API leads on reliability, security \u0026 auth and transparency \u0026 trust. Both do social analytics.\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- Sprout Social API: grade C, 54.7/100, rank #679 of 950. Markdown https://www.anchorterminal.com/tools/sprout-social.md · JSON https://www.anchorterminal.com/api/v1/tools/sprout-social.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- Schema \u0026 documentation, 86 against 51\n- Agent ergonomics, 66 against 59\n- Payments \u0026 pricing, 35 against 20\n- Maintenance \u0026 community, 78 against 38\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### Sprout Social API (C)\n\nGood for: Reporting agents that pull profile, post, inbox, listening and case data for a company that already pays for Sprout Social, and for drafting posts a person will approve.\n\nAhead on:\n- Reliability, 71 against 63\n- Security \u0026 auth, 61 against 34\n- Transparency \u0026 trust, 70 against 65\n\nWatch for: Posts can be created only as drafts (`is_draft: true`), so the API cannot publish or schedule a post without a person in Sprout\n\n\n## Score by category\n\n| Category | Weight | bundle.social | Sprout Social API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 71 | Sprout Social API +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 51 | bundle.social +35 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 59 | bundle.social +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 34 | 61 | Sprout Social API +27 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 20 | bundle.social +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 38 | bundle.social +40 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 70 | Sprout Social API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.1 · C** | **54.7 · C** | |\n\n## Facts side by side\n\n| Fact | bundle.social | Sprout Social API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | BUNDLE SP. Z O.O. | Sprout Social, Inc. |\n| Hosted endpoint | `https://api.bundle.social/api/v1` | `https://api.sproutsocial.com` |\n| Transports | HTTP, stdio | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Paid |\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 under the Sprout Social Developer Terms and Terms of Service |\n| Tools exposed | 68 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-10-06 | 2026-10-06 |\n| Terms last updated | 2026-07-14 | 2024-05-09 |\n| Privacy policy last updated | 2026-07-02 | 2026-09-16 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\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\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**Sprout Social API.** The API reads analytics, inbox messages, listening topics and cases across the main networks, with OAuth client credentials, field selection and a dated changelog. It creates draft posts only, so a person must publish them in Sprout. Access needs the Advanced plan at $399 per seat a month, and no OpenAPI file or SDK was found.\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### Sprout Social API\n\n1. Call `GET /v1/metadata/client` first for the customer ID, then `GET /v1/\u003ccustomer ID\u003e/metadata/customer` for profile and group IDs. Every other path needs them\n2. Send `is_draft: true` on `POST /v1/\u003ccustomer ID\u003e/publishing/posts`. Tell the user the draft waits in the Sprout calendar for a person to publish\n3. Name the `fields` you want on messages and posts requests. Without the list only `guid` comes back\n4. Stay under 60 requests a minute and 250,000 a month, and back off on 429 on your own because no `Retry-After` is documented\n5. Check the response when a draft names several profiles. A profile that cannot take the attached media is dropped with no error\n\n## Questions\n\n### Which is better for AI agents, bundle.social or Sprout Social API?\n\nbundle.social scores 60.1 (C) on agent readiness against Sprout Social API's 54.7 (C), and leads in 4 of 7 scored categories. Sprout Social API leads on reliability, security \u0026 auth and transparency \u0026 trust.\n\n### Do bundle.social and Sprout Social API need an API key?\n\nbundle.social needs an API key. Sprout Social API takes an API key or an OAuth sign-in.\n\n### Can an agent call bundle.social and Sprout Social API without installing anything?\n\nYes. bundle.social has a hosted endpoint at https://api.bundle.social/api/v1 and Sprout Social API at https://api.sproutsocial.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bundle-social\", \"b\": \"sprout-social\"}`. From a terminal: `anchor compare bundle-social sprout-social`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bundle-social.json and https://www.anchorterminal.com/api/v1/tools/sprout-social.json\n\n## Other comparisons with bundle.social or Sprout Social API\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- [Ayrshare API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/ayrshare-vs-sprout-social.md)\n- [Blotato vs Sprout Social API](https://www.anchorterminal.com/compare/blotato-vs-sprout-social.md)\n- [Buffer API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/buffer-vs-sprout-social.md)\n- [bundle.social vs X MCP](https://www.anchorterminal.com/compare/bundle-social-vs-x-mcp.md)\n- [Zernio (formerly Late) API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/late-vs-sprout-social.md)\n- [Metricool API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/metricool-vs-sprout-social.md)\n- [Mixpost API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/mixpost-vs-sprout-social.md)\n- [OneUp API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/oneup-vs-sprout-social.md)\n- [Post Bridge API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/post-bridge-vs-sprout-social.md)\n- [Postiz API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/postiz-vs-sprout-social.md)\n- [Publer API + MCP vs Sprout Social API](https://www.anchorterminal.com/compare/publer-vs-sprout-social.md)\n- [Sprout Social API vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/sprout-social-vs-upload-post.md)\n- [Sprout Social API vs X MCP](https://www.anchorterminal.com/compare/sprout-social-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 Sprout Social API",
        "url": ""
      }
    ],
    "description": "bundle.social scores 60.1 (C) to Sprout Social's 54.7 (C) for social analytics. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "bundle.social C 60.1",
      "Sprout Social API C 54.7",
      "scores"
    ],
    "h1": "bundle.social vs Sprout Social API",
    "image": "https://www.anchorterminal.com/assets/og/compare-bundle-social-vs-sprout-social.png",
    "path": "/compare/bundle-social-vs-sprout-social",
    "published": "2026-10-01",
    "section": "tools",
    "title": "bundle.social vs Sprout Social for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social"
  },
  "tokens": {
    "markdown": 2700,
    "slim": 730
  },
  "version": 1
}
