Posting frequency planner API
Pick your networks and how many posts your team can make in a week. See how often the sources recommend posting on each network, how to split your posts and a weekly grid.
- Endpoint:
POST https://postboost.co/app/api/tools/posting-frequency-planner(operationIdplanPostingFrequency) - Web tool: postboost.co/tools/posting-frequency-planner
- Token: optional (limits)
- MCP: tool
plan-posting-frequencyonhttps://postboost.co/mcp/tools
Request
| Field | Type | Default | Description |
|---|---|---|---|
networks | array of string | The networks you post on. Bluesky and Mastodon are not offered: no published frequency we could verify. | |
posts_per_week_capacity | integer | How many posts your team can make in a week, across all networks. |
Call it
- curl
- Python
- Node.js
- PHP
- Go
- Ruby
- Java
- C#
- Rust
- CLI
curl -X POST https://postboost.co/app/api/tools/posting-frequency-planner \
-H 'Content-Type: application/json' \
-d '{"networks":["instagram","linkedin","tiktok"],"posts_per_week_capacity":12}'
from postboost import ApiClient, Configuration
from postboost.api.free_tools_api import FreeToolsApi
from postboost.models import FreeToolPlanPostingFrequencyRequest
with ApiClient(Configuration()) as client:
api = FreeToolsApi(client)
result = api.plan_posting_frequency(FreeToolPlanPostingFrequencyRequest.from_dict({"networks": ["instagram", "linkedin", "tiktok"], "posts_per_week_capacity": 12}))
print(result.to_dict())
import { FreeToolsApi } from 'postboost';
const api = new FreeToolsApi();
const { body } = await api.planPostingFrequency({ networks: ["instagram", "linkedin", "tiktok"], postsPerWeekCapacity: 12 });
console.log(body);
use PostBoostClient\Api\FreeToolsApi;
use PostBoostClient\Model\FreeToolPlanPostingFrequencyRequest;
$api = new FreeToolsApi(new GuzzleHttp\Client());
$result = $api->planPostingFrequency(new FreeToolPlanPostingFrequencyRequest(['networks' => ["instagram", "linkedin", "tiktok"], 'posts_per_week_capacity' => 12]));
echo $result;
import (
"context"
"encoding/json"
"fmt"
postboost "github.com/postboost-co/postboost-go"
)
var request postboost.FreeToolPlanPostingFrequencyRequest
if err := json.Unmarshal([]byte(`{"networks":["instagram","linkedin","tiktok"],"posts_per_week_capacity":12}`), &request); err != nil {
panic(err)
}
client := postboost.NewAPIClient(postboost.NewConfiguration())
result, _, err := client.FreeToolsAPI.PlanPostingFrequency(context.Background()).FreeToolPlanPostingFrequencyRequest(request).Execute()
fmt.Println(result, err)
require 'postboost'
api = PostBoost::FreeToolsApi.new
result = api.plan_posting_frequency(PostBoost::FreeToolPlanPostingFrequencyRequest.new({ networks: ["instagram", "linkedin", "tiktok"], posts_per_week_capacity: 12 }))
puts result.to_hash
import com.postboost.ApiClient;
import com.postboost.api.FreeToolsApi;
import com.postboost.model.FreeToolPlanPostingFrequencyRequest;
import com.postboost.model.FreeToolPlanPostingFrequencyResponse;
FreeToolsApi api = new FreeToolsApi(new ApiClient());
FreeToolPlanPostingFrequencyRequest request = FreeToolPlanPostingFrequencyRequest.fromJson("{\"networks\":[\"instagram\",\"linkedin\",\"tiktok\"],\"posts_per_week_capacity\":12}");
FreeToolPlanPostingFrequencyResponse result = api.planPostingFrequency(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<FreeToolPlanPostingFrequencyRequest>(@"{""networks"":[""instagram"",""linkedin"",""tiktok""],""posts_per_week_capacity"":12}");
var result = await api.PlanPostingFrequencyAsync(request);
Console.WriteLine(result.ToJson());
use postboost::apis::configuration::Configuration;
use postboost::apis::free_tools_api;
use postboost::models::FreeToolPlanPostingFrequencyRequest;
let config = Configuration::new();
let request: FreeToolPlanPostingFrequencyRequest = serde_json::from_str(r##"{"networks":["instagram","linkedin","tiktok"],"posts_per_week_capacity":12}"##)?;
let result = free_tools_api::plan_posting_frequency(&config, request).await?;
println!("{:?}", result);
echo '{"networks":["instagram","linkedin","tiktok"],"posts_per_week_capacity":12}' | ./postboost-cli --content-type application/json planPostingFrequency -
With a token, send Authorization: Bearer YOUR_API_TOKEN as a default header (how, per SDK).
Response
{
"posts_per_week_capacity": 12,
"sum_of_minimums": 7,
"networks": [
{
"network": "instagram",
"label": "Instagram (feed)",
"recommended_per_week": {
"min": 3,
"max": 5
},
"recommended_label": "3-5 per week",
"allocated_per_week": 4,
"fit": "within",
"source_type": "measured",
"sources": [
{
"title": "Buffer, How Often Should You Post on Instagram in 2026? (2.1M posts)",
"url": "https://buffer.com/resources/how-often-to-post-on-instagram/",
"date": "2025-08-13"
}
]
},
{
"network": "linkedin",
"label": "LinkedIn",
"recommended_per_week": {
"min": 2,
"max": 5
},
"recommended_label": "2-5 per week",
"allocated_per_week": 4,
"fit": "within",
"source_type": "measured",
"sources": [
{
"title": "Buffer, How Often Should You Post on LinkedIn in 2026? (2M+ posts)",
"url": "https://buffer.com/resources/how-often-to-post-on-linkedin/",
"date": "2025-08-28"
}
]
},
{
"network": "tiktok",
"label": "TikTok",
"recommended_per_week": {
"min": 2,
"max": 5
},
"recommended_label": "2-5 per week",
"allocated_per_week": 4,
"fit": "within",
"source_type": "measured",
"sources": [
{
"title": "Buffer, How Often Should You Post on TikTok in 2026? (11.4M posts)",
"url": "https://buffer.com/resources/how-often-should-you-post-on-tiktok/",
"date": "2025-10-08"
}
]
}
],
"slots": [
{
"weekday": "Monday",
"network": "instagram",
"label": "Instagram (feed)"
},
{
"weekday": "Monday",
"network": "linkedin",
"label": "LinkedIn"
},
{
"weekday": "Monday",
"network": "tiktok",
"label": "TikTok"
},
{
"weekday": "Tuesday",
"network": "instagram",
"label": "Instagram (feed)"
},
{
"weekday": "Tuesday",
"network": "linkedin",
"label": "LinkedIn"
},
{
"weekday": "Tuesday",
"network": "tiktok",
"label": "TikTok"
},
{
"weekday": "Thursday",
"network": "instagram",
"label": "Instagram (feed)"
},
{
"weekday": "Thursday",
"network": "linkedin",
"label": "LinkedIn"
},
{
"weekday": "Thursday",
"network": "tiktok",
"label": "TikTok"
},
{
"weekday": "Saturday",
"network": "instagram",
"label": "Instagram (feed)"
},
{
"weekday": "Saturday",
"network": "linkedin",
"label": "LinkedIn"
},
{
"weekday": "Saturday",
"network": "tiktok",
"label": "TikTok"
}
],
"warnings": [],
"last_verified": "2026-10-16"
}
With MCP
Connect https://postboost.co/mcp/tools (setup) and ask, for example: Plan how often to post on each network with the PostBoost plan-posting-frequency 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. |