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

Get Profile Viewers

Read

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

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. 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

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-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

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. Every 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 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.