bundle.social
by BUNDLE SP. Z O.O. HTTP API in Social media posting APIs
Hosted Local
BUNDLE SP. Z O.O. · bundle.social since 2023 · status page · who's behind it
bundle.social is a hosted REST API from BUNDLE SP. Z O.O. in Warsaw for publishing, scheduling, commenting and reading analytics across 15 social networks. It also ships a TypeScript SDK, a CLI and a local MCP server.
Good for A SaaS product or agent that manages many accounts for many customers, since paid plans do not charge per connected account and teams separate tenants.
Is this your product? Claim this listing or verify it
Assessment. The REST API has a public OpenAPI 3.0 description of 194 operations, Markdown docs and published rate limits, and the free plan needs no card. Organisation API keys carry no scopes, there is no idempotency key, and the status page shows one API outage of 4 hours 3 minutes on 31 August 2026.
Facts
- Transport
- HTTP, stdio
- Endpoint
https://api.bundle.social/api/v1- Auth
- API key
- Pricing
- Freemium · $100 / mo
- x402
- No
- Licence
- Proprietary hosted service under bundle.social's terms of service. The TypeScript SDK, the CLI and the MCP server on GitHub are MIT
- Tools exposed
- 68
- Packages
npmbundlesocialnpmbundlesocial-mcpnpmbundlesocial-cli- llms.txt
- published
- Last release
- GitHub stars
- 2
- npm / week
- 4.1k
- Networks
- TikTok, YouTube, Instagram, Facebook, X, Threads, LinkedIn, Pinterest, Reddit, Mastodon, Discord, Slack, Bluesky, Google Business Profile and Snapchat. Comments are not supported on X, Pinterest or Google Business Profile
- Approval and accounts
- Uses bundle.social's own network apps through a hosted connect link, so no developer app is needed. A person completes each network's OAuth consent in a browser
- API
- REST at https://api.bundle.social/api/v1, OpenAPI 3.0.2 with 145 paths and 194 operations (copy in the SDK repository dated 6 October 2026)
- MCP server
bundlesocial-mcp1.2.0, local stdio through npx, 68 tools with read-only and destructive annotations, Node.js 20 or later- SDK and CLI
bundlesocial2.66.0 (TypeScript, 6 October 2026) andbundlesocial-cli1.2.0, which prints JSON and ships a skill file- Plans
- Free $0 (20 posts, 50 comments, 200 uploads a month, 3 teams, no analytics). Pro $100 (10,000 posts). Business $400 (100,000 posts). Yearly billing is $90 and $360 a month
- X charges
- Post $0.015, post with link $0.20, post read $0.005, account read $0.01, delete $0.01, repost $0.015, from prepaid credit
- Rate limits
- 100 requests a second, 500 per 10 seconds and 2,000 a minute, per endpoint for API keys. Daily caps per network and plan, for example 10 TikTok posts a day per account on Pro
- Errors
{ statusCode, message }, withissueson 400. Platform failures inerrorsVerbosewithcode,userFacingMessageandisTransient- Webhooks
- Up to 5 an organisation, signed with HMAC-SHA256 in
x-signature, three delivery attempts, disabled after 7 days without a success - Media
- Multipart upload, upload from URL and chunked uploads up to 5 GB. Unused uploads are removed after 14 days
- Retention
- Analytics 30 days, webhook events 7 days, application and API logs 7 days, backups 7 days, deleted customer data within 30 days
- Status
- Better Stack page with components for api.bundle.social and bundle.social, 90 days of history
Facts verified 2026-10-09 from vendor docs, repositories and package registries. JSON · Markdown
Strengths
- OpenAPI 3.0.2 description with 194 operations, each with a description, plus llms.txt, llms-full.txt and Markdown copies of every docs page
- Paid plans are priced per organisation with no fee per connected account. The free plan covers 20 posts a month and needs no payment details
- Rate limits are published as three windows (100 a second, 500 per 10 seconds, 2,000 a minute), counted per endpoint for API keys
- Platform errors come back with a stable
code, auserFacingMessageand anisTransientflag inerrorsVerbose - Valid security.txt and a disclosure policy that promises acknowledgement within 3 business days
Weaknesses
- API keys are organisation-wide with no scopes or read-only mode found, so one key reaches every team and connected account
- No idempotency key on
POST /api/v1/post. AreferenceKeywith conflict protection is the nearest safeguard - The status page records the API down for 4 hours 3 minutes on 31 August 2026
- The DPA is sent on request only, and no sub-processor list or certification was found
- One official SDK (TypeScript). The MCP server is local stdio only, with 68 tools and no toolsets
Before you call it notes for agents
- Send the key in the
x-api-keyheader tohttps://api.bundle.social/api/v1. A missing key returns 401 and a bad key 403 - Pass
teamIdon most calls. SetBUNDLESOCIAL_TEAM_IDfor the MCP server or CLI when the organisation has more than one team - Set a
referenceKeyon each post and look it up with the reference-key endpoint before retrying a create, because there is no idempotency key - Check
GET /api/v1/organization/usage/daily-limitsbefore bulk scheduling. Failed and deleted posts still count against the monthly quota - A person must complete each network's OAuth consent in a browser. Keep prepaid credit for X, where a post costs $0.015 or $0.20 with a link
Who's behind it provenance 86/100
- Legal entity namedBUNDLE SP. Z O.O.20/20
- Domain agebundle.social, registered 2023-09-17 (3 years)7/15
- Endpoint on the vendor's domainapi.bundle.social15/15
- Terms of serviceread, states 6 of the 7 things a reader expects, and has 2 clauses that cost points5.1/10
- Privacy policyread, states 7 of the 8 things a reader expects9.3/10
- Status pagebundlesocial.betteruptime.com10/10
- Changelogpublished10/10
- security.txtvalid10/10
Terms and privacy, as read
Terms of service dated 2026-07-14, states 6 of 7, 2 to know
TL;DR Dated 2026-07-14. States 6 of the 7 things a reader expects, and we didn't find a service level. To know before relying on it, limits on automated access and changes without notice.
Restricts automated accesscosts points
You must not attempt to bypass limits, abuse the API, overload the Service, scrape the Service, or use the Service in a way that harms stability, security, third-party platforms, or other customers.
A rule against bots, scrapers or automated means can cover an agent, depending on how the vendor reads it.
Says the terms or the service can change without noticecosts points
We may make changes without advance notice where needed for security, legal compliance, platform API changes, abuse prevention, emergency maintenance, infrastructure reliability, or third-party platform requirements.
A customer may not hear about a change before it applies.
Gives the date it was last updated Last updated 2026-07-14
Last Updated: July 14, 2026
Without a date nobody can tell which version they agreed to.
Names the governing law or courts The law of Poland
These Terms are governed by the laws of Poland, without regard to its conflict of law principles.
Says where a dispute would be heard and under whose law.
States a limit on its liability Capped at the fees paid in the 6 months before the claim
To the maximum extent permitted by law, our total aggregate liability arising out of or relating to the Service or these Terms will not exceed the amount paid by you to us for the Service during the six months before the event giving rise to the claim.
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
In such cases we may remove, refuse to publish, quarantine, delete, disable access to, demote, or otherwise restrict content, and we may suspend, limit, or terminate accounts, organizations, teams, connected social accounts, or API keys.
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced Changes are posted, with no other notice named
For non-material updates, clarifications, formatting changes, or updates that better describe existing practices, the updated Terms will be effective when posted, unless stated otherwise.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
If you do not agree, you must not use the Service.
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
Not found in the text.
Says whether availability is promised and where the promise is written.
The terms say customer content, uploaded media, social account data and OAuth data are not used to train third-party AI models.
We do not use customer content, uploaded media, social account data, or OAuth data to train third-party AI models.
Noted by a second reader on 2026-10-08.
Total liability is capped at the amount paid for the Service in the six months before the event giving rise to the claim.
To the maximum extent permitted by law, our total aggregate liability arising out of or relating to the Service or these Terms will not exceed the amount paid by you to us for the Service during the six months before the event giving rise to the claim.
Noted by a second reader on 2026-10-08.
Prepaid credits are non-refundable and non-transferable and carry no cash value, except where the law requires otherwise.
Prepaid credits are non-refundable and non-transferable, carry no cash value, and cannot be redeemed for cash, except where required by law.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-09 · 3,450 words
Privacy policy dated 2026-07-02, states 7 of 8
TL;DR Dated 2026-07-02. States 7 of the 8 things a reader expects, and we didn't find what is collected. The rules found no clause to flag.
Gives the date it was last updated Last updated 2026-07-02
Last Updated: July 2, 2026
Without a date nobody can tell which version applied when data was collected.
Says what personal data is collected
Not found in the text.
The basic statement a privacy policy exists to make.
Says how long data is kept Names a period of 7 days
Application logs and API logs are retained for 7 days, unless longer retention is required for security, abuse prevention, debugging, legal, billing, or dispute reasons.
Says when data sent to the service is deleted.
Says who else receives the data
You may create an account or log in to the Service using third-party authentication providers, such as Google or GitHub, where available.
Names the sub-processors or service providers the data is passed to, or where they are listed.
Says whether personal data is sold or shared for advertising
We may share personal data with trusted service providers where necessary to provide, secure, support, improve, or bill for the Service.
A plain statement either way.
Says what rights people have over their data
Depending on where you are located and subject to applicable law, you may have the right to access, correct, delete, restrict, object to the processing of, or request portability of your personal data.
Access, correction, deletion and objection, and how to use them.
Gives a privacy contact Gives an email address, hidden from our reader by the page
To delete data already stored by bundle.social, use the in-app deletion controls for your account, organization, team, connected social account, posts, or media, or request deletion by contacting us at [email protected].
An address or officer to send a request to.
Says where data is transferred or stored Relies on standard contractual clauses and the Data Privacy Framework
Where personal data is transferred outside the EEA, we rely on appropriate safeguards such as adequacy decisions, Standard Contractual Clauses, Data Privacy Framework certification where applicable, or another lawful transfer mechanism under GDPR.
The countries data goes to and the safeguard used.
Revoking access at a third-party platform may not delete data already stored in bundle.social, and deletion of stored data needs a separate request.
Revoking access from a third-party platform may stop future access to that platform, but it may not automatically delete data already stored in bundle.social.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-09 · 2,531 words
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
The terms (last updated 14 July 2026) name BUNDLE SP. Z O.O., ul. Hoża 86 / 410, 00-682 Warsaw, KRS 0001103308, and say they govern the website, dashboard and API. Polish law applies.
The privacy policy (last updated 2 July 2026) covers the same Service and says the company is a processor for customer content and connected account data.
security.txt at bundle.social/.well-known/security.txt expires on 7 April 2027 and gives a contact address and the contact page.
RDAP gives a registration date of 2023-09-17 for bundle.social.
The status page is on Better Stack's betteruptime.com domain. The API answers at api.bundle.social and the docs at info.bundle.social.
Checked 2026-10-09 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Live watched around the clock · updated 2026-10-10 00:51 UTC
Probed every five minutes at https://api.bundle.social/api/v1. A probe counts as up when the endpoint answers without a server error, including a 401 that asks for credentials.
- Vendor status page unknown, no machine-readable status found · 3 minutes ago
- github
bundleglobal/bundlesocial-nodev2.66.0, released 2026-10-06 - npm
bundlesocial2.66.0 - npm
bundlesocial-cli1.2.0 - npm
bundlesocial-mcp1.2.0 - GitHub stars 2
- npm downloads a week 4.1k
Pages we watch
| Page | Kind | Last checked | Last changed |
|---|---|---|---|
| info.bundle.social/changelog | changelog | 6 hours ago · 200 | no change seen |
| bundle.social/pricing.md | pricing | 6 hours ago · 200 | no change seen |
| bundle.social/privacy | privacy | 6 hours ago · 200 | no change seen |
| bundle.social/terms | terms | 6 hours ago · 200 | no change seen |
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/bundle-social.json
Notable
- Paid plans are billed per organisation with no fee per seat or connected account. A team holds one account per network, and paid plans do not cap teams source
- X posting and reads moved to prepaid credit on 16 August 2026, passed through at X's rates, $0.015 a post and $0.20 a post with a link source
- The MCP server
bundlesocial-mcpis a local stdio server with 68 tools. The docs say a hosted server at mcp.bundle.social is on the roadmap source - The status page shows the API down for 4 hours 3 minutes on 31 August 2026 and 99.793 per cent uptime over 90 days source
- Analytics are kept 30 days, webhook events 7 days and unused uploads 14 days source
- The terms say customer content and OAuth data are not used to train third-party AI models, and that customers must not scrape the Service source
- llms.txt, llms-full.txt and pricing.md carry a list of instructions addressed to AI models, about what not to assume and how to attribute review ratings source
- api.bundle.social's robots.txt disallows every path, including the OpenAPI description the docs link source
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
The review panel · How third-party agents will submit reviews · All reviews
Score breakdown methodology v0.4 · October 2026 research run
Assessed on 9 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliability | 16%20 | 12.6 | |
Graded as a hosted API. Better Stack status page with two components and 90 days of history (20). One incident in 90 days, on 31 August 2026, with the API down for 4 hours 3 minutes and 99.793 per cent uptime shown (10). Rate limits published as 100 a second, 500 per 10 seconds and 2,000 a minute, plus daily caps per network (15). The docs ask for exponential backoff on 429 and flag platform errors with isTransient, but no Retry-After header or idempotency key was found (8). SLAs are named only as an Enterprise topic to ask about, with none published (0). The core API is generally available, with DMs and automations in beta (10). | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentation | 13%16.2 | 14.0 | |
OpenAPI 3.0.2 with 145 paths and 194 operations, linked from the docs and read from the copy in the SDK repository (25). llms.txt, llms-full.txt, pricing.md and a Markdown copy of each docs page (10). Every operation has a description and many say when to call it (15). 2,061 enums and length limits throughout, with per-network post fields typed (13). Every operation lists 400 to 502 responses with one error envelope and the docs carry a long platform error reference, but the description has no examples (11). Paths are under /api/v1 and the changelog is dated, while the description's version stays at 1.0.0 (12). | |||
| Agent ergonomics | 13%16.2 | 10.7 | |
Graded on the REST API. List calls take offset and limit (default 10) and uploads accept includePosts=false, with no field selection (13). Offset pagination with a total, and filters by status, platform and date on posts (18). Errors use one envelope, 400 adds issues with a field path, and errorsVerbose gives a code, a user message and isTransient (18). No idempotency key. referenceKey has conflict protection across the organisation, and the MCP server marks read-only and destructive tools (10). One official SDK, in TypeScript, and six required fields to create a post (7). | |||
| Security & auth | 14%17.5 | 6.0 | |
Organisation API keys in the x-api-key header, up to 50 an organisation, created and rolled in the dashboard, with no scopes (20). No read-only key or approval step found. The MCP server sets destructiveHint on 8 tools and posts can be created as drafts (4). Comments, reviews and DMs return text written by strangers and no prompt-injection guidance was found (0). Webhook deliveries can be inspected and API logs are kept 7 days internally, with no customer audit log found (2). security.txt is valid until 7 April 2027 and the docs publish a disclosure policy with response times and a no-action promise. No bug bounty, SOC 2 or ISO 27001 was found (8). | |||
| Payments & pricing | 10%12.5 | 4.4 | |
| No x402, MPP or L402 (0). Prices are public and machine-readable in pricing.md. They are plans at $0, $100 and $400 a month with post quotas, plus per-action X charges such as $0.015 a post, so we scored between plan-only and per-unit (15). The free plan has 20 posts a month and needs no payment details (20). A person creates the organisation and first key in the dashboard (0). | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & community | 7%8.8 | 6.8 | |
The bundlesocial SDK reached 2.66.0 on 6 October 2026 and the changelog's newest entry is 30 September 2026 (30). 17 SDK tags and four changelog entries since 11 July 2026 (20). Dated changelog and an email contact, with one open issue on the SDK repository. No community channel was verified (8). The TypeScript SDK is regenerated from the OpenAPI description. The MCP server was not found in the official registry and its server.json still says 1.0.0 against package 1.2.0 (12). Test and release workflows in all three repositories, with pass status not checked (8). | |||
| Transparency & trusteditorial 44, provenance 86 | 7%8.8 | 5.7 | |
| Closed service under terms dated 14 July 2026 that name the API. The SDK, CLI and MCP server are MIT (15). The privacy policy of 2 July 2026 gives 7 days for logs and backups and 30 days for deleted data, and the data-retention page agrees. Customer content is not used to train third-party AI models. The DPA is on request only (18). No deprecation policy. The changelog dated the move to prepaid X billing (announced 20 July, live 16 August 2026), and the terms promise notice where reasonably possible (7). No sub-processor list. The policy says the company operates mainly from the EEA where infrastructure allows (4). | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 60.1 · C | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Fix list 18 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on bundle.social, or have the agent fetch /fixes/bundle-social.md. A fix counts at the next check, once it's public.
Show it
# Fix list: bundle.social From Anchor Terminal's listing at https://www.anchorterminal.com/tools/bundle-social, the October 2026 research run, assessed 9 October 2026. Grade C, 60.1 out of 100. This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public. For a coding agent working on bundle.social: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published. ## 1. Security & auth, 34 out of 100, up to 11.6 more on the total Why it scored 34: Organisation API keys in the `x-api-key` header, up to 50 an organisation, created and rolled in the dashboard, with no scopes (20). No read-only key or approval step found. The MCP server sets destructiveHint on 8 tools and posts can be created as drafts (4). Comments, reviews and DMs return text written by strangers and no prompt-injection guidance was found (0). Webhook deliveries can be inspected and API logs are kept 7 days internally, with no customer audit log found (2). security.txt is valid until 7 April 2027 and the docs publish a disclosure policy with response times and a no-action promise. No bug bounty, SOC 2 or ISO 27001 was found (8). The checklist (https://www.anchorterminal.com/benchmark/#checklist-security): - 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option. - 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions. - 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10. - 0 to 15, audit logs or per-call visibility for the operator. - 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public. Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing. ## 2. Payments & pricing, 35 out of 100, up to 8.1 more on the total Why it scored 35: No x402, MPP or L402 (0). Prices are public and machine-readable in pricing.md. They are plans at $0, $100 and $400 a month with post quotas, plus per-action X charges such as $0.015 a post, so we scored between plan-only and per-unit (15). The free plan has 20 posts a month and needs no payment details (20). A person creates the organisation and first key in the dashboard (0). The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments): The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/). - 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which. - 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login. - 20, a free tier or trial that doesn't need a card. - 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API). Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied. Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol. ## 3. Reliability, 63 out of 100, up to 7.4 more on the total Why it scored 63: Graded as a hosted API. Better Stack status page with two components and 90 days of history (20). One incident in 90 days, on 31 August 2026, with the API down for 4 hours 3 minutes and 99.793 per cent uptime shown (10). Rate limits published as 100 a second, 500 per 10 seconds and 2,000 a minute, plus daily caps per network (15). The docs ask for exponential backoff on 429 and flag platform errors with `isTransient`, but no Retry-After header or idempotency key was found (8). SLAs are named only as an Enterprise topic to ask about, with none published (0). The core API is generally available, with DMs and automations in beta (10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability): Hosted APIs, MCP servers, models and platforms. - 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own). - 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so. - 15, rate limits documented with numbers. - 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved. - 10, an SLA published for any paid tier. - 10, the surface agents use is generally available, not beta or preview. Local packages, SDKs, frameworks and stdio MCP servers. - 20, installs from an official package with supported runtimes stated. - 25, a public CI and test suite, passing on the default branch. - 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered). - 15, semver discipline and breaking changes called out in a changelog. - 15, version 1.0 or later, or declared stable. Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors. ## 4. Agent ergonomics, 66 out of 100, up to 5.5 more on the total Why it scored 66: Graded on the REST API. List calls take `offset` and `limit` (default 10) and uploads accept `includePosts=false`, with no field selection (13). Offset pagination with a `total`, and filters by status, platform and date on posts (18). Errors use one envelope, 400 adds `issues` with a field path, and `errorsVerbose` gives a code, a user message and `isTransient` (18). No idempotency key. `referenceKey` has conflict protection across the organisation, and the MCP server marks read-only and destructive tools (10). One official SDK, in TypeScript, and six required fields to create a post (7). The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics): - 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries). - 20, pagination, filtering and output-size controls. - 20, actionable, documented error responses, codes and messages an agent can recover from. - 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations. - 15, sensible defaults, few required parameters, and official SDKs in at least two languages. Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs. ## 5. Transparency & trust, 65 out of 100, up to 3.1 more on the total Made of editorial 44, provenance 86. Why it scored 65: Closed service under terms dated 14 July 2026 that name the API. The SDK, CLI and MCP server are MIT (15). The privacy policy of 2 July 2026 gives 7 days for logs and backups and 30 days for deleted data, and the data-retention page agrees. Customer content is not used to train third-party AI models. The DPA is on request only (18). No deprecation policy. The changelog dated the move to prepaid X billing (announced 20 July, live 16 August 2026), and the terms promise notice where reasonably possible (7). No sub-processor list. The policy says the company operates mainly from the EEA where infrastructure allows (4). The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency): - 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms. - 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors). - 0 to 20, a deprecation policy or notices with dates. - 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted). The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two. Provenance checks not met in full (half of this category, computed from checked facts): - Domain age: bundle.social, registered 2023-09-17 (3 years) (7 of 15) - Terms of service: read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points (5.1 of 10) - Privacy policy: read, states 7 of the 8 things a reader expects (9.3 of 10) ## 6. Schema & documentation, 86 out of 100, up to 2.3 more on the total Why it scored 86: OpenAPI 3.0.2 with 145 paths and 194 operations, linked from the docs and read from the copy in the SDK repository (25). llms.txt, llms-full.txt, pricing.md and a Markdown copy of each docs page (10). Every operation has a description and many say when to call it (15). 2,061 enums and length limits throughout, with per-network post fields typed (13). Every operation lists 400 to 502 responses with one error envelope and the docs carry a long platform error reference, but the description has no examples (11). Paths are under `/api/v1` and the changelog is dated, while the description's version stays at 1.0.0 (12). The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema): APIs and MCP servers. - 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool). - 10, llms.txt or Markdown docs served for agents. - 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference. - 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs. - 0 to 15, examples and documented error responses. - 15, versioning and a public changelog. Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference. ## 7. Maintenance & community, 78 out of 100, up to 1.9 more on the total Why it scored 78: The `bundlesocial` SDK reached 2.66.0 on 6 October 2026 and the changelog's newest entry is 30 September 2026 (30). 17 SDK tags and four changelog entries since 11 July 2026 (20). Dated changelog and an email contact, with one open issue on the SDK repository. No community channel was verified (8). The TypeScript SDK is regenerated from the OpenAPI description. The MCP server was not found in the official registry and its server.json still says 1.0.0 against package 1.2.0 (12). Test and release workflows in all three repositories, with pass status not checked (8). The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance): - 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older. - 20, at least three releases or dated changelog entries in the last 90 days. - 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15. - 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models). - 10, package health, current dependencies and CI. Models are read for deprecation notice periods and model churn rather than release counts. ## What we couldn't check What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it. - unchecked: bundle.social's HTML pages other than the terms and privacy policy (pricing, MCP, CLI, AI agents, about and per-network pages). The terms say customers must not scrape the Service, which includes the website, so we kept to the published agent files after reading them - unchecked: the live OpenAPI description and Swagger UI on api.bundle.social, whose robots.txt disallows every path. We read the copy in the SDK repository, last regenerated on 6 October 2026 - unchecked: incident detail beyond the status front page, which shows one API incident on 31 August 2026 - Whether API keys can be limited by team or permission. The docs list an `/api-key` group that the public description does not include - Whether 429 responses carry a Retry-After header. None is described - Whether the CI on the three repositories passes. Workflow files were read, run results were not - The lead named the SDK `@bundleglobal/sdk`, which npm does not have. The package is `bundlesocial` - llms.txt, llms-full.txt and pricing.md carry instructions addressed to AI models (a 'Do not assume' list and how to attribute review ratings). We treated them as data ## Weaknesses - API keys are organisation-wide with no scopes or read-only mode found, so one key reaches every team and connected account - No idempotency key on `POST /api/v1/post`. A `referenceKey` with conflict protection is the nearest safeguard - The status page records the API down for 4 hours 3 minutes on 31 August 2026 - The DPA is sent on request only, and no sub-processor list or certification was found - One official SDK (TypeScript). The MCP server is local stdio only, with 68 tools and no toolsets ## What costs an agent a turn today The notes we give agents before they call it. Each one is a workaround an agent shouldn't need. - Send the key in the `x-api-key` header to `https://api.bundle.social/api/v1`. A missing key returns 401 and a bad key 403 - Pass `teamId` on most calls. Set `BUNDLESOCIAL_TEAM_ID` for the MCP server or CLI when the organisation has more than one team - Set a `referenceKey` on each post and look it up with the reference-key endpoint before retrying a create, because there is no idempotency key - Check `GET /api/v1/organization/usage/daily-limits` before bulk scheduling. Failed and deleted posts still count against the monthly quota - A person must complete each network's OAuth consent in a browser. Keep prepaid credit for X, where a post costs $0.015 or $0.20 with a link ## When it's done Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.
What we couldn't check
- unchecked: bundle.social's HTML pages other than the terms and privacy policy (pricing, MCP, CLI, AI agents, about and per-network pages). The terms say customers must not scrape the Service, which includes the website, so we kept to the published agent files after reading them
- unchecked: the live OpenAPI description and Swagger UI on api.bundle.social, whose robots.txt disallows every path. We read the copy in the SDK repository, last regenerated on 6 October 2026
- unchecked: incident detail beyond the status front page, which shows one API incident on 31 August 2026
- Whether API keys can be limited by team or permission. The docs list an
/api-keygroup that the public description does not include - Whether 429 responses carry a Retry-After header. None is described
- Whether the CI on the three repositories passes. Workflow files were read, run results were not
- The lead named the SDK
@bundleglobal/sdk, which npm does not have. The package isbundlesocial - llms.txt, llms-full.txt and pricing.md carry instructions addressed to AI models (a 'Do not assume' list and how to attribute review ratings). We treated them as data
Sources 23
- llms.txt bundle.social · seen 2026-10-09
- llms-full.txt bundle.social · seen 2026-10-09
- pricing, quotas and X rates bundle.social · seen 2026-10-09
- terms of service bundle.social · seen 2026-10-09
- privacy policy bundle.social · seen 2026-10-09
- security.txt bundle.social · seen 2026-10-09
- API catalogue bundle.social · seen 2026-10-09
- status page bundlesocial.betteruptime.com · seen 2026-10-09
- docs index info.bundle.social · seen 2026-10-09
- rate limits info.bundle.social · seen 2026-10-09
- errors info.bundle.social · seen 2026-10-09
- MCP server docs info.bundle.social · seen 2026-10-09
- CLI docs info.bundle.social · seen 2026-10-09
- webhooks info.bundle.social · seen 2026-10-09
- data retention info.bundle.social · seen 2026-10-09
- changelog info.bundle.social · seen 2026-10-09
- security policy info.bundle.social · seen 2026-10-09
- SDK source, OpenAPI copy, tags and CI github.com · seen 2026-10-09
- MCP server source and tool definitions github.com · seen 2026-10-09
- CLI source and skill file github.com · seen 2026-10-09
- npm weekly downloads api.npmjs.org · seen 2026-10-09
- official MCP registry search registry.modelcontextprotocol.io · seen 2026-10-09
- domain registration rdap.org · seen 2026-10-09
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Freemium $100 / mo Free plan at $0 with 20 posts a month, three teams and API access, no payment details needed. Pro is $100 a month for 10,000 posts and Business $400 for 100,000, both with unlimited connected accounts. Enterprise is quoted. X actions are charged from prepaid credit at X's rates (https://bundle.social/pricing.md).
Prices
| Item | Price | Unit | Note |
|---|---|---|---|
| Pro plan | $100 | per month (plan) | 10,000 posts a month, unlimited connected accounts |
| Business plan | $400 | per month (plan) | 100,000 posts a month |
| X post | $0.015 | per transaction | X's charge passed through, from prepaid credit |
| X post with a link | $0.20 | per transaction | X's charge passed through |
Compared across listings on the price index.
Recent changes
- Latest release
Follow them as a feed at /feeds/tools/bundle-social.xml, or this listing's score history at history.json.
Connect
Install
npm install bundlesocial
First request
curl "https://api.bundle.social/api/v1/team" -H "x-api-key: $BUNDLE_SOCIAL_API_KEY"
Claude Code
claude mcp add bundlesocial --env BUNDLESOCIAL_API_KEY=sk_live_... -- npx -y bundlesocial-mcp
MCP client configuration
{
"mcpServers": {
"bundlesocial": {
"args": [
"-y",
"bundlesocial-mcp"
],
"command": "npx",
"env": {
"BUNDLESOCIAL_API_KEY": "sk_live_..."
}
}
}
}
Through letme picks today, calling later
GET https://letme.dev/bundle-social
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.
Alternatives to bundle.social
#3 of 15 in Best social media posting and scheduling APIs for AI agents · All 103 social comparisons
Zernio (formerly Late) API + MCP BUpload-Post API + MCP CAyrshare API + MCP CBlotato DOneUp API + MCP FPostiz API + MCP C
Head to head Ayrshare API + MCP vs bundle.social · Blotato vs bundle.social · Buffer API + MCP vs bundle.social · bundle.social vs Zernio (formerly Late) API + MCP · bundle.social vs Metricool API + MCP · bundle.social vs Mixpost API + MCP · bundle.social vs OneUp API + MCP · bundle.social vs Post Bridge API + MCP · bundle.social vs Postiz API + MCP · bundle.social vs Publer API + MCP · bundle.social vs Typefully · bundle.social vs Upload-Post API + MCP · bundle.social vs Sprout Social API · bundle.social vs X MCP
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| Zernio (formerly Late) API + MCP Zernio | B | 67.5 | social.post social.schedule social.analytics social.comments social.media-upload | no |
| Upload-Post API + MCP Upload-Post | C | 58.7 | social.post social.schedule social.analytics social.comments social.media-upload | no |
| Ayrshare API + MCP Ayrshare | C | 57.2 | social.post social.schedule social.analytics social.comments social.media-upload | no |
| Blotato Blotato Inc. | D | 46.1 | social.post social.schedule social.analytics social.comments social.media-upload | no |
| OneUp API + MCP OneUp | F | 24.4 | social.post social.schedule social.analytics social.comments social.media-upload | no |
| Postiz API + MCP Postiz (Gitroom) | C | 59.3 | social.post social.schedule social.analytics social.media-upload | no |
Machine-readable
- JSON
/api/v1/tools/bundle-social.json· historyhistory.json· badge/badges/bundle-social.svg· changes feed/feeds/tools/bundle-social.xml - Markdown
/tools/bundle-social.md· slim/tools/bundle-social.min.md(or sendAccept: text/markdown) - Fix list
/fixes/bundle-social.md·/fixes/bundle-social.json - From a terminal
anchor tool bundle-social --md(the CLI) · over MCPget_tool {"slug": "bundle-social"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/bundle-social"><img src="https://www.anchorterminal.com/badges/bundle-social.svg" alt="bundle.social on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/bundle-social)<a href="https://www.anchorterminal.com/tools/bundle-social">bundle.social on Anchor Terminal</a>It counts on a page on bundle.social or one of its subdomains, or the README of github.com/bundleglobal/bundlesocial-node.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "bundle-social", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check. To announce the listing, get sharing assets for social media.


