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
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
/mentionsfor posts that tag a specific handle (@brand). It catches @-tags, replies, and references, withmin_likes,min_retweets,min_replies,since_date, anduntil_dateavailable as first-class parameters. - Use
/search-tweetsfor keyword matches that do not include the handle. Searching"Nike" -from:Nike lang:encatches posts that name the brand in prose. Reach for it when you need Boolean logic, media filters, or other operators beyond what/mentionssupports.
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 withsince_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.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_likesset too high for support use cases. A bug report with 2 likes matters more than a meme with 500. For support queues, setmin_likesto 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
/mentionsas full coverage. It only catches @-tagged posts. Combine it with/search-tweetsto 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
- Search Tweets - keyword-based search for untagged mentions.
- Search Operators - operators for complex queries (media, geo, Boolean).
- Real-Time Monitoring - polling architecture with deduplication and backoff.
- Historical Data - retrieving older tweets by date range.
- API Reference - full endpoint specification.