API, webhooks & MCP on every plan

Brand monitoring webhooksthat pipe mentions anywhere

Octolens POSTs structured JSON to your endpoint for every new mention across Reddit, X, LinkedIn, news, podcasts & 10+ more — AI-filtered, sentiment-scored, delivered the moment it's found.

No credit card • Webhooks included during trial • 5k free mentions
Deliveryone POST per mention

# new mention collected on any of 15+ platforms

# AI scores relevance, sentiment & tags

POST https://your-app.com/webhooks/octolens

Content-Type: application/json

Payloadmention_created

{

  "action": "mention_created",

  "data": {

    "source": "reddit",

    "body": "Just switched to Octolens…",

    "sentimentLabel": "Positive",

    "relevanceScore": "high",

    "tags": ["buy_intent"]

  }, …

}

Trusted by brands people talk about online

Cursor logo
Sentry logo
Vercel logo
PostHog logo
Railway logo
Render logo
Supabase logo
PlanetScale logo
Prisma logo
Juicebox logo
Modal logo
Metabase logo
Tally logo
Lovable logo
Medusa logo
CodeRabbit logo
Vercel logo

"I don't want to spend my workday scrolling X. Octolens pipes the important stuff into Slack so I can focus on building and still stay on top of what developers are saying."

Rhys Sullivan
Software Engineer, Vercel
Why webhooks

Push, Don't Poll: Mentions Delivered To Your Stack

A webhook destination is the escape hatch into everything Slack and email are not — your database, your agents, your ticketing system, your CRM.

Getting Mentions Out By Hand

  • Poll platform APIs on a cron and hope you don't hit rate limits
  • Copy-paste mentions out of dashboards into the tools you actually work in
  • Maintain a scraper per platform, each with its own auth and schema
  • Miss the mentions that land between manual checks
  • Pay an enterprise upsell just to get your data out

With Octolens Webhooks

  • One POST per mention — or batched digests — to any HTTPS endpoint
  • Structured JSON with sentiment, relevance, and tags already applied
  • Filter by source, sentiment, relevance, or keyword before delivery
  • Automatic retries with exponential backoff when your endpoint is down
  • Included on every plan — our best-retaining customers all use webhooks
Payload reference

What's In Every Webhook Payload

Each delivery is a JSON envelope: an action plus one fully-scored mention. Same schema across all 15+ platforms — no per-platform parsing.

Example payload — mention_created
{
  "action": "mention_created",
  "data": {
    "title": "Anyone using Octolens for brand monitoring?",
    "body": "We wired their webhooks into Linear — bug reports from Reddit become triaged tickets before support even sees them.",
    "url": "https://www.reddit.com/r/SaaS/comments/1n4x2ab/anyone_using_octolens/",
    "timestamp": "2026-09-02T14:32:07.000Z",
    "imageUrl": null,
    "author": "dev_sarah",
    "authorName": "Sarah",
    "authorAvatarUrl": null,
    "authorProfileLink": "https://www.reddit.com/user/dev_sarah",
    "source": "reddit",
    "sourceId": "t3_1n4x2ab",
    "relevanceScore": "high",
    "relevanceComment": "Direct discussion of the monitored brand",
    "sentimentLabel": "Positive",
    "language": "en",
    "keyword": "octolens",
    "keywords": ["octolens"],
    "tags": ["user_feedback"],
    "subreddit": "SaaS",
    "viewId": 42,
    "viewName": "All brand mentions",
    "viewKeywords": ["octolens"]
  }
}
FieldTypeDescription
actionstring"mention_created" for new mentions; "mention_updated" when a mention is re-delivered after its data changed (e.g. relevance was re-scored).
title / bodystringPost title (empty for tweets) and the full post text.
urlstringLink to the original post.
timestampISO 8601When the post was published.
source / sourceIdstringPlatform (reddit, twitter, linkedin, hackernews, github, youtube, news, podcasts, …) and the platform-native post ID for deduplication.
author / authorName / authorProfileLink / authorAvatarUrlstring | nullAuthor handle, display name, profile link, and avatar URL.
relevanceScore"high" | "medium" | "low" | "unknown"AI relevance verdict for the mention against your brand.
relevanceCommentstring | nullOne-line AI explanation of the relevance verdict.
sentimentLabelstring | nullAI sentiment: Positive, Negative, or Neutral.
tagsstring[]AI-assigned tags like buy_intent, bug_report, feature_request, competitor_mention.
keyword / keywordsstring / string[]The tracked keyword(s) this mention matched.
languagestring | nullDetected language of the post.
authorFollowerCountnumberX/Twitter mentions only: the author's follower count.
subredditstringReddit mentions only: the subreddit the post was made in.
viewId / viewName / viewKeywordsnumber / string / string[]The feed this webhook destination is attached to, and its configured keywords.
How delivery works

