https://xquik.com/api/v1.
Choose an n8n Twitter integration
Use n8n’s built-in X node for supported tweet, list, user, and DM operations. Choose Xquik’s n8n Twitter API for wider reads, exports, monitors, webhooks, and MCP tools.Prerequisites
- Xquik API key
- n8n Cloud or self-hosted n8n
- An HTTPS n8n webhook URL for monitor recipes
- Optional Slack and Google Sheets credentials for the recipes below
API key credential
Create a reusable n8n credential for Xquik:Authentication
Select Header Auth for the HTTP Request credential.
Header name
Set the header name to
x-api-key.Header value
Paste your Xquik API key as the credential value.
https://xquik.com/api/v1.
Community node blueprint
If you package Xquik as a community node, limit the first release to core X tasks. Share reusable templates through the n8n community. Keep credentials outside exported workflow JSON. Use custom code nodes only for signature checks or bounded transforms.Credential
Create an
Xquik API Key credential and inject it as x-api-key.Base URL
Point every REST action at
https://xquik.com/api/v1.Request helper
Support
GET, POST, PATCH, DELETE, JSON bodies, structured errors, and Retry-After backoff.Resources
Start with Tweet, User, Trends, Extraction, Monitor, and Webhook resources.
Actions
Ship Get Tweet, Search Tweets, Get User, Get Trends, Create Tweet, Create Extraction, Create Monitor, and Create Webhook first.
Sources
Add Monitor Event Webhook and Extraction Completed Polling sources.
400 invalid input
Copy the Xquik
error and message fields into the failed item.401 authentication
Ask the user to check the Header Auth credential and
x-api-key value.402 billing state
Route to subscription or credit setup before retrying the node.
429 rate limit
Read
Retry-After from response headers and wait before retrying.5xx transient
Enable n8n Retry on Fail with exponential backoff, then fail the item.
Result handoff
Use an Edit Fields node after each HTTP Request node when the next node only needs stable handoff fields. Keep raw responses out of Slack messages, Sheets rows, and retry queues. Use snake_case storage keys for handoff rows even when direct API responses use camelCase.Tweet search page
Store request
q; map each tweet id, text, author.username, and createdAt to tweet_id, text, author_username, and created_at; keep has_next_page and next_cursor for page loops.User profile rows
Store source
id as user_id, plus username, name, followers, verified, profile_picture, has_next_page, next_cursor, and the lookup or search input.Trend rows
Store each trend
name, rank, query, and description. Keep response count, woeid, and the requested region with the workflow run.Tweet or reply write
Send a unique
Idempotency-Key. Store id, status, billing, result, and statusUrl. Poll while terminal is false. Retry only when safeToRetry is true, using a new key.Media attachments
For tweets or replies, pass public URLs in
media; do not send media_ids. For DMs, upload first, pass 1 media_id in media_ids, store message_id, and leave reply_to_message_id unset.Monitor and webhook setup
Store monitor
id, username, xUserId, eventTypes, isActive, and nextBillingAt; store webhook id, url, eventTypes, and one-time secret. For storage rows, map production deliveryId to delivery_id for receiver retry de-dupe and streamEventId to stream_event_id when one monitor event should process once across endpoint changes.Webhook event de-dupe
Store
deliveryId for receiver retry de-dupe and streamEventId when one monitor event should process once across endpoint changes.Stored event replay
Call
GET /events with cursor when a workflow needs replay. Map id, monitorId, monitorType, occurredAt, hasMore, and nextCursor to event_id, monitor_id, monitor_type, occurred_at, has_more, and next_cursor.Receiver acceptance
Return
2xx after accepting duplicate deliveryId or streamEventId; keep endpoint signing values, raw request body, raw signature, and full headers out of n8n executions, data stores, Slack messages, Sheets rows, and retry queues.Extraction job
Store
id as extraction_id, toolType as tool_type, plus status, has_more, and next_cursor before batch loops fetch detail rows.Recipe 1: AI agent X research with MCP
Use this recipe to integrate AI agents with Xquik. The agent can search live tweets, summarize trends, inspect profiles, and compare follower activity.1
Add an AI agent node
Create an AI Agent workflow with your preferred chat model.
2
Add an MCP client tool
Set Server Transport to
HTTP Streamable. Set MCP Endpoint URL to https://xquik.com/mcp. Set Authentication to Header Auth. Create or select a Header Auth credential. Set Name to x-api-key and Value to your Xquik API key.3
Prompt the agent
Tell the agent to use Xquik for X search, trends, account lookups, and extraction planning.
The MCP Client Tool also supports
MCP OAuth2. This recipe uses Header Auth for unattended workflows with an n8n credential.docs for documentation, search for endpoint discovery, and execute for authenticated calls. One agent loop can select an endpoint and request current API data.
Recipe 2: monitor to Slack
Use this when a Slack channel should receive new tweets, replies, quotes, or retweets from monitored accounts.Workflow shape
Webhook trigger
Receive Xquik monitor events on the production Webhook URL.
Create webhook
Use HTTP Request to call
POST /webhooks with the Webhook Trigger URL.Create monitor
Use HTTP Request to call
POST /monitors for the username and event types.Format alert
Use Set to build Slack text from
data, with username as fallback.Post alert
Send the formatted message to Slack after the webhook and monitor exist.
Create webhook
Call this once during setup, using the production URL from your n8n Webhook Trigger.Create monitor
Slack message
Use a Set node before Slack:data. Use data.author.userName when present; username is the monitored-account fallback.
Keep the webhook secret returned by Xquik. Verify x-xquik-signature before
sending Slack messages. Use custom verification code when your plan supports it.
Recipe 3: extraction to Google Sheets
Use this when a team needs bulk follower, reply, quote, media, list, community, or search results in a spreadsheet.Workflow shape
Schedule trigger
Run daily or hourly exports; execute manually while testing.
Create extraction
Use HTTP Request to call
POST /extractions and store the returned id.Wait before polling
Pause before the first status check so the extraction can start.
Fetch results
Use HTTP Request to call
GET /extractions/{id} and read job.status.Gate completed jobs
Use IF to continue only when
job.status is completed.Append rows
Use Google Sheets Append Row with the mapped result fields below.
Create extraction
id for the polling step.
Poll results
Tweet ID
Map to
id.Author
Map to
author.username.Text
Map to
text.Created at
Map to
createdAt.Likes
Map to
likeCount.Reposts
Map to
retweetCount.URL
Build from
https://x.com/{author.username}/status/{id}.hasMore is true and pass cursor with the nextCursor value.
Useful REST actions
Get tweet
Read one or more posts with
GET /x/tweets?ids=<id>.Search tweets
Run X query searches with
GET /x/tweets/search?q=<query>.Get user
Fetch an X profile with
GET /x/users/{id}.Get trends
Read regional X trends with
GET /x/trends.Create tweet
Publish text or media posts with
POST /x/tweets.Create extraction
Start bulk export jobs with
POST /extractions.Create monitor
Watch accounts or keywords with
POST /monitors.Create webhook
Register signed delivery URLs with
POST /webhooks.Testing checklist
- Use the n8n Test Step action on each HTTP Request node.
- Confirm every request includes
x-api-key. - Confirm monitor webhooks use the production webhook URL, not the test URL.
- Send a test event from Test Webhook.
- For extraction jobs, poll until
completedbefore writing to Sheets. - On
429, wait for theRetry-Afterheader before retrying.
n8n Twitter automation questions
How do I connect n8n to Twitter?
Create Header Auth withx-api-key. Select it on every Xquik request.
How does n8n Twitter search work?
Call the tweet-search endpoint. Store the query and cursor for every page.Can n8n post to Twitter?
Treat each n8n Twitter post as approved. SendIdempotency-Key, then poll the
returned action.
Can n8n scrape Twitter?
An n8n Twitter scraper should call documented endpoints. Never make n8n scrape Twitter pages. API responses preserve stable IDs and cursors.How does n8n Twitter media upload work?
Tweet and reply writes accept public URLs. DMs require one uploaded media ID.How do I monitor Twitter mentions in n8n?
Build an n8n Twitter monitoring workflow with a monitor and production webhook. Verify every signature before routing tweets.Can I build an n8n Twitter bot or n8n Twitter agent?
An n8n Twitter bot needs approval before writes. An n8n Twitter agent can search tweets, profiles, trends, and followers through MCP.Can self-hosted n8n use Xquik?
Yes. Allow outbound HTTPS. Monitor recipes also need a public HTTPS webhook.How do I troubleshoot an n8n Twitter connection?
Check the base URL, Header Auth, andx-api-key. Use the production webhook.
Reselect edited credentials. Recreate them if access still fails.
Which n8n Twitter template should I build first?
Start with tweet search and cursor storage. Add exports or monitors next.Next steps
- Read Webhooks for payload and retry behavior.
- Read Extraction Workflow for pagination and export patterns.
- Use MCP Tools when building AI Agent workflows.