Twitter has an open ‘realtime’ search API, but it requires polling (within their rate limits). This module allows Prosody to poll for you, and push new results to subscribers over XMPP.


This module must be loaded on a Prosody pubsub component. Add it to modules_enabled and configure like so:

Component "" "pubsub"
modules_enabled = { "pubsub_twitter" }

twitter_searches = {
  realtime = "xmpp OR realtime";
  prosody = "prosody xmpp";

This example creates two nodes, ‘realtime’ and ‘prosody’ that clients can subscribe to using XEP-0060. Results are in ATOM 1.0 format for easy consumption.

Option Description
twitter_searches A list of virtual nodes to create and their associated Twitter search queries.
twitter_pull_interval Number of minutes between polling for new results (default 20)
twitter_search_url URL of the JSON search API, default: “”


0.9 Works


With the plugin installer in Prosody 0.12 you can use:

sudo prosodyctl install --server= mod_pubsub_twitter

For earlier versions see the documentation for installing 3rd party modules