Skip to main content

Track Mentions

The /mentions endpoint returns tweets that mention a specific handle. Use it to monitor brand mentions, route support inquiries, measure campaign engagement, and watch competitive activity. It offers the richest filter set of any Sorsa search endpoint: engagement thresholds and date bounds are first-class parameters in the request body. Results are paginated at up to 20 tweets per page.
Note: For a full walkthrough with production code, multi-channel monitoring patterns, and competitive analysis workflows, see How to Track Twitter Mentions With API on the blog.

Quick Start

Tip: Prefer a UI? Run /mentions without writing code in the API Playground. Every account starts with 100 free requests, no card required.

Endpoint Reference

Each call counts as a single request against your quota, whether it returns one mention or twenty.

Response

Each mention carries full engagement metrics and the embedded author profile. The user object holds the complete profile (trimmed above for readability), and all timestamps are ISO 8601. When next_cursor is present, more pages are available; when it is null or absent, you have reached the end. See Pagination for handling patterns and Response Format for the full field list.

/mentions vs /search-tweets

The two endpoints solve different problems:
  • Use /mentions for posts that tag a specific handle (@brand). It catches @-tags, replies, and references, with min_likes, min_retweets, min_replies, since_date, and until_date available as first-class parameters.
  • Use /search-tweets for keyword matches that do not include the handle. Searching "Nike" -from:Nike lang:en catches posts that name the brand in prose. Reach for it when you need Boolean logic, media filters, or other operators beyond what /mentions supports.
For complete brand coverage, run both endpoints in parallel and deduplicate by tweet ID.

Common Patterns

Filter by engagement

Pull only mentions that have reached an audience. Useful for reputation dashboards and PR monitoring.

Pull every mention (support queue)

Drop the engagement filters and sort chronologically to catch every mention, including zero-engagement ones.

Date-windowed campaign analysis

Bound mentions to a campaign window with since_date and until_date, then loop through next_cursor until it runs out.

Polling for new mentions

Track the newest tweet ID across iterations so you only surface mentions you have not seen before. Compare IDs numerically, since they are returned as strings.
Persist last_seen_id to disk or Redis so the loop survives restarts, and wrap the request in try/except with a backoff so a transient error does not kill the process. For the full real-time pattern with deduplication and backoff, see Real-Time Monitoring.

Common Pitfalls

  • min_likes set too high for support use cases. A bug report with 2 likes matters more than a meme with 500. For support queues, set min_likes to 0 and rely on keyword routing instead.
  • Single-page reads on high-volume handles. One request returns up to 20 mentions. For brands with hundreds of daily mentions, always paginate through next_cursor. Each page is one request against your quota, so budget accordingly.
  • Treating /mentions as full coverage. It only catches @-tagged posts. Combine it with /search-tweets to catch untagged brand references.
  • Aggressive polling on low-volume accounts. Match the polling interval to mention volume: every 15 seconds for high-traffic brands, every minute or two for smaller accounts. The rate limit is 20 req/s across all plans (Rate Limits).
  • Not persisting state across restarts. Without a durable checkpoint, a restarted monitor either re-alerts on old mentions or skips the gap.

Next Steps