Reliable Delivery, Your Rules

Attach a webhook destination to any feed, pick a cadence, and Octolens handles the rest.

Filtered before delivery

Every webhook is attached to a feed — a saved filter. Only mentions matching the feed's sources, sentiment, relevance, and keywords get delivered. No client-side noise filtering.

Per-mention or digest

Choose one POST per mention, fired as soon as a mention clears AI scoring, or batched digests hourly, daily, or weekly. Collection runs hourly on Pro and in real time on Scale.

Automatic retries

Failed deliveries are retried up to 5 times with exponential backoff, so a deploy or a blip on your end doesn't drop mentions.

Discord built in

Point a destination at a discord.com/api/webhooks URL and payloads are automatically reformatted as Discord embeds — source, relevance, sentiment, and tags as fields. No middleware.

Validated endpoints

Destination URLs must resolve to public hosts — private, loopback, and link-local addresses are rejected, and the check re-runs on every delivery.

Works with everything

Any HTTPS endpoint: serverless functions, Val Town vals, n8n, Make, or Zapier catch hooks, or a route in your own backend. Slack and email destinations run alongside.

Code example

A Webhook Receiver Is ~10 Lines

Mentions arrive pre-scored, so your receiver is routing logic, not a classifier. This is the mentions-to-Linear workflow customers run in production.

server.js
// Express receiver — one POST per mention
app.post("/webhooks/octolens", async (req, res) => {
  const { action, data } = req.body;
  if (action !== "mention_created") return res.sendStatus(200);

  // e.g. negative, high-relevance mentions become Linear tickets
  if (data.relevanceScore === "high" && data.sentimentLabel === "Negative") {
    await linear.createIssue({
      title: `[${data.source}] ${data.title || data.body.slice(0, 80)}`,
      description: `${data.body}\n\n${data.url}`,
      labels: data.tags, // e.g. ["bug_report"]
    });
  }

  res.sendStatus(200);
});

No server? Run the receiver on Val Town's remixable Octolens val — it's how Val Town forwards mentions to Discord and how PostHog turns mentions into product analytics events.

Use cases

What Teams Pipe Their Mentions Into

Your data, your workflows. The app is where you configure — the webhook is where the work happens.

Slack & Discord Routing

Route mentions by product area into dedicated channels. Slack is a native destination; Discord works by pointing a webhook at a channel URL.

Vercel pipes mentions into 20+ Slack channels — one per product team.

Wake Your AI Agents

A webhook is how an agent hears the outside world. Each POST carries a scored mention your agent can classify, triage, or act on.

Webhook → agent classifies bug/feature/feedback → Linear ticket with the thread linked.

Internal Dashboards

Forward mentions into your own analytics. Sentiment and tags arrive pre-computed, so charts are a GROUP BY away.

PostHog webhooks every mention into a Val Town val that logs PostHog events.

Data Pipelines & Warehouses

POST straight into your ingest endpoint and land mentions in BigQuery, Snowflake, or ClickHouse. One schema across all 15+ platforms.

Batch daily digests into your warehouse for share-of-voice and trend analysis.

CRM Enrichment

Buy-intent mentions become pipeline. Enrich the author, create the CRM record, and draft the outreach — before a competitor replies.

"Looking for an alternative to [competitor]" → enrich via Clay → CRM + draft.

Support Triage

