LinkedIn Content & Publishing
Create and publish LinkedIn posts, engage with comments and reactions, and manage your content strategy programmatically, all through your AI assistant or API.
Post this to my LinkedIn tomorrow at 9am UTC: a short take on why GTM teams are adopting AI agents, and attach the link to our blog.
{
"post_id": "urn:li:activity:7012345678901234567",
"status": "scheduled",
"scheduled_at": "2026-03-10T09:00:00Z"
}Show me my top 5 posts by engagement rate from the last 30 days
[
{
"post_id": "urn:li:activity:7012345678901234567",
"text": "The biggest GTM mistake I see...",
"engagement_rate": 0.072,
"impressions": 14820
}
]Show me the content and engagement stats for post urn:li:activity:7012345678901234567
{
"post_id": "urn:li:activity:7012345678901234567",
"author": "Jane Smith",
"text": "AI agents are reshaping how GTM teams work...",
"reactions": 184,
"comments": 27
}13 Tools for Content & Publishing
Each tool is available as an MCP tool for AI agents or as a REST API endpoint.
Publish LinkedIn Post
Publish a LinkedIn post immediately or schedule it for a future time, as your personal profile or a company page you administer. Supports up to 3000 characters with image and document attachments, @-mentions, and link preview cards. A built-in safety limit of 10 posts per day protects your account, and scheduled times in the past are rejected.
create_post
List LinkedIn Posts
List LinkedIn posts in two modes: recent posts in chronological order for a given profile or company, or your own top posts ranked by a chosen engagement metric. Recent mode requires an identifier (provider ID, slug, or URL), while top mode ranks your posts by impressions, reactions, comments, reposts, or engagement rate over a lookback window. Returns an empty array when no posts are found.
list_posts
Get LinkedIn Post
Retrieve a single LinkedIn post by its activity ID and read back its full content, author, and engagement metrics. Use it to inspect a specific post before reacting, commenting, or analyzing performance. If the post was deleted or the ID is invalid, the call returns a not-found error.
get_post
Comment on LinkedIn Post
Comment on a LinkedIn post with up to 1250 characters, either as a top-level comment or as a reply to a specific comment using a parent comment ID. A safety limit of 100 comments per day keeps your engagement looking natural. The call fails if the post ID is invalid or the post was deleted.
comment_on_post
React to LinkedIn Post
React to a LinkedIn post with one of six reaction types: like, celebrate, support, love, insightful, or funny. Reacting again simply overwrites your existing reaction without error, so the action is safe to repeat. A safety limit of 100 reactions per day protects your account from looking automated.
react_to_post
List LinkedIn Post Comments
List the comments on a LinkedIn post, returning 1 to 100 at a time sorted by most relevant or most recent. Accepts a post ID, activity URN, or feed URN, and extracts the activity ID automatically. The returned total counts top-level comments only, which is usually lower than the comment count from get_cached_post_analytics since that figure includes nested replies.
list_post_comments
List LinkedIn Post Reactions
List the reactions on a LinkedIn post, returning 1 to 100 at a time with pagination. Accepts a numeric post ID, activity URN, or feed URN and returns each reactor along with their reaction type. Returns an empty array when there are no reactions, and a not-found error if the post ID is invalid.
list_post_reactions
Get Analytics
A single analytics endpoint that returns metrics by time period and dimension, covering campaigns, invitations, messages, posts, reactions, comments, profile, and content. The post, profile, and content dimensions use live sub-handlers, while aggregate dimensions like posts and campaigns serve a nightly cache that is 1 to 23 hours old. Use dimension='post' with an id for per-post metrics, or refresh to force a recompute. Returns empty slices when no data exists yet.
get_analytics
Get Writing Style
Returns your personalized writing style guides for messaging, posting, and commenting, covering tone, structure, and phrasing. These are generated once when your account connects and can be edited via set_writing_style. When analysis has not yet run, the status comes back 'not_found' and no styles are returned until it does.
get_writing_style
Set Writing Style Examples
Provide 1 to 3 LinkedIn profiles whose posting style you want to match, identified by provider_id, slug, or full URL. Crispy analyzes their tone, structure, and patterns and returns 'processing' immediately, so check get_writing_style after a minute or two. The call fails with 'invalid' if you pass fewer than one or more than three profiles.
set_style_examples
Get Comment Status
See the unanswered comments on your LinkedIn posts, ranked by value, reading straight from synced cache with zero live API calls (1 to 100, default 20). Each item returns the comment_id, author, headline, and reaction count, and you can filter to a single post or by comment type such as question, praise, or engagement. By default it excludes low-signal access-request comments so you focus on genuine conversation. Returns an empty list when every comment is already answered.
get_comment_status
Batch Reply to LinkedIn Comments
Reply to multiple LinkedIn comments in a single call, up to 20 at a time with each reply capped at 1250 characters. Any replies that would exceed the 100-per-day engagement limit are automatically skipped. Use get_comment_status first to find the unanswered comments worth replying to.
batch_reply_comments
Get Comment Reach
Analyze the reach and return on your commenting activity over a chosen window (default 30 days), including which posts you commented on, impression correlation, and a daily breakdown. This helps quantify whether time spent commenting is actually driving visibility. Returns empty results when no comment activity is cached for the selected period.
get_comment_reach
Use Cases
Here's how teams use Crispy's content & publishing tools in their day-to-day workflows.
AI-powered content creation
Have your AI agent draft posts based on your expertise, schedule them, and adapt tone based on what performs best.
Example prompt
“Write a LinkedIn post about our new product launch, using the tone of my top-performing posts”
Engagement automation
Automatically engage with posts from prospects, partners, and industry leaders to build visibility before outreach.
Example prompt
“Find and engage with the latest 5 posts from people in my saved leads list”
Content performance analysis
Track which posts drive the most engagement and leads. Use insights to refine your content strategy.
Example prompt
“Analyze my last 20 posts and tell me which topics and formats get the most engagement”
Comment management
Monitor and respond to comments on your posts. Keep conversations going to boost algorithmic reach.
Example prompt
“Check comments on my latest post and draft thoughtful replies to each one”
Write in your voice automatically
Crispy learns your posting style from your past LinkedIn content. Set influencer profiles as style examples if you're just getting started. Every draft matches your authentic voice.
Example prompt
“Use Justin Welsh and Sahil Bloom's posting styles as examples, then draft a post about remote work”
Get started in 3 steps
Sign up
Create your Crispy account. No credit card required for the first setup.
Connect LinkedIn
Link your LinkedIn account from the dashboard. Takes 30 seconds.
Start using
Add Crispy to Claude, Cursor, or any MCP client, or call the REST API directly.
$49/seat/mo. Everything included.
No API call limits. Every tool included. Cancel anytime.
View pricingFrequently Asked Questions
Can I schedule posts for later?
Yes. Your AI agent can publish posts immediately or schedule them. Combine with a cron job or workflow tool for a full editorial calendar.
Does Crispy support image and document posts?
Currently Crispy supports text posts and link posts. Image and document attachment support is on the roadmap.
Can I manage multiple LinkedIn accounts' content?
Yes. Crispy supports multiple connected LinkedIn profiles. Your AI agent can switch between accounts to manage content for your whole team.
How does engagement automation work safely?
Crispy provides the tools; your AI agent decides the strategy. We recommend human-reviewed engagement and gradual activity ramp-up to stay within LinkedIn's guidelines.
Can I repurpose content across accounts?
Your AI agent can pull top-performing posts and adapt them for different profiles, audiences, or formats, all programmatically.
The complete LinkedIn API. Ready when you are.
Connect your first LinkedIn profile in under 5 minutes. Every tool, every seat, no feature gates. Safe limits, warm-up, and full permission control built in.