Solutions · Social listening

Social listening on X with your own tools

Who mentioned us, how is the campaign doing, what did the competitor post and how did it land, what is trending where our customers are. Each answer is one API call per page of results, and the reporting stays in the tools you already use.

TwittrAPI is the X data source behind your reports, not a listening suite: no sentiment dashboard, no other networks.

$0.10 free credit after sign-up.

Monitoring

Watch tweets arrive the way a monitor sees them

Real tweets from the last 12 hours, mostly by accounts with 20,000+ followers, replayed one by one with a delay. This preview is not live; a monitor watches the accounts you choose, of any size, and POSTs every new tweet to your webhook within 1, 5 or 60 seconds, depending on the class.

Delayed replay of real tweets from the last 12 hours for the selected topic, newest at the top. Each tweet shows when it was posted and how many followers its author has.

loading…
new tweet → POST to your webhookdelayed, not real time

Free preview, so tweets arrive with a delay and are not live. Real-time delivery comes with a monitor plan.

Mentions

Brand mentions, without your own posts

Mentions come in three shapes: the handle, the name and the domain. Catch all three, drop your own account and plain retweets:

(@acme OR "acme app" OR url:acme.com) -from:acme -filter:nativeretweets

Common words need context: "acme" alone matches everything, "acme" plus your product words or domain does not. The filters object adds operators for you.

Mentions of the last day

Query
The handle, the product name or the domain, not from your own account
Order
Latest first
Language
English
Time
Within the last day
Leave out
Tweets with “hiring” or “giveaway”, plain retweets
Format
Simple: flat tweets with full text, author and counts
The full request

Queries

Campaigns, competitors, trends and communities

Every question below is one endpoint. Each page of results is one call.

  • Campaign hashtag, only posts with traction

    /search

    Hashtag filter, at least 20 likes, no replies
  • What did the competitor post, and how did it do?

    /user/{userId}/tweets

    Likes, replies, quotes, retweets, bookmarks and views per tweet
  • What did people say when they quoted it?

    /tweet/{tweetId}/quotes

    Quote tweets of one post
  • What are the replies?

    /tweet/{tweetId}

    The tweet and its reply threads
  • Who amplified it?

    /tweet/{tweetId}/retweets

    Accounts that retweeted
  • What is trending in a market?

    /trends/{locationId}

    WOEID 1 worldwide, 23424977 US, 23424829 Germany; all in /misc/locations
  • Which communities discuss our topic?

    /communities/search/{searchTerm}

    Then read one with /communities/{communityId}/tweets
  • What do the analysts we track say?

    /lists/tweets

    A list of journalists or analysts, one call per page for all of them

All X search operators work (from:, to:, lang:, since:, until:, min_faves:, url:, conversation_id: and more). The search reference lists them and every filters key.

Simple format

One tweet, one spreadsheet row

With format=simple every tweet has the same fields every time, so a mention log is a direct mapping: no walking through X's nested JSON, no column that is missing on some rows.

Fields that X did not send are null or [], never absent. Simple format

Column → field

Date
createdAt (ISO 8601, UTC)
Author
author.username, author.counts.followers
Text
text (full long-post text, links expanded)
Link
url
Engagement
counts.likes, .replies, .quotes, .retweets, .views
Reply to
replyTo.username
Language
lang

Export

Getting it out

Pick the path that matches the tools your team already uses.

n8n with the TwittrAPI node

Best for: Scheduled mention tracking into Sheets, Slack or a database

Import new-mentions-to-google-sheets.json: every 15 minutes, new mentions of your handle appended to a sheet. It remembers the newest tweet ID, so rows are not duplicated.

Make

Best for: Teams already on Make

The HTTP module with format=simple and a data store for the newest ID. Step by step on the no-code page.

Your own code

Best for: Dashboards and BI

Python, Node.js or Go SDK with the simple format, or plain HTTP. Integrations

Cost

What listening costs

Every search page is one call. A typical setup is a handful of queries per brand, polled on a schedule; the numbers assume one page per poll and a 30-day month.

1 query every 10 minutes

$0.39per month at Standard

Calls per month
4,320
At Scale
$0.28

5 queries every 10 minutes

$1.94per month at Standard

Calls per month
21,600
At Scale
$1.40

Agency: 40 clients × 3 queries every 10 minutes

$46.66per month at Standard

Calls per month
518,400
At Scale
$33.70

Daily trend snapshot for 20 markets

$0.05per month at Standard

Calls per month
600
At Scale
$0.04

Prices per 1,000 calls: Standard $0.09, Scale $0.065. A busy query can need more than one page per poll; each extra page is one more call. Polling more often than the query's volume needs only buys empty pages, which are calls too.

Limits

Worth knowing before you build

  • Search is X's search: what X does not index or show in search, we cannot return. Results for older dates thin out. An account missing from results may be restricted; the free shadowban checker tests one handle.
  • count is a hint; X decides the page size.
  • Views (counts.views) are null where X hides them.
  • Protected accounts and deleted tweets are never returned.
  • Real-time alerts for a fixed set of accounts (a CEO, a competitor's main handle) are better done with account monitoring than with a search poll.

FAQ

Social listening questions

Do you do sentiment analysis?

No. We deliver the tweets. Run sentiment in your own pipeline or pass the text to an LLM; the simple format keeps that input small.

Can I get mentions from last year?

Search accepts since: and until:, so you can query past periods. How much X still returns for older dates varies; test your window first.

How do I avoid counting the same mention twice?

Keep the newest tweet ID per query and pass it as since_id: in the query (or sinceId in filters) on the next call. The n8n mentions template keeps the newest ID in workflow static data and passes on only newer tweets.

Can I see who liked a post?

Often not: X hides likers for many tweets, so the favorites endpoint may return little or nothing. Retweeters and quotes are public.

Is this compliant for client work?

TwittrAPI returns public data only and is not affiliated with X Corp. Collecting personal data has its own rules (GDPR and others): store what the report needs, not more.

Which languages are supported?

Any language X tags. Use lang in filters (en, ja, pt, de …) or lang: in the query.

Run your first mention search

$0.10 free credit after sign-up is enough to tune your queries before you schedule them.