Negative, high-relevance mentions become tickets in your support tool before customers escalate through official channels.

Filter a feed to Negative + high relevance and webhook it into your helpdesk.

Webhooks Included on All Plans

No add-on fee. No enterprise gate. If you're paying us anything, you own your data.

Webhooks
REST API
MCP server
Slack & email destinations

13 platforms included

X
Reddit
LinkedIn
YouTube
TikTok
Bluesky
GitHub
Hacker News
DEV
Stack Overflow
Podcasts
Newsletters
News
$159/month

Billed annually. 15,000 mentions included — more can be added flexibly.

Comparison

Which Social Listening Tools Offer Webhooks?

Most tools gate data export behind top tiers or paid add-ons. We think that's backwards.

ToolWebhooksWhere they unlockNotes
OctolensEvery plan, including the free trialOne POST per mention or hourly/daily/weekly digests, sentiment & relevance included
Brand24No webhooks; API is a paid add-onAutomating downstream means polling the API yourself
MentionAPI sold as a paid add-onData access costs extra on every tier
F5BotPlatinum (highest) tier onlyAPI and webhooks gated to the top plan
Brandwatch / SprinklrEnterprise add-on, sales-negotiatedData access packaged and priced through sales

Competitor packaging as of mid-2026 — check vendor pricing pages for current details.

Customer stories

Real results from teams using Octolens

"Built on top of the Octolens API, I use Railway as a service to pipe all of the mentions to different channels. Then there's a cron job that does a daily digest for us."

Mahmoud Abdelwahab
Mahmoud Abdelwahab
Senior DevRel Engineer, Railway
40% MoM
Signup growth correlated with mentions
13
Platforms monitored, up from 1
FAQ

Frequently asked questions

Everything you need to know about Octolens webhooks

Yes. Octolens sends an HTTP POST with a structured JSON payload for every new brand mention, on every plan including the free trial. You attach a webhook destination to any feed and choose one POST per mention or batched hourly, daily, or weekly digests.

Octolens includes webhooks on all plans starting with Pro. Elsewhere, data access is usually gated or missing: Brand24 offers no webhooks and sells its API as a paid add-on, Mention sells API access as a paid add-on on every tier, F5Bot includes webhooks only on its highest tier, and enterprise suites like Brandwatch and Sprinklr treat data access as a sales-negotiated add-on.

Each payload is a JSON envelope with an action ("mention_created" or "mention_updated") and one mention: title, body, URL, timestamp, author details, source platform, AI relevance score with a one-line explanation, sentiment label, AI tags like buy_intent or bug_report, matched keywords, language, and the feed it came from. X mentions add the author's follower count; Reddit mentions add the subreddit.

Individual deliveries fire as soon as a mention clears AI scoring. Failed deliveries are retried up to 5 times with exponential backoff, so a deploy or downtime on your end doesn't drop mentions. Destination URLs are validated to resolve to public hosts on every delivery.

Yes — that's one of the most common setups. Point the webhook at your ingest endpoint or a serverless function and land mentions in BigQuery, Snowflake, or ClickHouse. Every platform uses the same JSON schema with sentiment and tags pre-applied, so there's no per-platform parsing, and batched digests suit scheduled pipeline runs.

Yes. Every payload arrives pre-scored: sentimentLabel (Positive, Negative, or Neutral), relevanceScore ("high", "medium", "low", or "unknown") with a relevanceComment explaining the verdict, and AI-assigned tags. You filter noise with an if-statement instead of building your own classifier.

Yes, natively. Point a webhook destination at a discord.com/api/webhooks channel URL and Octolens automatically reformats each mention as a Discord embed with source, relevance, sentiment, and tags as fields. No middleware or bot required.

Nothing extra. Webhooks, the REST API, and the MCP server are included on every plan — starting with Pro at $199/month ($159/month billed annually) — and during the 7-day free trial. There is no data-access add-on fee.

Webhooks on every plan

Pipe your mentions anywhere

Structured, AI-scored mentions POSTed to your endpoint — from the first day of your trial.

No credit card required · API access on all plans · Cancel anytime