LinkedIn post formatter API
LinkedIn has no bold or italic button for posts. Select words, pick a style and copy a post with bold and italic text, clean lists and kept line breaks, and see roughly where the feed cuts it with see more.
- Endpoint:
POST https://postboost.co/app/api/tools/linkedin-post-formatter(operationIdformatLinkedInPost) - Web tool: postboost.co/tools/linkedin-post-formatter
- Token: optional (limits)
- MCP: tool
format-linked-in-postonhttps://postboost.co/mcp/tools
Request
| Field | Type | Default | Description |
|---|---|---|---|
text | string | ||
style | string: bold, italic, bold_italic, sans_bold, sans_italic, script, bold_script, fraktur, double_struck, monospace, small_caps, circled, squared, upside_down, strikethrough | Unicode style for the whole text, e.g. bold. | |
list | string: bullet, numbered | Prefix every non-empty line with "• " or "1. ", "2. " (plain digits). |
Call it
- curl
- Python
- Node.js
- PHP
- Go
- Ruby
- Java
- C#
- Rust
- CLI
curl -X POST https://postboost.co/app/api/tools/linkedin-post-formatter \
-H 'Content-Type: application/json' \
-d '{"text":"Three tips\nPlan ahead\nReuse posts","list":"numbered"}'
from postboost import ApiClient, Configuration
from postboost.api.free_tools_api import FreeToolsApi
from postboost.models import FreeToolFormatLinkedInPostRequest
with ApiClient(Configuration()) as client:
api = FreeToolsApi(client)
result = api.format_linked_in_post(FreeToolFormatLinkedInPostRequest.from_dict({"text": "Three tips\nPlan ahead\nReuse posts", "list": "numbered"}))
print(result.to_dict())
import { FreeToolsApi } from 'postboost';
const api = new FreeToolsApi();
const { body } = await api.formatLinkedInPost({ text: "Three tips\nPlan ahead\nReuse posts", list: "numbered" });
console.log(body);
use PostBoostClient\Api\FreeToolsApi;
use PostBoostClient\Model\FreeToolFormatLinkedInPostRequest;
$api = new FreeToolsApi(new GuzzleHttp\Client());
$result = $api->formatLinkedInPost(new FreeToolFormatLinkedInPostRequest(['text' => "Three tips\nPlan ahead\nReuse posts", 'list' => "numbered"]));
echo $result;
import (
"context"
"encoding/json"
"fmt"
postboost "github.com/postboost-co/postboost-go"
)
var request postboost.FreeToolFormatLinkedInPostRequest
if err := json.Unmarshal([]byte(`{"text":"Three tips\nPlan ahead\nReuse posts","list":"numbered"}`), &request); err != nil {
panic(err)
}
client := postboost.NewAPIClient(postboost.NewConfiguration())
result, _, err := client.FreeToolsAPI.FormatLinkedInPost(context.Background()).FreeToolFormatLinkedInPostRequest(request).Execute()
fmt.Println(result, err)
require 'postboost'
api = PostBoost::FreeToolsApi.new
result = api.format_linked_in_post(PostBoost::FreeToolFormatLinkedInPostRequest.new({ text: "Three tips\nPlan ahead\nReuse posts", list: "numbered" }))
puts result.to_hash
import com.postboost.ApiClient;
import com.postboost.api.FreeToolsApi;
import com.postboost.model.FreeToolFormatLinkedInPostRequest;
import com.postboost.model.FreeToolFormatLinkedInPostResponse;
FreeToolsApi api = new FreeToolsApi(new ApiClient());
FreeToolFormatLinkedInPostRequest request = FreeToolFormatLinkedInPostRequest.fromJson("{\"text\":\"Three tips\\nPlan ahead\\nReuse posts\",\"list\":\"numbered\"}");
FreeToolFormatLinkedInPostResponse result = api.formatLinkedInPost(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<FreeToolFormatLinkedInPostRequest>(@"{""text"":""Three tips\nPlan ahead\nReuse posts"",""list"":""numbered""}");
var result = await api.FormatLinkedInPostAsync(request);
Console.WriteLine(result.ToJson());
use postboost::apis::configuration::Configuration;
use postboost::apis::free_tools_api;
use postboost::models::FreeToolFormatLinkedInPostRequest;
let config = Configuration::new();
let request: FreeToolFormatLinkedInPostRequest = serde_json::from_str(r##"{"text":"Three tips\nPlan ahead\nReuse posts","list":"numbered"}"##)?;
let result = free_tools_api::format_linked_in_post(&config, request).await?;
println!("{:?}", result);
echo '{"text":"Three tips\nPlan ahead\nReuse posts","list":"numbered"}' | ./postboost-cli --content-type application/json formatLinkedInPost -
With a token, send Authorization: Bearer YOUR_API_TOKEN as a default header (how, per SDK).
Response
{
"text": "1. Three tips\n2. Plan ahead\n3. Reuse posts",
"count": 42,
"limit": 3000,
"preview": "1. Three tips\n2. Plan ahead\n3. Reuse posts",
"folded": false
}
With MCP
Connect https://postboost.co/mcp/tools (setup) and ask, for example: Format a LinkedIn post with bold, italic and lists with the PostBoost format-linked-in-post 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. |