{
  "data": {
    "a": {
      "slug": "publer",
      "name": "Publer API + MCP",
      "vendor": "Publer",
      "vendorUrl": "https://publer.com",
      "kind": "http-api",
      "category": "social-media",
      "summary": "Scheduler with a REST API and an MCP server that are both limited to the Business and Enterprise plans.",
      "url": "https://www.anchorterminal.com/tools/publer",
      "markdownUrl": "https://www.anchorterminal.com/tools/publer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/publer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/publer.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.publer.com/api/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Scoped API key (workspaces, accounts, posts, media, analytics) sent in the Authorization header as `Bearer-API \u003ckey\u003e`, plus a Publer-Workspace-Id header on most calls. The MCP server uses the same key, either in a generated server URL or in an Authorization header.",
      "pricing": "paid",
      "pricingNotes": "Free plan for 3 accounts but no API or MCP. API and MCP need Business, priced per social account at $7 a month plus $3 per extra member, as returned by the plans page. Professional is $4 per account and has no API. Every 10th account or member is free, and trials run 7 or 14 days. Enterprise by quote (https://publer.com/plans).",
      "priceSummary": "$7 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call payment in the API docs or plans page (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://publer.com/docs",
      "llmsTxt": "https://publer.com/docs/llms.txt",
      "capabilities": [
        "social.post",
        "social.schedule",
        "social.analytics",
        "social.media-upload"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "closed-source",
        "async-jobs",
        "enterprise"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.8,
        "grade": "D",
        "agentReady": false,
        "rank": 843,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 41,
          "payments": 15,
          "reliability": 60,
          "schema": 46,
          "security": 41,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Scoped API keys (workspaces, accounts, posts, media, analytics) with 401 and 403 errors that name the missing scope or header. API and MCP only on Business and Enterprise, and the free plan has no API.",
        "bestFor": "Agencies already on Publer Business who want an agent to schedule in bulk and read deep analytics, including competitors.",
        "strengths": [
          "Scoped API keys (workspaces, accounts, posts, media, analytics) with 401 and 403 errors that name the missing scope or header",
          "Documented rate limits with X-RateLimit-Limit, Remaining and Reset headers and per-network daily caps",
          "List posts filters by state, date range, account, content query and type, with total_pages",
          "Analytics for post insights, hashtags, best times and competitors",
          "Kalemi Code names its registration, servers in Frankfurt, a DPA and a sub-processor list"
        ],
        "weaknesses": [
          "API and MCP only on Business and Enterprise, and the free plan has no API",
          "Async job polling for every post creation, with no idempotency key",
          "No OpenAPI spec, no public changelog and no SDKs",
          "The MCP article lists no tools and allows the key inside the server URL",
          "Status history unreadable to us, since robots.txt blocks status.publer.com"
        ],
        "agentNotes": [
          "List workspaces first and send Publer-Workspace-Id on later calls, or expect a 403",
          "Poll /job_status/{job_id} after posts/schedule and read payload.failures, since status reads complete even when posts failed",
          "Use the Bearer-API scheme, not Bearer",
          "Leave a one-minute gap between posts to the same account, or the job fails",
          "Read X-RateLimit-Reset after a 429 and wait until then, as there's no Retry-After"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.8
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 41,
          "payments": 15,
          "reliability": 60,
          "schema": 46,
          "security": 41,
          "transparency": 58
        },
        "provenanceScore": 74
      },
      "connect": {
        "http": "curl https://app.publer.com/api/v1/workspaces -H \"Authorization: Bearer-API $PUBLER_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/social.post",
        "tool": "https://letme.dev/publer"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Business, per social account",
          "unit": "month",
          "usd": 7,
          "note": "Rate returned by the plans page, billing period discounts not checked"
        },
        {
          "item": "Business, per extra member",
          "unit": "month",
          "usd": 3
        }
      ],
      "provenance": {
        "legalEntity": "Kalemi Code",
        "domain": "publer.com",
        "domainRegistered": "2005-11-15",
        "domainNote": "publer.com was registered in 2005, long before Publer launched, so the domain was likely bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://publer.com/terms",
        "privacy": "https://publer.com/privacy",
        "statusPage": "https://status.publer.com/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms list Kalemi Code of Tirana, Albania (registration L71705026N) and Kalemi Code LLC of Sheridan, Wyoming."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/publer.json",
      "live": {
        "slug": "publer",
        "probe": {
          "target": "https://app.publer.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-10T02:55:06.933868645Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 81,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.51,
          "p50ms24h": 89,
          "p95ms24h": 170,
          "samples24h": 249,
          "samples30d": 2466,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 267
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 270
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 271
            },
            {
              "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": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.publer.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:10.779396867Z"
        },
        "securityTxt": {
          "url": "https://publer.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:21.290455785Z"
        },
        "llmsTxt": {
          "url": "https://publer.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:38.51401514Z"
        },
        "domain": {
          "domain": "publer.com",
          "registered": "2005-11-15",
          "source": "https://rdap.verisign.com/com/v1/domain/publer.com",
          "checkedAt": "2026-10-04T13:08:55.505674851Z"
        },
        "pages": [
          {
            "url": "https://publer.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:44:02.68233733Z",
            "changedAt": "2026-10-04T15:47:05.100060569Z",
            "fingerprint": "646894b36b90"
          },
          {
            "url": "https://publer.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:44:04.917009475Z",
            "changedAt": "2026-10-04T15:47:07.26173206Z",
            "fingerprint": "20a0cd58db8d"
          }
        ],
        "updatedAt": "2026-10-10T02:55:06.933868645Z"
      }
    },
    "answer": "Sprout Social API scores 54.7 (C) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 6 of 7 scored categories.",
    "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": "Publer",
        "b": "Sprout Social, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://app.publer.com/api/v1",
        "b": "https://api.sproutsocial.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under the Sprout Social Developer Terms and Terms of Service",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-10-06",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2024-05-09",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-09-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Sprout Social API scores 54.7 (C) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Publer API + MCP or Sprout Social API?"
      },
      {
        "answer": "Publer API + MCP needs an API key. Sprout Social API takes an API key or an OAuth sign-in.",
        "question": "Do Publer API + MCP and Sprout Social API need an API key?"
      },
      {
        "answer": "Yes. Publer API + MCP has a hosted endpoint at https://app.publer.com/api/v1 and Sprout Social API at https://api.sproutsocial.com.",
        "question": "Can an agent call Publer API + MCP and Sprout Social API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Agencies already on Publer Business who want an agent to schedule in bulk and read deep analytics, including competitors.",
        "slug": "publer",
        "watchFor": "API and MCP only on Business and Enterprise, and the free plan has no API"
      },
      {
        "aheadOn": [
          "Reliability, 71 against 60",
          "Schema \u0026 documentation, 51 against 46",
          "Security \u0026 auth, 61 against 41",
          "Payments \u0026 pricing, 20 against 15"
        ],
        "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-publer.json",
        "title": "Ayrshare API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/ayrshare-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blotato-vs-publer.json",
        "title": "Blotato vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/blotato-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/buffer-vs-publer.json",
        "title": "Buffer API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/buffer-vs-publer"
      },
      {
        "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/late-vs-publer.json",
        "title": "Zernio (formerly Late) API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/late-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metricool-vs-publer.json",
        "title": "Metricool API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/metricool-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpost-vs-publer.json",
        "title": "Mixpost API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/mixpost-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/oneup-vs-publer.json",
        "title": "OneUp API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/oneup-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/post-bridge-vs-publer.json",
        "title": "Post Bridge API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/post-bridge-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/postiz-vs-publer.json",
        "title": "Postiz API + MCP vs Publer API + MCP",
        "url": "https://www.anchorterminal.com/compare/postiz-vs-publer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/publer-vs-typefully.json",
        "title": "Publer API + MCP vs Typefully",
        "url": "https://www.anchorterminal.com/compare/publer-vs-typefully"
      },
      {
        "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/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-x-mcp.json",
        "title": "Publer API + MCP vs X MCP",
        "url": "https://www.anchorterminal.com/compare/publer-vs-x-mcp"
      },
      {
        "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": [
      {
        "by": 11,
        "edge": "sprout-social",
        "key": "reliability",
        "name": "Reliability",
        "publer": 60,
        "sprout-social": 71,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "sprout-social",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "publer": 46,
        "sprout-social": 51,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "sprout-social",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "publer": 55,
        "sprout-social": 59,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "sprout-social",
        "key": "security",
        "name": "Security \u0026 auth",
        "publer": 41,
        "sprout-social": 61,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "sprout-social",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "publer": 15,
        "sprout-social": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "publer",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "publer": 41,
        "sprout-social": 38,
        "weight": 7
      },
      {
        "by": 4,
        "edge": "sprout-social",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "publer": 66,
        "sprout-social": 70,
        "weight": 7
      }
    ],
    "summary": "Sprout Social API scores 54.7 (C) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 6 of 7 scored categories. Both do social analytics.",
    "verdicts": {
      "publer": "Scoped API keys (workspaces, accounts, posts, media, analytics) with 401 and 403 errors that name the missing scope or header. API and MCP only on Business and Enterprise, and the free plan has no API.",
      "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/publer-vs-sprout-social",
    "json": "https://www.anchorterminal.com/compare/publer-vs-sprout-social.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/publer-vs-sprout-social.md",
    "slim": "https://www.anchorterminal.com/compare/publer-vs-sprout-social.min.md"
  },
  "markdown": "Sprout Social API scores 54.7 (C) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 6 of 7 scored categories. Both do social analytics.\n\n- Publer API + MCP: grade D, 46.8/100, rank #843 of 950. Markdown https://www.anchorterminal.com/tools/publer.md · JSON https://www.anchorterminal.com/api/v1/tools/publer.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### Publer API + MCP (D)\n\nGood for: Agencies already on Publer Business who want an agent to schedule in bulk and read deep analytics, including competitors.\n\nWatch for: API and MCP only on Business and Enterprise, and the free plan has no API\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 60\n- Schema \u0026 documentation, 51 against 46\n- Security \u0026 auth, 61 against 41\n- Payments \u0026 pricing, 20 against 15\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 | Publer API + MCP | Sprout Social API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 71 | Sprout Social API +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 46 | 51 | Sprout Social API +5 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 59 | Sprout Social API +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 61 | Sprout Social API +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 20 | Sprout Social API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 41 | 38 | Publer API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 70 | Sprout Social API +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **46.8 · D** | **54.7 · C** | |\n\n## Facts side by side\n\n| Fact | Publer API + MCP | Sprout Social API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Publer | Sprout Social, Inc. |\n| Hosted endpoint | `https://app.publer.com/api/v1` | `https://api.sproutsocial.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | none | Proprietary service under the Sprout Social Developer Terms and Terms of Service |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | none | 2026-10-06 |\n| Terms last updated | couldn't be read | 2024-05-09 |\n| Privacy policy last updated | couldn't be read | 2026-09-16 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\n\n**Publer API + MCP.** Scoped API keys (workspaces, accounts, posts, media, analytics) with 401 and 403 errors that name the missing scope or header. API and MCP only on Business and Enterprise, and the free plan has no API.\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### Publer API + MCP\n\n1. List workspaces first and send Publer-Workspace-Id on later calls, or expect a 403\n2. Poll /job_status/{job_id} after posts/schedule and read payload.failures, since status reads complete even when posts failed\n3. Use the Bearer-API scheme, not Bearer\n4. Leave a one-minute gap between posts to the same account, or the job fails\n5. Read X-RateLimit-Reset after a 429 and wait until then, as there's no Retry-After\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, Publer API + MCP or Sprout Social API?\n\nSprout Social API scores 54.7 (C) on agent readiness against Publer API + MCP's 46.8 (D), and leads in 6 of 7 scored categories.\n\n### Do Publer API + MCP and Sprout Social API need an API key?\n\nPubler API + MCP needs an API key. Sprout Social API takes an API key or an OAuth sign-in.\n\n### Can an agent call Publer API + MCP and Sprout Social API without installing anything?\n\nYes. Publer API + MCP has a hosted endpoint at https://app.publer.com/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/publer-vs-sprout-social.json, and with the fewest tokens: https://www.anchorterminal.com/compare/publer-vs-sprout-social.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"publer\", \"b\": \"sprout-social\"}`. From a terminal: `anchor compare publer sprout-social`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/publer.json and https://www.anchorterminal.com/api/v1/tools/sprout-social.json\n\n## Other comparisons with Publer API + MCP or Sprout Social API\n\n- [Ayrshare API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/ayrshare-vs-publer.md)\n- [Blotato vs Publer API + MCP](https://www.anchorterminal.com/compare/blotato-vs-publer.md)\n- [Buffer API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/buffer-vs-publer.md)\n- [bundle.social vs Publer API + MCP](https://www.anchorterminal.com/compare/bundle-social-vs-publer.md)\n- [Zernio (formerly Late) API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/late-vs-publer.md)\n- [Metricool API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/metricool-vs-publer.md)\n- [Mixpost API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/mixpost-vs-publer.md)\n- [OneUp API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/oneup-vs-publer.md)\n- [Post Bridge API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/post-bridge-vs-publer.md)\n- [Postiz API + MCP vs Publer API + MCP](https://www.anchorterminal.com/compare/postiz-vs-publer.md)\n- [Publer API + MCP vs Typefully](https://www.anchorterminal.com/compare/publer-vs-typefully.md)\n- [Publer API + MCP vs Upload-Post API + MCP](https://www.anchorterminal.com/compare/publer-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 X MCP](https://www.anchorterminal.com/compare/publer-vs-x-mcp.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": "Publer API + MCP vs Sprout Social API",
        "url": ""
      }
    ],
    "description": "Sprout Social scores 54.7 (C) to Publer's 46.8 (D) for social analytics. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Publer API + MCP D 46.8",
      "Sprout Social API C 54.7",
      "scores"
    ],
    "h1": "Publer API + MCP vs Sprout Social API",
    "image": "https://www.anchorterminal.com/assets/og/compare-publer-vs-sprout-social.png",
    "path": "/compare/publer-vs-sprout-social",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Publer vs Sprout Social for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/publer-vs-sprout-social"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 680
  },
  "version": 1
}
