Analytics & Intelligence

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.

crispy — bash

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

Read

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

Read

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

Read

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

Read

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

See Who Viewed Your LinkedIn Profile

Read

Crispy returns recent viewers of your own LinkedIn profile. It does not let you browse someone else's profile anonymously. Results are empty when there are no viewers or the connected account is not Premium. Enable viewer polling to collect viewer data over time.

get_profile_viewers

List LinkedIn Connections

Read

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

Read

Run aggregate analytics over your locally-synced connections, with or without filters. Totals, monthly growth velocity, recency buckets, and campaign overlap are network-wide. Enrichment-derived breakdowns are top-level at 80% or higher title/company coverage; below 80%, they move under partial_breakdowns with enriched and total denominators. Filters scope the aggregates and add a matching contact list, while group_by returns an uncapped distribution under the same coverage gate. This is a database-only tool that returns empty if connections have never been synced.

get_network_analytics

Get Writing Style

Read

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

Write

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

Write

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

Read

Returns per-step results from activities with a non-null variant_index. Fails with VARIANTS_NOT_APPLIED when a campaign contains variant copy on an unsupported send path, preventing silent partial attribution.

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

1

Sign up

Create your Crispy account. No credit card required for the first setup.

2

Connect LinkedIn

Link your LinkedIn account from the dashboard. Takes 30 seconds.

3

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 on active subscriptions. Every documented tool included. Cancel anytime.

View pricing

Frequently 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 from LinkedIn, and post metrics can be cached to power dashboard analytics. Access and deletion follow our Privacy Policy.

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.

Run LinkedIn workflows from the AI client you already use.

Create your account, connect LinkedIn, create an API key, then add Crispy to your client. Review the docs for supported workflows and safety controls.