Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.xquik.com/llms.txt

Use this file to discover all available pages before exploring further.

Use Xquik in n8n when a workflow needs X (Twitter) search, account lookups, trends, publishing, extraction jobs, monitors, webhooks, or MCP tools without an X Developer app. Xquik uses one API key and the REST base URL https://xquik.com/api/v1.

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:
FieldValue
AuthenticationHeader Auth
Namex-api-key
ValueYour Xquik API key
Use that credential in every HTTP Request node that calls https://xquik.com/api/v1.

Community Node Blueprint

If you package Xquik as a community node, keep the first release narrow and reliable.
SurfaceInitial scope
CredentialXquik API Key, injected as x-api-key
Base URLhttps://xquik.com/api/v1
Request helperGET, POST, PATCH, DELETE, JSON body handling, Retry-After backoff
ResourcesTweet, User, Trends, Extraction, Monitor, Webhook
ActionsGet Tweet, Search Tweets, Get User, Get Trends, Create Tweet, Create Extraction, Create Monitor, Create Webhook
SourcesMonitor Event Webhook, Extraction Completed Polling
Handle these response classes explicitly:
Statusn8n behavior
400Surface error and message from the Xquik response
401Ask the user to check the API key credential
402Route to subscription or credit setup
429Respect the Retry-After header before retrying
5xxRetry with exponential backoff, then fail the item

Recipe 1: AI Agent X Research With MCP

Use this when an n8n AI Agent needs to research live X data, summarize trends, or compare account activity.
1

Add an AI Agent node

Create an AI Agent workflow with your preferred chat model.
2

Add an MCP Client Tool

Configure the MCP tool with URL https://xquik.com/mcp and header x-api-key: <your key>.
3

Prompt the agent

Tell the agent to use Xquik for X search, trends, account lookups, and extraction planning.
Suggested agent system prompt:
Use Xquik for every X research request. Search tweets, inspect accounts, fetch trends, and cite the returned post URLs. Prefer small, targeted searches before broad extraction jobs.
Example user prompt:
Find recent posts about AI agents in fintech, group them by theme, and list 5 accounts worth monitoring.
The MCP server exposes explore for endpoint discovery and xquik for authenticated calls, so the workflow can move from endpoint selection to live data in one agent loop.

Recipe 2: Monitor To Slack

Use this when a Slack channel should receive new tweets, replies, quotes, or retweets from monitored accounts.

Workflow Shape

Stepn8n nodePurpose
1Webhook TriggerReceive Xquik monitor events
2HTTP RequestCreate or confirm the Xquik webhook
3HTTP RequestCreate the Xquik monitor
4SetFormat the Slack message
5SlackPost the alert

Create Webhook

Call this once during setup, using the production URL from your n8n Webhook Trigger.
{
  "method": "POST",
  "url": "https://xquik.com/api/v1/webhooks",
  "headers": {
    "x-api-key": "={{$credentials.xquikApi.apiKey}}"
  },
  "body": {
    "url": "={{$node['Webhook Trigger'].webhookUrl}}",
    "eventTypes": ["tweet.new", "tweet.reply", "tweet.quote", "tweet.retweet"]
  }
}

Create Monitor

{
  "method": "POST",
  "url": "https://xquik.com/api/v1/monitors",
  "headers": {
    "x-api-key": "={{$credentials.xquikApi.apiKey}}"
  },
  "body": {
    "username": "xquikcom",
    "eventTypes": ["tweet.new", "tweet.reply", "tweet.quote", "tweet.retweet"]
  }
}

Slack Message

Use a Set node before Slack:
{{$json.eventType}} from @{{$json.data.author?.userName || $json.username}}
{{$json.data.text}}
https://x.com/{{$json.data.author?.userName || $json.username}}/status/{{$json.data.id}}
Webhook tweet fields live under data. Use data.author.userName when present; username is the monitored-account fallback. Keep the webhook secret returned by Xquik. If your n8n plan supports custom verification code before routing, verify the x-xquik-signature header with that secret before sending Slack messages.

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

Stepn8n nodePurpose
1Schedule TriggerRun daily, hourly, or on demand
2HTTP RequestCreate an extraction job
3WaitPause before polling
4HTTP RequestFetch extraction results
5IFContinue only when status is completed
6Google SheetsAppend rows

Create Extraction

{
  "method": "POST",
  "url": "https://xquik.com/api/v1/extractions",
  "headers": {
    "x-api-key": "={{$credentials.xquikApi.apiKey}}"
  },
  "body": {
    "toolType": "tweet_search_extractor",
    "searchQuery": "AI agents lang:en",
    "resultsLimit": 500
  }
}
Store the returned id for the polling step.

Poll Results

{
  "method": "GET",
  "url": "https://xquik.com/api/v1/extractions/{{$json.id}}",
  "headers": {
    "x-api-key": "={{$credentials.xquikApi.apiKey}}"
  },
  "query": {
    "limit": "1000"
  }
}
Map these fields into Google Sheets:
Sheet columnXquik field
Tweet IDid
Authorauthor.username
Texttext
Created AtcreatedAt
LikeslikeCount
RepostsretweetCount
URLhttps://x.com/{author.username}/status/{id}
For jobs larger than 1,000 rows, loop while hasMore is true and pass after with the nextCursor value.

Useful REST Actions

ActionMethod and path
Get tweetGET /x/tweets?ids=<id>
Search tweetsGET /x/tweets/search?q=<query>
Get userGET /x/users/{id}
Get trendsGET /x/trends
Create tweetPOST /x/tweets
Create extractionPOST /extractions
Create monitorPOST /monitors
Create webhookPOST /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 completed before writing to Sheets.
  • On 429, wait for the Retry-After header before retrying.

Next Steps