LinkedIn API post: characters to escape

    Why part of a LinkedIn post vanishes through the API: parentheses, brackets, asterisks and the at sign are markup in little text. What to escape.

    Updated · 2 min read · Prices and limits checked against the vendors' own pages and APIs on that date.

    A LinkedIn post that is created through the API is written in what LinkedIn calls little text, and in that format some characters are markup: parentheses, brackets, asterisks, underscores, tildes, pipes, the at sign and a few more. An unescaped one makes LinkedIn reject the post or silently drop part of it. The usual symptom is a sentence that goes missing after a stray bracket. This page explains the rule, what has to be escaped and how a tool handles it, so your text arrives as you wrote it.

    Why this happens

    LinkedIn's post text field does not take plain text. It reads some characters as instructions, for mentions and hashtags and formatting, so a character that is meant literally has to be marked as literal. In the browser you never see this, because the editor does it for you. A script or a tool that sends text straight to the API has to do it itself.

    What to look for

    In your textWhat can go wrong
    Parentheses and bracketsThe text between them can disappear
    Asterisks, underscores, tildesRead as formatting marks
    PipesRead as part of a markup structure
    The at signRead as a mention, so a typed @name is not a link to the person
    HashtagsStay clickable only when written in LinkedIn's own form

    What a tool must do

    1. Escape every markup character that is meant as text.
    2. Write hashtags in LinkedIn's form so that they stay clickable.
    3. Count the limit of 3,000 characters on the text you send, since the escapes are part of it.
    4. Treat an @mention honestly: a mention that is typed in the text is not turned into a link to a person.

    Preflight does the first two for you, and the composer counts the 3,000 characters while you type. If you write your own integration, test a post that contains each of these characters before you trust it.

    How to check a draft

    Paste it into the LinkedIn character counter to see how many of the 3,000 characters it uses and where the feed folds it. The rest of what a post can hold, such as 20 pictures, one video, a document or a poll, is on the LinkedIn limits page and in scheduling to LinkedIn. The native scheduling window is in scheduling LinkedIn posts.

    Profile or Page

    Preflight posts to personal profiles today. LinkedIn's Company Pages need a reviewed product, the Community Management API, so a Page is a separate question described on the LinkedIn scheduling page.

    Based on the LinkedIn scheduling page of this site and LinkedIn's post text format, checked 2 November 2026.

    Questions people ask

    Why does part of my LinkedIn post disappear when I post through the API?
    LinkedIn treats characters such as parentheses and brackets as markup. An unescaped one can make LinkedIn drop text or reject the post, so the characters have to be escaped.
    Which characters need escaping in a LinkedIn API post?
    Parentheses, brackets, asterisks, underscores, tildes, pipes, the at sign and a few more are read as markup and have to be escaped when meant literally.
    Why is my @mention not a link on LinkedIn?
    An @mention typed into the text is published as plain text. A real mention needs LinkedIn's own mention markup with the person's identifier.
    How long can a LinkedIn post be?
    3,000 characters, counted on the text that is sent, including escapes.

    Write it once. Let the rules be our problem.

    Preflight checks every post against each network's rules before it leaves, then publishes it to twelve networks. Free plan, no card.