{
  "data": {
    "a": {
      "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:07:26.257477454Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 242,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 258,
          "p95ms24h": 315,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.sproutsocialstatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:06:28.997336843Z"
        },
        "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:07:26.257477454Z"
      }
    },
    "answer": "Upload-Post API + MCP scores 58.7 (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 and security \u0026 auth.",
    "b": {
      "slug": "upload-post",
      "name": "Upload-Post API + MCP",
      "vendor": "Upload-Post",
      "vendorUrl": "https://www.upload-post.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "REST API for publishing video, photos, text and documents to TikTok, Instagram, YouTube and 20 or so other networks, with async uploads, scheduling and analytics.",
      "url": "https://www.anchorterminal.com/tools/upload-post",
      "markdownUrl": "https://www.anchorterminal.com/tools/upload-post.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/upload-post.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/upload-post.json",
      "repo": "https://github.com/Upload-Post/upload-post-mcp",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.upload-post.com/api",
      "packages": [
        {
          "registry": "npm",
          "name": "upload-post"
        },
        {
          "registry": "pypi",
          "name": "upload-post"
        },
        {
          "registry": "npm",
          "name": "@upload-post/mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key in the header as `Authorization: Apikey \u003ckey\u003e` (the MCP also accepts Bearer). The hosted MCP supports OAuth 2.1 with discovery metadata for claude.ai and ChatGPT connectors. User profiles plus JWT connect links for white-label use.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 (2 profiles, 10 uploads a month, no TikTok, no card). Basic $24 a month or $16 billed yearly (5 profiles), Professional $50 or $33 (25), Advanced $147 or $118 (75), Business $438 or $350 (225). Uploads unlimited on paid plans. Extra profile packs from $15 a month, X link posts add-on $19 a month (https://www.upload-post.com/pricing).",
      "priceSummary": "$24 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs, llms-full.txt or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 59,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": 1884,
        "pypiWeekly": 6236,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.upload-post.com",
      "llmsTxt": "https://docs.upload-post.com/llms.txt",
      "openapi": "https://docs.upload-post.com/openapi.json",
      "registryName": "com.upload-post/mcp",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.comments",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "async-jobs",
        "closed-source"
      ],
      "lastRelease": "2026-09-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 574,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope.",
        "bestFor": "Video-heavy publishing to TikTok, Reels and Shorts at a low price, and for white-label products that link end users through JWT connect pages.",
        "strengths": [
          "Free plan with 2 profiles and 10 uploads a month, no card",
          "MIT-licensed MCP with 59 tools, each annotated readOnlyHint or destructiveHint, in the official registry as com.upload-post/mcp",
          "Rate-limit guide with X-RateLimit headers, polling intervals, daily caps and an Idempotency-Key for uploads",
          "Privacy policy updated 4 September 2026 with retention per data type, named subprocessors and countries, and a DPA",
          "Python SDK 2.13.0 on 9 September 2026 and MCP releases most weeks"
        ],
        "weaknesses": [
          "One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope",
          "59 MCP tools with no toolsets or read-only subset",
          "Comment, DM and Google Business review tools return untrusted text with no injection guidance",
          "OpenAPI spec covers 22 paths and no API changelog",
          "Free plan excludes TikTok and X link posts need a $19 a month add-on"
        ],
        "agentNotes": [
          "Send `Authorization: Apikey \u003ckey\u003e` on REST. The MCP also takes Bearer",
          "Use async_upload=true for video, then poll the upload status endpoint every 5 to 60 seconds, not faster",
          "Send an Idempotency-Key on every upload so a timed-out retry doesn't post twice",
          "Check each platform's success flag in results, because one network failing doesn't stop the others",
          "Wait until X-RateLimit-Reset after a 429, and mind daily caps such as TikTok 15 and YouTube 10 per account"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 79,
          "payments": 30,
          "reliability": 57,
          "schema": 81,
          "security": 32,
          "transparency": 78
        },
        "provenanceScore": 62
      },
      "connect": {
        "http": "curl https://api.upload-post.com/api/uploadposts/me -H \"Authorization: Apikey $UPLOAD_POST_API_KEY\"",
        "claudeCode": "claude mcp add --transport http upload-post https://mcp.upload-post.com/mcp --header \"Authorization: Bearer $UPLOAD_POST_API_KEY\"",
        "config": {
          "mcpServers": {
            "upload-post": {
              "args": [
                "-y",
                "@upload-post/mcp"
              ],
              "command": "npx",
              "env": {
                "UPLOAD_POST_API_KEY": "${UPLOAD_POST_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/upload-post"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Basic plan",
          "unit": "month",
          "usd": 24,
          "note": "5 profiles. $16 a month billed yearly"
        },
        {
          "item": "Professional plan",
          "unit": "month",
          "usd": 50,
          "note": "25 profiles. $33 a month billed yearly"
        },
        {
          "item": "Advanced plan",
          "unit": "month",
          "usd": 147,
          "note": "75 profiles. $118 a month billed yearly"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 438,
          "note": "225 profiles. $350 a month billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "TONVI TECH SL",
        "domain": "upload-post.com",
        "domainRegistered": "2024-11-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.upload-post.com/terms-of-use/",
        "privacy": "https://www.upload-post.com/data-and-privacy-policy/",
        "statusPage": "https://www.upload-post.com/status/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "docs.upload-post.com returns 200 for any path, so a missing changelog page can look present"
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/upload-post.json",
      "live": {
        "slug": "upload-post",
        "probe": {
          "target": "https://api.upload-post.com/api",
          "method": "get",
          "lastAt": "2026-10-10T02:07:29.102038758Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 117,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 110,
          "p95ms24h": 199,
          "samples24h": 250,
          "samples30d": 2458,
          "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": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.upload-post.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:22.247247951Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Upload-Post/upload-post-mcp",
            "version": "v0.11.4",
            "released": "2026-09-27",
            "seenAt": "2026-10-09T17:26:19.435480347Z"
          },
          {
            "registry": "mcp-registry",
            "name": "com.upload-post/mcp",
            "version": "0.10.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@upload-post/mcp",
            "version": "0.11.4",
            "seenAt": "2026-10-09T17:26:18.368834535Z"
          },
          {
            "registry": "npm",
            "name": "upload-post",
            "version": "2.15.0",
            "seenAt": "2026-10-09T17:26:17.123515585Z"
          },
          {
            "registry": "pypi",
            "name": "upload-post",
            "version": "2.13.0",
            "released": "2026-09-09",
            "seenAt": "2026-10-09T17:26:18.182481218Z"
          }
        ],
        "githubStars": 9,
        "npmWeekly": 1541,
        "pypiWeekly": 6082,
        "securityTxt": {
          "url": "https://upload-post.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:34.907102298Z"
        },
        "llmsTxt": {
          "url": "https://docs.upload-post.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:56.860070028Z"
        },
        "domain": {
          "domain": "upload-post.com",
          "registered": "2024-11-02",
          "source": "https://rdap.verisign.com/com/v1/domain/upload-post.com",
          "checkedAt": "2026-10-04T13:08:09.14770632Z"
        },
        "pages": [
          {
            "url": "https://www.upload-post.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:20.166763308Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f7e3c2b35950"
          },
          {
            "url": "https://www.upload-post.com/data-and-privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:18.027143047Z",
            "changedAt": "2026-10-02T15:28:37.187395537Z",
            "fingerprint": "5968788a82c9"
          },
          {
            "url": "https://www.upload-post.com/terms-of-use/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:22.125747625Z",
            "changedAt": "2026-10-03T15:40:28.795828429Z",
            "fingerprint": "789e3acd5b6b"
          }
        ],
        "updatedAt": "2026-10-10T02:07:29.102038758Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Sprout Social, Inc.",
        "b": "Upload-Post",
        "name": "Vendor"
      },
      {
        "a": "https://api.sproutsocial.com",
        "b": "https://api.upload-post.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Sprout Social Developer Terms and Terms of Service",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "59",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.upload-post/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-06",
        "b": "2026-09-27",
        "name": "Last release"
      },
      {
        "a": "2024-05-09",
        "b": "2026-10-02",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-16",
        "b": "2026-09-04",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "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": "none",
        "b": "8 stars, 1.9k npm/wk, 6.2k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Upload-Post API + MCP scores 58.7 (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 and security \u0026 auth.",
        "question": "Which is better for AI agents, Sprout Social API or Upload-Post API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Sprout Social API and Upload-Post API + MCP need an API key?"
      },
      {
        "answer": "Yes. Sprout Social API has a hosted endpoint at https://api.sproutsocial.com and Upload-Post API + MCP at https://api.upload-post.com/api.",
        "question": "Can an agent call Sprout Social API and Upload-Post API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 71 against 57",
          "Security \u0026 auth, 61 against 32"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 51",
          "Agent ergonomics, 72 against 59",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 79 against 38"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Video-heavy publishing to TikTok, Reels and Shorts at a low price, and for white-label products that link end users through JWT connect pages.",
        "slug": "upload-post",
        "watchFor": "One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope"
      }
    ],
    "job": {
      "capability": "social.analytics",
      "name": "Social analytics"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ayrshare-vs-upload-post.json",
        "title": "Ayrshare API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-upload-post.json",
        "title": "Blotato vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-upload-post.json",
        "title": "Buffer API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-upload-post"
      },
      {
        "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-upload-post.json",
        "title": "Zernio (formerly Late) API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-upload-post.json",
        "title": "Metricool API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-upload-post.json",
        "title": "Mixpost API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-upload-post"
      },
      {
        "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/post-bridge-vs-upload-post.json",
        "title": "Post Bridge API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-upload-post.json",
        "title": "Postiz API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-upload-post.json",
        "title": "Publer API + MCP vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/publer-vs-upload-post"
      },
      {
        "json": "https://www.anchorterminal.com/compare/typefully-vs-upload-post.json",
        "title": "Typefully vs Upload-Post API + MCP",
        "url": "https://www.anchorterminal.com/compare/typefully-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-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/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-x-mcp.json",
        "title": "Sprout Social API vs X MCP",
        "url": "https://www.anchorterminal.com/compare/sprout-social-vs-x-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/upload-post-vs-x-mcp.json",
        "title": "Upload-Post API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/upload-post-vs-x-mcp"
      }
    ],
    "scores": [
      {
        "by": 14,
        "edge": "sprout-social",
        "key": "reliability",
        "name": "Reliability",
        "sprout-social": 71,
        "upload-post": 57,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 30,
        "edge": "upload-post",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "sprout-social": 51,
        "upload-post": 81,
        "weight": 13
      },
      {
        "by": 13,
        "edge": "upload-post",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "sprout-social": 59,
        "upload-post": 72,
        "weight": 13
      },
      {
        "by": 29,
        "edge": "sprout-social",
        "key": "security",
        "name": "Security \u0026 auth",
        "sprout-social": 61,
        "upload-post": 32,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "upload-post",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "sprout-social": 20,
        "upload-post": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "upload-post",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "sprout-social": 38,
        "upload-post": 79,
        "weight": 7
      },
      {
        "by": 0,
        "edge": "",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "sprout-social": 70,
        "upload-post": 70,
        "weight": 7
      }
    ],
    "summary": "Upload-Post API + MCP scores 58.7 (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 and security \u0026 auth. Both do social analytics.",
    "verdicts": {
      "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.",
      "upload-post": "Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/sprout-social-vs-upload-post",
    "json": "https://www.anchorterminal.com/compare/sprout-social-vs-upload-post.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/sprout-social-vs-upload-post.md",
    "slim": "https://www.anchorterminal.com/compare/sprout-social-vs-upload-post.min.md"
  },
  "markdown": "Upload-Post API + MCP scores 58.7 (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 and security \u0026 auth. Both do social analytics.\n\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- Upload-Post API + MCP: grade C, 58.7/100, rank #574 of 950. Markdown https://www.anchorterminal.com/tools/upload-post.md · JSON https://www.anchorterminal.com/api/v1/tools/upload-post.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### 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 57\n- Security \u0026 auth, 61 against 32\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### Upload-Post API + MCP (C)\n\nGood for: Video-heavy publishing to TikTok, Reels and Shorts at a low price, and for white-label products that link end users through JWT connect pages.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 51\n- Agent ergonomics, 72 against 59\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 79 against 38\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope\n\n\n## Score by category\n\n| Category | Weight | Sprout Social API | Upload-Post API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 71 | 57 | Sprout Social API +14 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 81 | Upload-Post API + MCP +30 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 72 | Upload-Post API + MCP +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 61 | 32 | Sprout Social API +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | Upload-Post API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 38 | 79 | Upload-Post API + MCP +41 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 70 | even |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **54.7 · C** | **58.7 · C** | |\n\n## Facts side by side\n\n| Fact | Sprout Social API | Upload-Post API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Sprout Social, Inc. | Upload-Post |\n| Hosted endpoint | `https://api.sproutsocial.com` | `https://api.upload-post.com/api` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under the Sprout Social Developer Terms and Terms of Service | MIT |\n| Tools exposed | none | 59 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `com.upload-post/mcp` |\n| Last release | 2026-10-06 | 2026-09-27 |\n| Terms last updated | 2024-05-09 | 2026-10-02 |\n| Privacy policy last updated | 2026-09-16 | 2026-09-04 |\n| Customer content may train models | not found in the text | yes, with an opt-out |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 8 stars, 1.9k npm/wk, 6.2k PyPI/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\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**Upload-Post API + MCP.** Free plan with 2 profiles and 10 uploads a month, no card. One account key with no scopes, and the MCP's OAuth grants a single mcp.full scope.\n\n## Before you call either\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### Upload-Post API + MCP\n\n1. Send `Authorization: Apikey \u003ckey\u003e` on REST. The MCP also takes Bearer\n2. Use async_upload=true for video, then poll the upload status endpoint every 5 to 60 seconds, not faster\n3. Send an Idempotency-Key on every upload so a timed-out retry doesn't post twice\n4. Check each platform's success flag in results, because one network failing doesn't stop the others\n5. Wait until X-RateLimit-Reset after a 429, and mind daily caps such as TikTok 15 and YouTube 10 per account\n\n## Questions\n\n### Which is better for AI agents, Sprout Social API or Upload-Post API + MCP?\n\nUpload-Post API + MCP scores 58.7 (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 and security \u0026 auth.\n\n### Do Sprout Social API and Upload-Post API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Sprout Social API and Upload-Post API + MCP without installing anything?\n\nYes. Sprout Social API has a hosted endpoint at https://api.sproutsocial.com and Upload-Post API + MCP at https://api.upload-post.com/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/sprout-social-vs-upload-post.json, and with the fewest tokens: https://www.anchorterminal.com/compare/sprout-social-vs-upload-post.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"sprout-social\", \"b\": \"upload-post\"}`. From a terminal: `anchor compare sprout-social upload-post`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/sprout-social.json and https://www.anchorterminal.com/api/v1/tools/upload-post.json\n\n## Other comparisons with Sprout Social API or Upload-Post API + MCP\n\n- [Ayrshare API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-upload-post.md)\n- [Blotato vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/blotato-vs-upload-post.md)\n- [Buffer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/buffer-vs-upload-post.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 Upload-Post API + MCP](https://www.anchorterminal.com/compare/late-vs-upload-post.md)\n- [Metricool API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/metricool-vs-upload-post.md)\n- [Mixpost API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-upload-post.md)\n- [OneUp API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/oneup-vs-upload-post.md)\n- [Post Bridge API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-upload-post.md)\n- [Postiz API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/postiz-vs-upload-post.md)\n- [Publer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/publer-vs-upload-post.md)\n- [Typefully vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/typefully-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 Sprout Social API](https://www.anchorterminal.com/compare/bundle-social-vs-sprout-social.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 X MCP](https://www.anchorterminal.com/compare/sprout-social-vs-x-mcp.md)\n- [Upload-Post API + MCP vs X MCP](https://www.anchorterminal.com/compare/upload-post-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": "Sprout Social API vs Upload-Post API + MCP",
        "url": ""
      }
    ],
    "description": "Upload-Post scores 58.7 (C) to Sprout Social's 54.7 (C) for social analytics. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Sprout Social API C 54.7",
      "Upload-Post API + MCP C 58.7",
      "scores"
    ],
    "h1": "Sprout Social API vs Upload-Post API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-sprout-social-vs-upload-post.png",
    "path": "/compare/sprout-social-vs-upload-post",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Sprout Social vs Upload-Post for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/sprout-social-vs-upload-post"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 730
  },
  "version": 1
}
