Social media tool picker API
Tick what you need and see which social media management tools match, which needs each one misses and what its public docs do not say. Every result links to its full comparison and shows when we last checked it. No signup.
- Endpoint:
POST https://postboost.co/app/api/tools/social-media-tool-picker(operationIdpickSocialMediaTool) - Web tool: postboost.co/tools/social-media-tool-picker
- Token: optional (limits)
- MCP: tool
pick-social-media-toolonhttps://postboost.co/mcp/tools
Request
| Field | Type | Default | Description |
|---|---|---|---|
needs | array of string | What you need: team_dashboard (Scheduling dashboard for a team), rest_openapi (REST API with a published OpenAPI spec), sdks (At least one official SDK), mcp (MCP server for AI agents), webhooks (Webhooks), free_tier (Free hosted plan), zapier (Native Zapier app), n8n (Native n8n node), make (Native Make app). Required unless use_case is set. | |
use_case | string: team_scheduling, build_app, ai_agent | A shortcut used when needs is left out: team_scheduling (team_dashboard, free_tier), build_app (rest_openapi, sdks, webhooks), ai_agent (mcp, rest_openapi). |
Call it
- curl
- Python
- Node.js
- PHP
- Go
- Ruby
- Java
- C#
- Rust
- CLI
curl -X POST https://postboost.co/app/api/tools/social-media-tool-picker \
-H 'Content-Type: application/json' \
-d '{"needs":["rest_openapi","mcp","webhooks","free_tier"]}'
from postboost import ApiClient, Configuration
from postboost.api.free_tools_api import FreeToolsApi
from postboost.models import FreeToolPickSocialMediaToolRequest
with ApiClient(Configuration()) as client:
api = FreeToolsApi(client)
result = api.pick_social_media_tool(FreeToolPickSocialMediaToolRequest.from_dict({"needs": ["rest_openapi", "mcp", "webhooks", "free_tier"]}))
print(result.to_dict())
import { FreeToolsApi } from 'postboost';
const api = new FreeToolsApi();
const { body } = await api.pickSocialMediaTool({ needs: ["rest_openapi", "mcp", "webhooks", "free_tier"] });
console.log(body);
use PostBoostClient\Api\FreeToolsApi;
use PostBoostClient\Model\FreeToolPickSocialMediaToolRequest;
$api = new FreeToolsApi(new GuzzleHttp\Client());
$result = $api->pickSocialMediaTool(new FreeToolPickSocialMediaToolRequest(['needs' => ["rest_openapi", "mcp", "webhooks", "free_tier"]]));
echo $result;
import (
"context"
"encoding/json"
"fmt"
postboost "github.com/postboost-co/postboost-go"
)
var request postboost.FreeToolPickSocialMediaToolRequest
if err := json.Unmarshal([]byte(`{"needs":["rest_openapi","mcp","webhooks","free_tier"]}`), &request); err != nil {
panic(err)
}
client := postboost.NewAPIClient(postboost.NewConfiguration())
result, _, err := client.FreeToolsAPI.PickSocialMediaTool(context.Background()).FreeToolPickSocialMediaToolRequest(request).Execute()
fmt.Println(result, err)
require 'postboost'
api = PostBoost::FreeToolsApi.new
result = api.pick_social_media_tool(PostBoost::FreeToolPickSocialMediaToolRequest.new({ needs: ["rest_openapi", "mcp", "webhooks", "free_tier"] }))
puts result.to_hash
import com.postboost.ApiClient;
import com.postboost.api.FreeToolsApi;
import com.postboost.model.FreeToolPickSocialMediaToolRequest;
import com.postboost.model.FreeToolPickSocialMediaToolResponse;
FreeToolsApi api = new FreeToolsApi(new ApiClient());
FreeToolPickSocialMediaToolRequest request = FreeToolPickSocialMediaToolRequest.fromJson("{\"needs\":[\"rest_openapi\",\"mcp\",\"webhooks\",\"free_tier\"]}");
FreeToolPickSocialMediaToolResponse result = api.pickSocialMediaTool(request);
System.out.println(result.toJson());
using Newtonsoft.Json;
using PostBoost.Client.Api;
using PostBoost.Client.Client;
using PostBoost.Client.Model;
var api = new FreeToolsApi(new Configuration());
var request = JsonConvert.DeserializeObject<FreeToolPickSocialMediaToolRequest>(@"{""needs"":[""rest_openapi"",""mcp"",""webhooks"",""free_tier""]}");
var result = await api.PickSocialMediaToolAsync(request);
Console.WriteLine(result.ToJson());
use postboost::apis::configuration::Configuration;
use postboost::apis::free_tools_api;
use postboost::models::FreeToolPickSocialMediaToolRequest;
let config = Configuration::new();
let request: FreeToolPickSocialMediaToolRequest = serde_json::from_str(r##"{"needs":["rest_openapi","mcp","webhooks","free_tier"]}"##)?;
let result = free_tools_api::pick_social_media_tool(&config, request).await?;
println!("{:?}", result);
echo '{"needs":["rest_openapi","mcp","webhooks","free_tier"]}' | ./postboost-cli --content-type application/json pickSocialMediaTool -
With a token, send Authorization: Bearer YOUR_API_TOKEN as a default header (how, per SDK).
Response
{
"needs": [
"rest_openapi",
"mcp",
"webhooks",
"free_tier"
],
"results": [
{
"slug": "postboost",
"name": "PostBoost",
"score": 4,
"matched": [
"rest_openapi",
"mcp",
"webhooks",
"free_tier"
],
"missing": [],
"unknown": [],
"compare_url": null,
"checked_at": "2026-10-11",
"pick_if": null,
"postboost_if": null
},
{
"slug": "zernio",
"name": "Zernio",
"score": 4,
"matched": [
"rest_openapi",
"mcp",
"webhooks",
"free_tier"
],
"missing": [],
"unknown": [],
"compare_url": "/compare/zernio",
"checked_at": "2026-10-11",
"pick_if": "You need ad networks or messaging channels, idempotency keys, or account counts that swing up and down.",
"postboost_if": "You want flat monthly pricing, a team dashboard with approvals, and SSO without an enterprise contract."
},
{
"slug": "ayrshare",
"name": "Ayrshare",
"score": 2,
"matched": [
"mcp",
"webhooks"
],
"missing": [
"rest_openapi",
"free_tier"
],
"unknown": [],
"compare_url": "/compare/ayrshare",
"checked_at": "2026-10-11",
"pick_if": "You build a SaaS that posts on behalf of many end users and need Snapchat, WhatsApp or Telegram today.",
"postboost_if": "You want the API from $0 instead of $149, more SDKs, an OpenAPI spec and a full team dashboard."
},
{
"slug": "blotato",
"name": "Blotato",
"score": 2,
"matched": [
"rest_openapi",
"mcp"
],
"missing": [
"free_tier"
],
"unknown": [
"webhooks"
],
"compare_url": "/compare/blotato",
"checked_at": "2026-10-11",
"pick_if": "You want AI video and viral-content tooling plus ready-made n8n templates.",
"postboost_if": "You want to test the API and MCP for free, use an SDK, or need more channels (including Telegram, Discord and Slack) and team approvals."
},
{
"slug": "buffer",
"name": "Buffer",
"score": 2,
"matched": [
"mcp",
"free_tier"
],
"missing": [
"rest_openapi"
],
"unknown": [
"webhooks"
],
"compare_url": "/compare/buffer",
"checked_at": "2026-10-11",
"pick_if": "You want the simplest scheduler, a community inbox on every plan, or Substack.",
"postboost_if": "You want a REST API with an OpenAPI spec, SDKs in nine languages, webhooks, and no monthly request caps."
},
{
"slug": "postiz",
"name": "Postiz",
"score": 2,
"matched": [
"mcp",
"webhooks"
],
"missing": [
"free_tier"
],
"unknown": [
"rest_openapi"
],
"compare_url": "/compare/postiz",
"checked_at": "2026-10-11",
"pick_if": "You want to self-host open source, or need channels such as Telegram, Discord or Slack.",
"postboost_if": "You want 10 accounts at $29 instead of 5, SDKs in nine languages, and approvals, 2FA and SSO on the $29–49 plans."
},
{
"slug": "upload-post",
"name": "Upload-Post",
"score": 2,
"matched": [
"mcp",
"free_tier"
],
"missing": [],
"unknown": [
"rest_openapi",
"webhooks"
],
"compare_url": "/compare/upload-post",
"checked_at": "2026-10-11",
"pick_if": "You post to blogs, Discord or Telegram as well as social networks, or need a Zapier app.",
"postboost_if": "You want unlimited scheduled posts on paid plans, webhooks, an OpenAPI spec and a team dashboard."
},
{
"slug": "publer",
"name": "Publer",
"score": 1,
"matched": [
"mcp"
],
"missing": [],
"unknown": [
"rest_openapi",
"webhooks",
"free_tier"
],
"compare_url": "/compare/publer",
"checked_at": "2026-10-16",
"pick_if": "You already run your calendar in Publer and your team is on the Business plan.",
"postboost_if": "You want the REST API, webhooks and an MCP server on every plan, including Free, with no per-call fees."
},
{
"slug": "socialbee",
"name": "SocialBee",
"score": 0,
"matched": [],
"missing": [
"rest_openapi",
"mcp",
"free_tier"
],
"unknown": [
"webhooks"
],
"compare_url": "/compare/socialbee",
"checked_at": "2026-10-14",
"pick_if": "You plan by content categories and connect other apps only through Zapier, Make or Pabbly.",
"postboost_if": "You want 10 / 30 accounts at $29 / $49 instead of 5 / 10, plus a REST API, webhooks and MCP on every plan."
}
],
"checked_at": "2026-10-11",
"checked_label": "October 2026"
}
With MCP
Connect https://postboost.co/mcp/tools (setup) and ask, for example: Match your needs against social media management tools and see what each one misses with the PostBoost pick-social-media-tool tool.
Errors
| Status | When |
|---|---|
401 | The Authorization header holds an invalid token. Leave it out to call as a guest. |
413 | The JSON body is larger than 128 KB. |
422 | A field is invalid; the body lists the errors per field. |
429 | A limit is reached; see limits. |