Docs
No-code: n8n and Make

No-code: n8n and Make

Step-by-step setup for the TwittrAPI community node in n8n and the HTTP module in Make, with workflows for mentions to Google Sheets, follower exports and keyword alerts in Slack or Telegram.

TwittrAPI has a community node for n8n and works in Make through the HTTP module. You need a TwittrAPI key (n8n also accepts a RapidAPI key), no X account and no X developer app. Every run of a search or lookup step is one billed API call per page.

n8nMake
HowTwittrAPI community node (n8n-nodes-twittrapi)HTTP module, Make a request
KeyTwittrAPI or RapidAPI keyTwittrAPI key
ResponseOutput Format Raw or SimpleAdd format=simple to the query string

n8n

Video: Twitter/X data in n8n with the TwittrAPI community node (2 min)

The node covers users, timelines, followers, tweets, search, lists, communities and trends. Every operation is one call per page. Ready-made workflows are in the examples folder of the repository.

1. Install the node

Settings > Community Nodes > Install, enter n8n-nodes-twittrapi and confirm. For queue mode or Docker, n8n's guide on installing community nodes covers the manual install with npm.

2. Add the credential

Create a TwittrAPI API credential, Connection Type Direct API Key, and paste the key from your dashboard. Saving tests it by looking up the profile @X, which is one normal call.

3. New mentions to Google Sheets

Schedule Trigger every 15 minutes → TwittrAPI node, Resource Search, query @yourbrand -from:yourbrand, category Latest, Output Format Simple → Split Out on data → Google Sheets, Append Row with createdAt, author.username, text, url.

To pass on only tweets you have not seen, import new-mentions-to-google-sheets.json (Workflows > Import from File): it stores the newest tweet ID in workflow static data. Static data is saved only in active (production) runs; manual test runs start fresh.

Export followers to CSV

export-followers-to-csv.json: User > Get Followers, Return All with Max Pages 20, then Convert to File. Every page is one call, so this workflow makes at most 20 calls.

Keyword alerts in Slack or Telegram

keyword-monitor-to-slack.json searches a keyword every 10 minutes, remembers the newest tweet ID and posts only new tweets to a channel.

For a Telegram alert, for example on crypto cashtags:

  1. Import the keyword monitor (Workflows > Import from File).
  2. Set the query to your cashtags, for example ($SOL OR $JUP) min_faves:5 -filter:replies, and the schedule to the interval you want to pay for. Every run is one call.
  3. Replace the Slack node with Telegram > Send Message, map the tweet text and link, and activate the workflow.

Use it as an AI Agent tool

Attach the TwittrAPI node to an AI Agent node as a tool; the agent can then search X or read a profile when a question needs it. On self-hosted n8n set N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true first. Other agent setups: SDKs and integrations.

Errors in n8n

  • 402: balance empty. Top up and run again; the call is not charged.
  • 429: rate limit. Turn on Retry On Fail.
  • 401: wrong key or connection type.

Turn on Continue On Fail if one bad username should not stop the run. With Output Format Raw (the default) the node returns X's raw JSON, one item per page; with Simple plus a Split Out node on data you get one item per tweet or user with flat fields such as text, author.username and counts.likes.

Make

With format=simple you need no parsing functions: each tweet already has flat fields you can map straight into the next module. This scenario writes new mentions to Google Sheets.

1. HTTP > Make a request

FieldValue
URLhttps://api.twittrapi.com/search
MethodGET
HeadersX-API-KEY: your key
Query stringsearchItem = @yourbrand -from:yourbrand
category = Latest
format = simple
Parse responseYes

Each run of the HTTP module is one API call plus your Make operations; the iterator and the sheet rows count as Make operations, not API calls. All search parameters: search reference.

2. Iterator

Iterate over data, the list of tweets.

3. Google Sheets > Add a row

Map createdAt, author.username, text, url, counts.likes, counts.retweets.

4. Only new tweets

Keep the newest tweet id in a Data store. Read it before the HTTP module and add filters = {"sinceId":"<stored id>"} to the query string; after the iterator, save the highest id.

The Make custom app in twittrapi-make is an alternative to the HTTP module; its README has the setup.