LinkedIn Analytics & Intelligence
Track post performance, profile analytics, audience demographics, and network growth. Every response includes an intelligence block with assessment, insights, and recommended next actions, all computed instantly with zero LLM cost.
Give me last week's analytics across campaigns, invitations, and messages
{
"period": "week",
"dimension": "all",
"invitations": { "sent": 96, "accepted": 31 },
"messages": { "sent": 54, "replies": 12 },
"campaigns": { "active": 3 }
}Show me the impressions and reactions for my post urn:li:activity:7012345678901234567
{
"post_id": "urn:li:activity:7012345678901234567",
"impressions": 4821,
"reactions": 137,
"comments": 24,
"reposts": 9
}Show my top 10 posts from the last month sorted by engagement rate, video only
[
{
"post_id": "urn:li:activity:7012345678901234567",
"content_type": "video",
"impressions": 6120,
"reactions": 198,
"comments": 41,
"reposts": 12,
"engagement_rate": 4.1
}
]11 Tools for Analytics & Intelligence
Each tool is available as an MCP tool for AI agents or as a REST API endpoint.
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 Post Analytics
Retrieve core performance metrics for a single LinkedIn post, including impressions, reactions, comments, and reposts. Pass the post ID or activity URN to get an at-a-glance read on how that post performed. This tool is deprecated and is being replaced by get_analytics with dimension='post', so prefer that path for new work. Fails cleanly if the post was deleted or the ID is invalid.
get_post_analytics
Get Cached Post Analytics
Returns metrics for your recent posts, including impressions, reactions, comments, reposts, and engagement rate, sortable by any of those dimensions and filterable by content type. It serves cached data with a live fallback and returns an empty array when nothing is cached. Note that the comments count reflects LinkedIn's total including replies, so it runs higher than the top-level count from list_post_comments.
get_cached_post_analytics
Get Activity Analytics
Returns a daily activity breakdown over a chosen window (default 7 days), covering invitations sent, messages, and posts. By default only actions taken through Crispy are counted, but you can set tracking_mode to 'all_activity' for full coverage of everything on the account. Returns empty rows for days with no recorded activity, making it easy to spot gaps in outreach cadence.
get_activity_analytics
Get Profile Viewers
Returns the people who recently viewed your LinkedIn profile, from 1 to 100 viewers (default 20), each with a provider_id you can act on. Returns an empty array when there are no viewers or when the account is not Premium, since the full viewer list requires a Premium subscription.
get_profile_viewers
List LinkedIn Connections
List your 1st-degree LinkedIn connections, returning between 1 and 100 per call (default 20) with each result's provider ID for use in downstream actions. An optional keyword filters by name or headline across up to 500 connections. For very large networks of 500 or more, use list_saved_connections instead. Returns an empty array when no connections match.
get_connections
LinkedIn Network Analytics
Run aggregate analytics over your locally-synced connections, with or without filters. Without filters you get a full-network view: top companies, normalized title groups, locations, skills, monthly growth velocity, recency buckets, and campaign overlap. With filters you get the same aggregates scoped to a matching slice plus the matching contact list with each person's campaign status, and group_by returns a full uncapped distribution for one dimension. This is a database-only tool that returns empty if connections have never been synced.
get_network_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
Refresh Writing Style
Re-analyzes your writing style from your recent posts and messages, ideal after 30 or more days as your voice evolves. It returns 'processing' immediately, so check get_writing_style after a minute or two for the updated guides. The call fails if fewer than five posts or five messages are available to analyze.
refresh_writing_style
Get Campaign Variant Stats
Returns per-variant statistics for a campaign, broken down by step and arm, including sent, accepted, replied, positive_replied, and positive_reply_rate. A positive reply is counted when a contact carries an auto:interested or auto:wants_meeting tag, giving you a clear read on which message variants actually convert. Returns empty when nothing is enrolled in the campaign.
get_variant_stats
Use Cases
Here's how teams use Crispy's analytics & intelligence tools in their day-to-day workflows.
Track content ROI
Measure impressions, engagement rates, and click-throughs for every post. Identify what drives leads vs. what drives vanity metrics.
Example prompt
“Pull analytics for all my posts from the last 30 days and rank them by engagement rate”
Monitor profile visitors
See who is viewing your profile and identify warm leads. Cross-reference visitors with your ideal customer profile.
Example prompt
“Show me profile viewers from the last week who work at companies with 100+ employees”
Competitive intelligence
Track competitors' post frequency, engagement levels, and content strategy to find gaps and opportunities.
Example prompt
“Compare my post performance this month vs. top 3 competitors in my space”
Network growth tracking
Monitor connection growth, acceptance rates, and network composition over time to optimize your outreach strategy.
Example prompt
“Analyze my connection growth trend and tell me which outreach campaigns drove the most connections”
AI writing style analysis
Crispy automatically analyzes your LinkedIn messages and posts to learn your writing voice. Every message and post your AI agent drafts matches your authentic tone, formality, and vocabulary.
Example prompt
“Load my writing style and draft a connection request that sounds like me”
Sync LinkedIn to your CRM
Connect Crispy alongside your CRM's MCP server (HubSpot, Salesforce, Pipedrive). Your AI agent reads LinkedIn conversations and logs contacts, conversations, and deal updates to your CRM automatically, no middleware needed.
Example prompt
“Sync my recent LinkedIn conversations to HubSpot, create contacts for new people and log conversation summaries”
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
How fresh is the analytics data?
Analytics are fetched in real-time from LinkedIn. For frequently-accessed data, Crispy supports cached analytics to reduce API calls and improve performance.
Can I export analytics to a dashboard?
Yes. Crispy returns structured JSON that you can pipe to any BI tool, Google Sheets, or custom dashboard. Pair with n8n or Make for automated reporting.
What metrics are available for posts?
Impressions, reactions (by type), comments, shares, click-through rate, and engagement rate. For Sales Navigator users, additional lead generation metrics are available.
Can I track analytics for other people's profiles?
You can view public analytics (post engagement, connection count) for any profile. Detailed profile analytics (viewers, demographics) are only available for your own profile.
Does Crispy store my analytics history?
Analytics are fetched live each time from LinkedIn. With managed storage, post metrics are cached to power dashboard analytics. You can export or delete your data anytime, with no lock-in.
How does writing style analysis work?
When you connect your LinkedIn account, Crispy fetches your recent messages and posts and uses Claude to generate a detailed writing style profile. This covers formality, tone, vocabulary, formatting patterns, and more. Your AI agent then uses this profile to draft messages and posts in your authentic voice.
How does CRM sync work?
Connect Crispy and your CRM's MCP server (HubSpot, Salesforce, Pipedrive) to the same AI agent. Use the crm_sync prompt and the agent reads your LinkedIn conversations, creates contacts in your CRM, and logs conversation summaries, no middleware, no custom code, no API keys stored on our side.
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.