Twitter search and user timeline components for Haystack
TwexAPI is an independent third-party service. Not affiliated with X Corp. "Twitter" and "X" are trademarks of X Corp.
Search Twitter and fetch public user timelines in Haystack RAG pipelines. Each TwexAPI result becomes a Haystack Document.
Components
| Task | Haystack component | TwexAPI route | Output |
|---|---|---|---|
| Search tweets for RAG | TwexApiTweetSearch |
POST /twitter/advanced_search/page |
Matching posts as Document objects |
| Retrieve a user's timeline | TwexApiUserTweetsFetcher |
POST /twitter/{screen_name}/timeline/page |
Recent user posts as Document objects |
from haystack_integrations.components.websearch.x_api_scraper import (
TwexApiTweetSearch,
TwexApiUserTweetsFetcher,
)
Both components read X_API_SCRAPER_KEY by default and accept a Haystack Secret. They send Authorization: Bearer. Set base_url for another TwexAPI-compatible endpoint. Results include documents, links, has_more, and next_cursor.
Search returns up to 20 tweets per page. Timeline top_k maps to the page count (1-100). Use REST or an SDK for follower pagination or approved posting.
Install
pip install x-api-scraper-haystack
Build a Haystack RAG pipeline with Twitter search
Search posts
from haystack import Pipeline
from haystack.utils import Secret
from haystack_integrations.components.websearch.x_api_scraper import TwexApiTweetSearch
search = TwexApiTweetSearch(api_key=Secret.from_env_var("X_API_SCRAPER_KEY"), top_k=10)
pipeline = Pipeline()
pipeline.add_component("x_search", search)
result = pipeline.run({"x_search": {"query": "haystack ai"}})
documents = result["x_search"]["documents"]
Fetch user posts
from haystack.utils import Secret
from haystack_integrations.components.websearch.x_api_scraper import (
TwexApiUserTweetsFetcher,
)
fetcher = TwexApiUserTweetsFetcher(api_key=Secret.from_env_var("X_API_SCRAPER_KEY"))
result = fetcher.run(screen_name="elonmusk")
documents = result["documents"]
Document mapping
Each tweet becomes a Haystack Document with this mapping.
Document.content:full_textortext, or an empty string when both are missingDocument.meta["endpoint"]:searchortimelineDocument.meta: availableid,url, andcreated_atsource valuesDocument.meta["author"]: available author identity and verification dataDocument.meta: available like, retweet, reply, quote, view, and bookmark counts
License
MIT. TwexAPI is an independent third-party service. Not affiliated with X Corp. "Twitter" and "X" are trademarks of X Corp.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file x_api_scraper_haystack-0.1.0.tar.gz.
File metadata
- Download URL: x_api_scraper_haystack-0.1.0.tar.gz
- Upload date:
- Size: 132.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a4d78e45645af7f42ff70d7a1218f630646e5bddae94458a264684130a9124f
|
|
| MD5 |
df4540a7dfc948e3ddea614c8ea937e8
|
|
| BLAKE2b-256 |
d4a25328685254475c4b00c706911a8f82e677fa6cff37e26da1df6ba67cc89d
|
File details
Details for the file x_api_scraper_haystack-0.1.0-py3-none-any.whl.
File metadata
- Download URL: x_api_scraper_haystack-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.7.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f537a2cebccc27b016939ddcc3bb2600cbc8f3e0f7d512fc2610f92524e06c2
|
|
| MD5 |
cf65722c9e594a333335d7157f2bb2f1
|
|
| BLAKE2b-256 |
5ea7243c851214430106521ae9d822cb1bff3ad1968adc8e2eaef7785b6dff16
|