# Text Posts

Simple yet powerful status updates without media attachments. Text posts are widely supported, versatile, and often drive high engagement.

### Overview

Text posts (status updates) let you share plain-text messages across all major social networks. With the Publer API you can:

* Publish or schedule text updates simultaneously to multiple platforms
* Customize each network’s copy to match character limits and conventions
* Leverage network-specific features: hashtags, mentions, rich formatting

### Key Features

* **Cross-Platform Publishing**\
  Send consistent or tailored copy to every network in one API call.
* **Character Limit Handling**\
  Automatic enforcement of each platform’s text length.
* **Rich Text Support**\
  Use hashtags, emojis, and markdown styling where supported.
* **Flexible Scheduling**\
  Instant publish, scheduled posts, or auto-optimized time slots.

### Platform Support & Limitations

<table data-header-hidden><thead><tr><th width="146.26812744140625"></th><th width="157.385498046875"></th><th></th></tr></thead><tbody><tr><td><strong>Network</strong></td><td><strong>Character Limit</strong></td><td><strong>Notes</strong></td></tr><tr><td>Facebook</td><td>10,000</td><td>Full text supported with formatting</td></tr><tr><td>Twitter/X</td><td>280</td><td>25,000 for premium accounts</td></tr><tr><td>LinkedIn</td><td>3,000</td><td>Supports formatting like bold, italic</td></tr><tr><td>Instagram</td><td>2,200</td><td>For feed post captions</td></tr><tr><td>Google Business</td><td>1,500</td><td>For business updates</td></tr><tr><td>Pinterest</td><td>500</td><td>For pin descriptions</td></tr><tr><td>Telegram</td><td>4,096</td><td>Per message</td></tr><tr><td>Mastodon</td><td>500+</td><td>Varies by server (usually 500 minimum)</td></tr><tr><td>Threads</td><td>500</td><td>Maximum length</td></tr><tr><td>Bluesky</td><td>300</td><td>Maximum length</td></tr></tbody></table>

### Request Structure

Below is an example showing a text post scheduled for multiple platforms:

```json
{
  "bulk": {
    "state": "scheduled",
    "posts": [
      {
        "networks": {
          "facebook": {
            "type": "status",
            "text": "Exciting news! We're launching our new product line next week. #NewLaunch #ProductAnnouncement"
          },
          "twitter": {
            "type": "status",
            "text": "Big announcement coming next week! Our new product line is almost here 🚀 #NewLaunch #ProductAnnouncement"
          },
          "linkedin": {
            "type": "status", 
            "text": "We're thrilled to announce our new product line launching next week. Stay tuned for more details! #NewLaunch #ProductAnnouncement"
          }
        },
        "accounts": [
          {
            "id": "account_id_for_facebook",
            "scheduled_at": "2025-05-20T14:30:00Z" // Optional, depending on publishing method
          },
          {
            "id": "account_id_for_twitter",
            "scheduled_at": "2025-05-20T15:00:00Z" // Optional, depending on publishing method
          },
          {
            "id": "account_id_for_linkedin",
            "scheduled_at": "2025-05-20T16:00:00Z" // Optional, depending on publishing method
          }
        ]
      }
    ]
  }
}
```

### Required Parameters

<table><thead><tr><th width="281.76287841796875">Field</th><th>Description</th></tr></thead><tbody><tr><td><code>networks.{provider}.type</code></td><td>Must be set to <code>"status"</code></td></tr><tr><td><code>networks.{provider}.text</code></td><td>Your post copy string</td></tr><tr><td><code>accounts[].id</code></td><td>Target social account ID</td></tr><tr><td><code>accounts[].scheduled_at</code></td><td>ISO 8601 timestamp (for scheduling)</td></tr></tbody></table>

### Best Practices

* **Optimize per Platform**\
  Tailor messaging length and tone: concise on Twitter, detailed on LinkedIn.
* **Use Hashtags Strategically**\
  Add relevant tags to boost discoverability; match platform conventions.
* **Schedule for Peak Times**\
  Publish when your audience is most active across time zones.
* **Include Clear CTAs**\
  Encourage engagement with direct calls-to-action.
* **A/B Test Variations**\
  Schedule multiple text variants to measure which resonates best.

### Related Topics

* [Publishing Methods](/docs/posting/create-posts/publishing-methods.md)
* [Media Handling](/docs/posting/create-posts/media-handling.md)
* [Content Types](/docs/posting/create-posts/content-types.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://publer.com/docs/posting/create-posts/content-types/text-posts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
