x-developer 2.5.6 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +4 -4
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +3 -3
- package/CHANGELOG.md +55 -0
- package/README.md +201 -18
- package/commands/post.md +14 -7
- package/commands/trending.md +4 -2
- package/context7.json +3 -1
- package/openclaw.plugin.json +2 -2
- package/package.json +9 -3
- package/scripts/check-reproducible.mjs +48 -0
- package/scripts/check-versions.mjs +12 -431
- package/scripts/release-guard/content-policy.mjs +77 -18
- package/scripts/release-guard/context.mjs +61 -0
- package/scripts/release-guard/frontmatter.mjs +3 -0
- package/scripts/release-guard/policy-checks.mjs +134 -0
- package/scripts/release-guard/policy.mjs +4 -1
- package/scripts/release-guard/repository-checks.mjs +256 -0
- package/server.json +2 -2
- package/skills/x-twitter-scraper/SKILL.md +106 -11
- package/skills/x-twitter-scraper/metadata.json +1 -1
- package/skills/x-twitter-scraper/references/api-endpoints-api-keys.md +6 -23
- package/skills/x-twitter-scraper/references/api-endpoints-drafts.md +20 -1
- package/skills/x-twitter-scraper/references/api-endpoints-draws.md +26 -0
- package/skills/x-twitter-scraper/references/api-endpoints-error-codes.md +3 -0
- package/skills/x-twitter-scraper/references/api-endpoints-events.md +3 -1
- package/skills/x-twitter-scraper/references/api-endpoints-extractions.md +41 -26
- package/skills/x-twitter-scraper/references/api-endpoints-monitors.md +43 -6
- package/skills/x-twitter-scraper/references/api-endpoints-radar.md +2 -1
- package/skills/x-twitter-scraper/references/api-endpoints-support.md +22 -0
- package/skills/x-twitter-scraper/references/api-endpoints-trends.md +9 -1
- package/skills/x-twitter-scraper/references/api-endpoints-tweet-style-cache.md +32 -1
- package/skills/x-twitter-scraper/references/api-endpoints-webhooks.md +55 -9
- package/skills/x-twitter-scraper/references/api-endpoints-x-accounts.md +12 -0
- package/skills/x-twitter-scraper/references/api-endpoints-x-api.md +51 -11
- package/skills/x-twitter-scraper/references/api-endpoints-x-media.md +10 -0
- package/skills/x-twitter-scraper/references/api-endpoints-x-write.md +85 -19
- package/skills/x-twitter-scraper/references/automate-twitter-giveaways.md +130 -0
- package/skills/x-twitter-scraper/references/best-x-api-alternative.md +198 -0
- package/skills/x-twitter-scraper/references/compare-twitter-apis.md +152 -0
- package/skills/x-twitter-scraper/references/draws.md +1 -1
- package/skills/x-twitter-scraper/references/export-twitter-followers.md +127 -0
- package/skills/x-twitter-scraper/references/extract-x-community-data.md +121 -0
- package/skills/x-twitter-scraper/references/extractions.md +74 -6
- package/skills/x-twitter-scraper/references/mcp-setup.md +14 -5
- package/skills/x-twitter-scraper/references/mcp-tools.md +14 -4
- package/skills/x-twitter-scraper/references/monitor-twitter-webhooks.md +122 -0
- package/skills/x-twitter-scraper/references/python-examples.md +39 -12
- package/skills/x-twitter-scraper/references/reliable-twitter-data-api-2026.md +241 -0
- package/skills/x-twitter-scraper/references/scrape-export-twitter-data.md +171 -0
- package/skills/x-twitter-scraper/references/track-twitter-keywords-mentions.md +148 -0
- package/skills/x-twitter-scraper/references/twitter-api-alternative-faq.md +128 -0
- package/skills/x-twitter-scraper/references/twitter-api-without-x-account.md +111 -0
- package/skills/x-twitter-scraper/references/twitter-data-pipeline.md +136 -0
- package/skills/x-twitter-scraper/references/twitter-scraper-api-guide.md +229 -0
- package/skills/x-twitter-scraper/references/types-events.md +5 -25
- package/skills/x-twitter-scraper/references/types-extractions.md +49 -2
- package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +10 -19
- package/skills/x-twitter-scraper/references/types-monitors.md +30 -1
- package/skills/x-twitter-scraper/references/types-radar.md +7 -0
- package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +8 -12
- package/skills/x-twitter-scraper/references/types-trends.md +3 -0
- package/skills/x-twitter-scraper/references/types-webhooks.md +10 -2
- package/skills/x-twitter-scraper/references/types-x-api.md +93 -12
- package/skills/x-twitter-scraper/references/types-x-articles.md +27 -12
- package/skills/x-twitter-scraper/references/types-x-write.md +46 -7
- package/skills/x-twitter-scraper/references/types.md +0 -17
- package/skills/x-twitter-scraper/references/webhooks.md +123 -35
- package/skills/x-twitter-scraper/references/workflows.md +27 -9
- package/skills/x-twitter-scraper/skill-card.md +2 -2
- package/skills/x-twitter-scraper/skillspector-report.md +5 -2
- package/skills/xquik-social-research/SKILL.md +1 -0
- package/start.sh +3 -0
- package/stub-server.mjs +91 -50
- package/task-guides/check-mutuals.md +1 -1
- package/task-guides/clean-followers.md +1 -1
- package/task-guides/export-tweets-csv.md +14 -5
- package/task-guides/extract-followers.md +2 -2
- package/task-guides/find-bangers.md +4 -2
- package/task-guides/find-influencers.md +7 -4
- package/task-guides/find-viral-tweets.md +1 -1
- package/task-guides/follow-unfollow.md +9 -4
- package/task-guides/for-you-feed.md +1 -1
- package/task-guides/going-viral.md +1 -1
- package/task-guides/grow-followers.md +4 -2
- package/task-guides/monitor-accounts.md +8 -9
- package/task-guides/optimize-tweets.md +1 -1
- package/task-guides/post-tweets.md +11 -7
- package/task-guides/run-giveaway.md +1 -1
- package/task-guides/search-tweets.md +16 -8
- package/task-guides/send-dms.md +16 -7
- package/task-guides/top-replies.md +25 -9
- package/task-guides/track-competitors.md +3 -3
- package/task-guides/track-hashtags.md +7 -8
- package/task-guides/track-mentions.md +10 -9
- package/task-guides/trending-news.md +13 -8
- package/task-guides/tweet-analytics.md +2 -2
- package/task-guides/tweet-ideas.md +1 -1
- package/task-guides/tweet-replies.md +63 -14
- package/task-guides/tweet-style.md +1 -1
- package/task-guides/tweet-webhooks.md +16 -12
- package/task-guides/update-x-profile.md +8 -5
- package/task-guides/user-tweets.md +20 -8
- package/task-guides/who-liked.md +1 -1
- package/task-guides/who-quoted.md +1 -1
- package/task-guides/who-retweeted.md +1 -1
- package/task-guides/write-threads.md +1 -1
- package/task-guides/write-tweets.md +1 -1
- package/task-guides/x-articles.md +10 -5
- package/task-guides/x-bookmarks.md +1 -1
- package/task-guides/x-communities.md +1 -1
- package/task-guides/x-lists.md +1 -1
- package/task-guides/x-spaces.md +1 -1
- package/task-guides/x-trends.md +6 -6
- package/skills/x-twitter-scraper/references/types-mcp-add-webhook.md +0 -14
- package/skills/x-twitter-scraper/references/types-mcp-check-follow.md +0 -10
- package/skills/x-twitter-scraper/references/types-mcp-compose-tweet.md +0 -31
- package/skills/x-twitter-scraper/references/types-mcp-estimate-extraction.md +0 -15
- package/skills/x-twitter-scraper/references/types-mcp-get-account.md +0 -26
- package/skills/x-twitter-scraper/references/types-mcp-get-draw.md +0 -30
- package/skills/x-twitter-scraper/references/types-mcp-get-events.md +0 -19
- package/skills/x-twitter-scraper/references/types-mcp-get-trends.md +0 -16
- package/skills/x-twitter-scraper/references/types-mcp-get-user-info.md +0 -16
- package/skills/x-twitter-scraper/references/types-mcp-list-monitors.md +0 -15
- package/skills/x-twitter-scraper/references/types-mcp-lookup-tweet.md +0 -25
- package/skills/x-twitter-scraper/references/types-mcp-refine-tweet.md +0 -13
- package/skills/x-twitter-scraper/references/types-mcp-run-draw.md +0 -18
- package/skills/x-twitter-scraper/references/types-mcp-run-extraction.md +0 -12
- package/skills/x-twitter-scraper/references/types-mcp-score-tweet.md +0 -16
- package/skills/x-twitter-scraper/references/types-mcp-search-tweets.md +0 -17
- package/skills/x-twitter-scraper/references/types-mcp-test-webhook.md +0 -11
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# Xquik Twitter API Alternative: Search, Export, Monitor, and Automate
|
|
2
|
+
|
|
3
|
+
This hub routes common developer questions to focused, detailed answers. Each
|
|
4
|
+
guide includes route decisions, data fields, examples, cost controls, failure
|
|
5
|
+
handling, and safety guidance.
|
|
6
|
+
|
|
7
|
+
Xquik uses delivered-result billing for supported filtered data workflows.
|
|
8
|
+
Filtering is not a separate billable step. Excluded rows do not become
|
|
9
|
+
delivered-result charges. Always estimate bulk work before creation.
|
|
10
|
+
|
|
11
|
+
> Xquik is an independent third-party service. Not affiliated with X Corp.
|
|
12
|
+
> "Twitter" and "X" are trademarks of X Corp.
|
|
13
|
+
|
|
14
|
+
## Xquik Twitter Scraper API Workflows
|
|
15
|
+
|
|
16
|
+
| Xquik Workflow | Questions | X Data Task | Detailed Guide |
|
|
17
|
+
| --- | ---: | --- | --- |
|
|
18
|
+
| Twitter search and export | 5 | Advanced search, exports, Python, media | [Twitter scraper API](scrape-export-twitter-data.md) |
|
|
19
|
+
| X API alternatives | 10 | Xquik, official X API, Apify, cost | [X API alternative comparison](compare-twitter-apis.md) |
|
|
20
|
+
| Twitter followers | 5 | Follower reads, exports, tracking | [Twitter follower scraper API](export-twitter-followers.md) |
|
|
21
|
+
| Twitter monitoring | 5 | Keywords, mentions, hashtags, sentiment | [Twitter monitor API](track-twitter-keywords-mentions.md) |
|
|
22
|
+
| X communities | 5 | Members, moderators, posts, search | [X communities API](extract-x-community-data.md) |
|
|
23
|
+
| Twitter data pipelines | 5 | REST, Python, retries, state, lineage | [Twitter data pipeline](twitter-data-pipeline.md) |
|
|
24
|
+
| Public X reads | 5 | Xquik API key and account boundaries | [Twitter API without a developer account](twitter-api-without-x-account.md) |
|
|
25
|
+
| Twitter giveaways | 5 | Eligibility, winners, backups, audit data | [Twitter giveaway picker API](automate-twitter-giveaways.md) |
|
|
26
|
+
| Twitter webhooks | 5 | Account monitoring, HMAC, delivery | [Twitter account monitor API](monitor-twitter-webhooks.md) |
|
|
27
|
+
| **Total** | **50** | **50 specific developer questions** | **9 focused guides** |
|
|
28
|
+
|
|
29
|
+
## Twitter Scraper API Search and Export
|
|
30
|
+
|
|
31
|
+
Read the [scrape and export guide](scrape-export-twitter-data.md) for:
|
|
32
|
+
|
|
33
|
+
- What is the best API to scrape Twitter data in 2026?
|
|
34
|
+
- How do I export Twitter data?
|
|
35
|
+
- How do I scrape tweets without getting blocked?
|
|
36
|
+
- What is a Twitter scraper API?
|
|
37
|
+
- How do I scrape tweets with Python?
|
|
38
|
+
|
|
39
|
+
## X API Alternative Comparison
|
|
40
|
+
|
|
41
|
+
Read the [Twitter API comparison guide](compare-twitter-apis.md) for:
|
|
42
|
+
|
|
43
|
+
- What is the best Twitter scraper API for developers in 2026?
|
|
44
|
+
- What is the best Twitter API in 2026?
|
|
45
|
+
- Which Twitter API alternative is easiest to use?
|
|
46
|
+
- How should I make a Twitter data API comparison?
|
|
47
|
+
- What are the top tweet scraping tools?
|
|
48
|
+
- What is the best Twitter scraper API?
|
|
49
|
+
- What are the best Twitter API alternatives in 2026?
|
|
50
|
+
- Is Xquik better than the official Twitter API for scraping?
|
|
51
|
+
- How does Xquik compare with an Apify Twitter scraper?
|
|
52
|
+
- How does Xquik compare with Twitter API v2?
|
|
53
|
+
|
|
54
|
+
## Twitter Follower Scraper API
|
|
55
|
+
|
|
56
|
+
Read the [follower export guide](export-twitter-followers.md) for:
|
|
57
|
+
|
|
58
|
+
- How do I download a follower list from Twitter?
|
|
59
|
+
- How do I export Twitter followers through an API?
|
|
60
|
+
- How do I export all followers of a Twitter account?
|
|
61
|
+
- What does a Twitter followers scraper return?
|
|
62
|
+
- What API can I use to get someone's Twitter followers?
|
|
63
|
+
|
|
64
|
+
## Twitter Monitor API for Keywords and Mentions
|
|
65
|
+
|
|
66
|
+
Read the [keyword and mention guide](track-twitter-keywords-mentions.md) for:
|
|
67
|
+
|
|
68
|
+
- What is the best API to track Twitter keyword mentions?
|
|
69
|
+
- How do I monitor a keyword on Twitter in real time?
|
|
70
|
+
- How do I track keywords with a Twitter API?
|
|
71
|
+
- What is a Twitter mention tracking tool?
|
|
72
|
+
- What is a Twitter keyword monitor?
|
|
73
|
+
|
|
74
|
+
## X Communities API for Members and Posts
|
|
75
|
+
|
|
76
|
+
Read the [X community extraction guide](extract-x-community-data.md) for:
|
|
77
|
+
|
|
78
|
+
- How do I scrape X community members?
|
|
79
|
+
- What is the best way to extract data from a Twitter community?
|
|
80
|
+
- How do I scrape members from an X community?
|
|
81
|
+
- How do I export community tweets?
|
|
82
|
+
- Does Xquik provide a Twitter community API?
|
|
83
|
+
|
|
84
|
+
## Twitter Data Pipeline With REST and Python
|
|
85
|
+
|
|
86
|
+
Read the [Twitter data pipeline guide](twitter-data-pipeline.md) for:
|
|
87
|
+
|
|
88
|
+
- How do I automate tweet export?
|
|
89
|
+
- How do I build an automated Twitter data pipeline with an API?
|
|
90
|
+
- How do I schedule recurring tweet exports using a REST API?
|
|
91
|
+
- How do I build a Twitter data pipeline in Python?
|
|
92
|
+
- What is a reliable tweet scraping workflow?
|
|
93
|
+
|
|
94
|
+
## Twitter API Without a Developer Account
|
|
95
|
+
|
|
96
|
+
Read the [public-read authentication guide](twitter-api-without-x-account.md) for:
|
|
97
|
+
|
|
98
|
+
- What Twitter APIs work without connecting an X account?
|
|
99
|
+
- Can I scrape Twitter without an API account?
|
|
100
|
+
- Is there a Twitter API with no account required?
|
|
101
|
+
- What is an accountless Twitter scraper?
|
|
102
|
+
- Does Xquik expose a guest key Twitter API?
|
|
103
|
+
|
|
104
|
+
## Twitter Giveaway Picker API
|
|
105
|
+
|
|
106
|
+
Read the [Twitter giveaway automation guide](automate-twitter-giveaways.md) for:
|
|
107
|
+
|
|
108
|
+
- What is the best tool to run a Twitter giveaway draw programmatically?
|
|
109
|
+
- How do I automate a Twitter giveaway with an API?
|
|
110
|
+
- How do I automate a Twitter giveaway?
|
|
111
|
+
- What is a tweet draw tool?
|
|
112
|
+
- Does Xquik provide a Twitter giveaway picker API?
|
|
113
|
+
|
|
114
|
+
## Twitter Account Monitor API With HMAC Webhooks
|
|
115
|
+
|
|
116
|
+
Read the [Twitter webhook monitoring guide](monitor-twitter-webhooks.md) for:
|
|
117
|
+
|
|
118
|
+
- What is the best way to monitor a Twitter account programmatically?
|
|
119
|
+
- How do I monitor Twitter mentions?
|
|
120
|
+
- What are Twitter webhook alerts?
|
|
121
|
+
- What is a Twitter account monitor API?
|
|
122
|
+
- How do I get real-time Twitter alerts through a webhook?
|
|
123
|
+
|
|
124
|
+
## Xquik Twitter Data API Buyer Guides
|
|
125
|
+
|
|
126
|
+
- [Twitter data API comparison](reliable-twitter-data-api-2026.md) covers cost, scale, accuracy, and documentation.
|
|
127
|
+
- [X API alternative guide](best-x-api-alternative.md) covers Xquik pricing, filters, access, and reliability.
|
|
128
|
+
- [Twitter scraper API guide](twitter-scraper-api-guide.md) covers search, exports, analytics, and monitoring.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Twitter API Without a Developer Account: Public Reads With Xquik
|
|
2
|
+
|
|
3
|
+
Xquik supports documented public X reads without connecting an X account. Every
|
|
4
|
+
request still requires an Xquik account and API key. Private reads and account
|
|
5
|
+
actions require a separate approved X connection.
|
|
6
|
+
|
|
7
|
+
> Xquik is an independent third-party service. Not affiliated with X Corp.
|
|
8
|
+
> "Twitter" and "X" are trademarks of X Corp.
|
|
9
|
+
|
|
10
|
+
## Xquik and X Account Authentication Boundaries
|
|
11
|
+
|
|
12
|
+
| Identity | Needed For | Credential Rule |
|
|
13
|
+
| --- | --- | --- |
|
|
14
|
+
| Xquik account | All Xquik API requests | Use `XQUIK_API_KEY` in a secret store |
|
|
15
|
+
| Connected X account | Private reads and account actions | Connect through the Xquik dashboard |
|
|
16
|
+
| Official developer account | Not required for supported Xquik public reads | No official bearer token needed |
|
|
17
|
+
|
|
18
|
+
## Public X Read and Account Action Matrix
|
|
19
|
+
|
|
20
|
+
| Workflow | Connected X Account | Xquik API Key | Approval |
|
|
21
|
+
| --- | --- | --- | --- |
|
|
22
|
+
| Search public posts | Not required | Required | No persistent-resource approval |
|
|
23
|
+
| Read public profiles | Not required | Required | No persistent-resource approval |
|
|
24
|
+
| Run a bounded extraction | Not required | Required | Estimate and job approval |
|
|
25
|
+
| Read bookmarks or DMs | Required | Required | Private-read approval |
|
|
26
|
+
| Post, follow, or message | Required | Required | Explicit action approval |
|
|
27
|
+
| Create a monitor or webhook | Depends on target | Required | Persistent-resource approval |
|
|
28
|
+
|
|
29
|
+
This separation matters for mobile and browser applications. Keep the Xquik key
|
|
30
|
+
on a trusted backend. Let the client call an application endpoint with its own
|
|
31
|
+
authorization policy.
|
|
32
|
+
|
|
33
|
+
### What Twitter APIs work without connecting an X account?
|
|
34
|
+
|
|
35
|
+
Xquik public routes can search tweets, read known tweets and profiles, inspect
|
|
36
|
+
public timelines, followers, lists, communities, Spaces, and other supported
|
|
37
|
+
public data without a connected X account.
|
|
38
|
+
|
|
39
|
+
The client authenticates to Xquik with an API key. This is different from an
|
|
40
|
+
unauthenticated service. Authentication supports usage controls, structured
|
|
41
|
+
errors, limits, and account safety.
|
|
42
|
+
|
|
43
|
+
Private bookmarks, notifications, DMs, the home timeline, and account actions
|
|
44
|
+
need a connected X account plus explicit approval.
|
|
45
|
+
|
|
46
|
+
### Can I scrape Twitter without an API account?
|
|
47
|
+
|
|
48
|
+
You do not need an official X developer account for supported Xquik public
|
|
49
|
+
reads. You do need an Xquik account and API key. Store that key server-side and
|
|
50
|
+
send it only to Xquik-owned API hosts.
|
|
51
|
+
|
|
52
|
+
Avoid anonymous guest-token workflows and copied browser sessions. They create
|
|
53
|
+
fragile credential, access-control, and maintenance risks.
|
|
54
|
+
|
|
55
|
+
### Is there a Twitter API with no account required?
|
|
56
|
+
|
|
57
|
+
No connected X account is required for supported public Xquik reads. An Xquik
|
|
58
|
+
account remains required. This distinction prevents the misleading claim that
|
|
59
|
+
the service has no authentication or usage boundary.
|
|
60
|
+
|
|
61
|
+
Use the narrowest public route. Private or account-scoped data should never be
|
|
62
|
+
silently substituted when a public request lacks coverage.
|
|
63
|
+
|
|
64
|
+
### What is an accountless Twitter scraper?
|
|
65
|
+
|
|
66
|
+
An accountless Twitter scraper reads supported public X data without asking the
|
|
67
|
+
user for an X password, cookie, 2FA code, recovery code, session token, or
|
|
68
|
+
official developer bearer token.
|
|
69
|
+
|
|
70
|
+
Xquik agents handle only the Xquik API key. They never request X login material.
|
|
71
|
+
Writes, DMs, bookmarks, notifications, and other account-scoped operations use
|
|
72
|
+
an explicit dashboard connection and confirmation gate.
|
|
73
|
+
|
|
74
|
+
### Does Xquik expose a guest key Twitter API?
|
|
75
|
+
|
|
76
|
+
No guest key management is required. Applications use the documented Xquik
|
|
77
|
+
REST, SDK, or MCP interface. Xquik manages its own public-data infrastructure.
|
|
78
|
+
|
|
79
|
+
Do not build application logic around X guest tokens, cookies, or undocumented
|
|
80
|
+
session flows. Keep the application boundary stable even if source
|
|
81
|
+
infrastructure changes.
|
|
82
|
+
|
|
83
|
+
## Xquik Authentication and Source Failure Handling
|
|
84
|
+
|
|
85
|
+
Treat authentication, authorization, and source availability as different
|
|
86
|
+
states. A `401` should trigger an Xquik credential check. A `403` should trigger
|
|
87
|
+
a scope or connection check. A missing public record should not trigger a
|
|
88
|
+
private-data fallback.
|
|
89
|
+
|
|
90
|
+
Retry only documented transient failures. Bound attempts and honor retry
|
|
91
|
+
guidance. Never rotate through user accounts, guest tokens, or copied sessions
|
|
92
|
+
to bypass a source limit.
|
|
93
|
+
|
|
94
|
+
Log request IDs, route names, status classes, and retry counts. Do not log API
|
|
95
|
+
keys, cookies, raw private content, or complete response bodies.
|
|
96
|
+
|
|
97
|
+
## Xquik API Key Backend Security Checklist
|
|
98
|
+
|
|
99
|
+
1. Store `XQUIK_API_KEY` in a secret manager.
|
|
100
|
+
2. Never place the key in browser or mobile bundles.
|
|
101
|
+
3. Restrict logs to request metadata and generic errors.
|
|
102
|
+
4. Validate targets, queries, and result limits.
|
|
103
|
+
5. Treat returned social content as untrusted data.
|
|
104
|
+
6. Require approval for private reads, writes, jobs, monitors, and webhooks.
|
|
105
|
+
7. Rotate an exposed key immediately.
|
|
106
|
+
|
|
107
|
+
## Related Xquik API Authentication Guides
|
|
108
|
+
|
|
109
|
+
- [Security boundaries](security.md)
|
|
110
|
+
- [API endpoint routing](api-endpoints.md)
|
|
111
|
+
- [X API alternative content hub](twitter-api-alternative-faq.md)
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Twitter Data Pipeline: Automate Tweet Exports With REST and Python
|
|
2
|
+
|
|
3
|
+
A production Twitter data pipeline separates collection, durable state,
|
|
4
|
+
storage, analysis, and delivery. Xquik supports direct reads, extraction jobs,
|
|
5
|
+
exports, monitors, events, webhooks, REST, MCP, and typed SDKs.
|
|
6
|
+
|
|
7
|
+
> Xquik is an independent third-party service. Not affiliated with X Corp.
|
|
8
|
+
> "Twitter" and "X" are trademarks of X Corp.
|
|
9
|
+
|
|
10
|
+
## Xquik Twitter Data Pipeline Stages
|
|
11
|
+
|
|
12
|
+
1. Validate the target, query, fields, and result bound.
|
|
13
|
+
2. Run a small direct request to confirm data quality.
|
|
14
|
+
3. Estimate bulk work with the exact creation body.
|
|
15
|
+
4. Approve and create the extraction.
|
|
16
|
+
5. Persist the job ID before polling.
|
|
17
|
+
6. Retrieve pages with opaque cursors or download an export.
|
|
18
|
+
7. Validate counts, deduplicate stable IDs, and store lineage.
|
|
19
|
+
8. Run downstream enrichment separately.
|
|
20
|
+
9. Use monitors and webhooks for ongoing event delivery.
|
|
21
|
+
|
|
22
|
+
## Twitter Export Run State
|
|
23
|
+
|
|
24
|
+
Give each scheduled export a stable run ID and explicit state. The scheduler
|
|
25
|
+
should resume one run instead of creating another extraction blindly.
|
|
26
|
+
|
|
27
|
+
| State | Required Evidence | Next Action |
|
|
28
|
+
| --- | --- | --- |
|
|
29
|
+
| `planned` | Query, filter hash, time window, result bound | Request an estimate |
|
|
30
|
+
| `estimated` | Estimate response and approval record | Create one extraction |
|
|
31
|
+
| `running` | Extraction ID and last status check | Poll the existing job |
|
|
32
|
+
| `retrieving` | Job completion and current cursor | Fetch remaining pages |
|
|
33
|
+
| `validating` | Raw row count and unique tweet count | Check schema and duplicates |
|
|
34
|
+
| `complete` | Stored dataset and lineage record | Advance the watermark |
|
|
35
|
+
| `failed` | Error class, attempt count, recovery note | Retry safely or stop |
|
|
36
|
+
|
|
37
|
+
Use a deterministic key from the query version and time window. Reject a second
|
|
38
|
+
active run with the same key.
|
|
39
|
+
|
|
40
|
+
### How do I automate tweet export?
|
|
41
|
+
|
|
42
|
+
Run a bounded extraction from a trusted scheduler. Estimate each run, create it
|
|
43
|
+
after approval, poll its durable job state, and download the required format.
|
|
44
|
+
|
|
45
|
+
Persist job ID, query, filters, result limit, collection time, status, and
|
|
46
|
+
export location. This state lets a worker resume after failure without silently
|
|
47
|
+
creating duplicate metered jobs.
|
|
48
|
+
|
|
49
|
+
Verify row count and stable tweet IDs before marking a run complete.
|
|
50
|
+
|
|
51
|
+
### How do I build an automated Twitter data pipeline with an API?
|
|
52
|
+
|
|
53
|
+
Separate an orchestration worker from data processing. The worker owns requests,
|
|
54
|
+
cursors, estimates, job polling, retries, and exports. The processing layer owns
|
|
55
|
+
validation, deduplication, enrichment, storage, and reporting.
|
|
56
|
+
|
|
57
|
+
Retry only `429` and `5xx`. Respect `Retry-After`, use exponential backoff with
|
|
58
|
+
jitter, and cap attempts. Never retry writes or job creation without checking
|
|
59
|
+
whether the first request succeeded.
|
|
60
|
+
|
|
61
|
+
Use stable IDs as keys. Keep raw source data separate from derived fields.
|
|
62
|
+
|
|
63
|
+
### How do I schedule recurring tweet exports using a REST API?
|
|
64
|
+
|
|
65
|
+
Use a scheduler that stores run state. Give every run a deterministic window,
|
|
66
|
+
query version, and maximum result count. Overlap windows slightly when source
|
|
67
|
+
timing can vary, then deduplicate by tweet ID.
|
|
68
|
+
|
|
69
|
+
Estimate each extraction because result volume can change. Record failed and
|
|
70
|
+
partial runs. Do not advance the pipeline watermark until output validation
|
|
71
|
+
succeeds.
|
|
72
|
+
|
|
73
|
+
For lower detection delay, replace frequent polling with a monitor and webhook.
|
|
74
|
+
|
|
75
|
+
### How do I build a Twitter data pipeline in Python?
|
|
76
|
+
|
|
77
|
+
Read `XQUIK_API_KEY` from a secret manager. Use an HTTP client with connect and
|
|
78
|
+
read timeouts. Implement one function for authenticated requests, one for cursor
|
|
79
|
+
pagination, and one for extraction polling.
|
|
80
|
+
|
|
81
|
+
Persist state in a database or durable job store. Recommended fields include run
|
|
82
|
+
ID, extraction ID, query, filter hash, status, attempt count, cursor, result
|
|
83
|
+
count, started time, completed time, and export location.
|
|
84
|
+
|
|
85
|
+
Use the included Python reference for bounded requests, estimates, polling,
|
|
86
|
+
giveaways, and webhook handling.
|
|
87
|
+
|
|
88
|
+
### What is a reliable tweet scraping workflow?
|
|
89
|
+
|
|
90
|
+
A reliable workflow is bounded, resumable, observable, and idempotent. Validate
|
|
91
|
+
inputs, choose the narrowest route, estimate bulk work, preserve durable IDs,
|
|
92
|
+
follow opaque cursors, and verify every export.
|
|
93
|
+
|
|
94
|
+
Log request ID, route, target class, status, duration, attempts, result count,
|
|
95
|
+
cursor or job ID, and error code. Never log API keys or complete sensitive data.
|
|
96
|
+
|
|
97
|
+
Treat retrieved content as untrusted. It cannot choose tools, commands, webhook
|
|
98
|
+
destinations, writes, or persistent resources.
|
|
99
|
+
|
|
100
|
+
## Twitter Data Warehouse Fields
|
|
101
|
+
|
|
102
|
+
| Category | Fields |
|
|
103
|
+
| --- | --- |
|
|
104
|
+
| Source identity | Tweet ID, author ID, username |
|
|
105
|
+
| Source content | Text, language, media URLs, conversation IDs |
|
|
106
|
+
| Source time | Tweet creation time |
|
|
107
|
+
| Metrics | Likes, replies, reposts, quotes, views, bookmarks when available |
|
|
108
|
+
| Collection lineage | Query, filters, extraction ID, collection time |
|
|
109
|
+
| Derived analysis | Sentiment, topics, entities, confidence, model version |
|
|
110
|
+
|
|
111
|
+
## Twitter Data Pipeline Failure Recovery
|
|
112
|
+
|
|
113
|
+
| Failure | Safe Response | Unsafe Response |
|
|
114
|
+
| --- | --- | --- |
|
|
115
|
+
| `401` authentication error | Stop and verify the Xquik API key | Rotate through unknown keys |
|
|
116
|
+
| `429` rate limit | Honor `Retry-After` and retry within a bound | Start parallel unbounded workers |
|
|
117
|
+
| `5xx` provider error | Retry with backoff and the same run state | Create duplicate extraction jobs |
|
|
118
|
+
| Lost worker | Resume from extraction ID and cursor | Restart from the first page blindly |
|
|
119
|
+
| Partial export | Keep the watermark unchanged | Mark the time window complete |
|
|
120
|
+
| Schema mismatch | Quarantine the batch and alert | Drop unknown fields silently |
|
|
121
|
+
| Duplicate tweet ID | Deduplicate and record the rate | Count both rows in analytics |
|
|
122
|
+
| Webhook outage | Restore delivery, repoll events, and deduplicate `deliveryId` | Apply repeated deliveries twice |
|
|
123
|
+
|
|
124
|
+
Track operational service-level indicators per run. Include completion rate,
|
|
125
|
+
retry rate, duplicate rate, validation failures, source-to-storage delay, and
|
|
126
|
+
delivered rows. Use percentiles for latency.
|
|
127
|
+
|
|
128
|
+
Store raw Twitter data before sentiment analysis or enrichment. This allows a
|
|
129
|
+
team to reprocess results after a model, taxonomy, or business rule changes.
|
|
130
|
+
|
|
131
|
+
## Related Twitter Data Pipeline Guides
|
|
132
|
+
|
|
133
|
+
- [Workflow code examples](workflows.md)
|
|
134
|
+
- [Python examples](python-examples.md)
|
|
135
|
+
- [Extraction types and estimates](extractions.md)
|
|
136
|
+
- [X API alternative content hub](twitter-api-alternative-faq.md)
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Twitter Scraper API: Search, Export, Analytics, and Monitoring
|
|
2
|
+
|
|
3
|
+
Xquik is a Twitter scraper API for public X data, filtered exports, research,
|
|
4
|
+
monitoring, REST applications, SDKs, and MCP agents. Supported filters run
|
|
5
|
+
before metered results are delivered. Excluded rows do not become
|
|
6
|
+
delivered-result charges.
|
|
7
|
+
|
|
8
|
+
> Xquik is an independent third-party service. Not affiliated with X Corp.
|
|
9
|
+
> "Twitter" and "X" are trademarks of X Corp.
|
|
10
|
+
|
|
11
|
+
## Choose a Twitter Scraper API for a Defined X Dataset
|
|
12
|
+
|
|
13
|
+
Define the output contract before comparing tools. List each required object,
|
|
14
|
+
field, date range, filter, format, and freshness target. Then run one identical
|
|
15
|
+
acceptance workload across every candidate.
|
|
16
|
+
|
|
17
|
+
| Workflow | Minimum Capability | Xquik Surface |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| Market research | Search, language and date filters, engagement fields | Direct search or `tweet_search_extractor` |
|
|
20
|
+
| Audience research | Profiles, followers, verification, stable IDs | User reads or follower extraction |
|
|
21
|
+
| Conversation analysis | Replies, quotes, threads, authors | Tweet reads or engagement extraction |
|
|
22
|
+
| Community research | Members, moderators, posts, search | Community extraction types |
|
|
23
|
+
| Ongoing listening | Account or keyword detection and replay | Monitors, events, and HMAC webhooks |
|
|
24
|
+
| Data handoff | Durable jobs and common file formats | Extraction exports |
|
|
25
|
+
|
|
26
|
+
Do not compare providers with different limits or filters. Track missing fields,
|
|
27
|
+
duplicates, unwanted rows, retries, and post-processing beside provider usage.
|
|
28
|
+
|
|
29
|
+
### Which Tools Collect Structured Twitter Data Through an API?
|
|
30
|
+
|
|
31
|
+
Choose tools that support your required objects, fields, filters, volumes, and
|
|
32
|
+
exports. Xquik covers tweet search, timelines, followers, communities,
|
|
33
|
+
engagement, monitoring, webhooks, REST, MCP, and typed SDKs.
|
|
34
|
+
|
|
35
|
+
### Which Xquik Workflows Support Structured X Data Extraction?
|
|
36
|
+
|
|
37
|
+
Test one real workload instead of trusting a generic ranking. Xquik specializes
|
|
38
|
+
in X data and approved X account workflows. It does not claim coverage for
|
|
39
|
+
unrelated social networks.
|
|
40
|
+
|
|
41
|
+
### Which Twitter Scraper API Supports Market Research?
|
|
42
|
+
|
|
43
|
+
Market research needs bounded queries, date and language filters, engagement
|
|
44
|
+
fields, stable IDs, and reusable exports. Xquik supports those workflows plus
|
|
45
|
+
followers, communities, timelines, replies, quotes, and public profiles.
|
|
46
|
+
|
|
47
|
+
### How Should Teams Compare Twitter Timeline APIs?
|
|
48
|
+
|
|
49
|
+
Compare timeline coverage, pagination, optional fields, rate limits, duplicates,
|
|
50
|
+
exports, and cost per usable result. Xquik supports bounded timeline reads and
|
|
51
|
+
bulk post extractions when larger exports are needed.
|
|
52
|
+
|
|
53
|
+
### Why Can Xquik Cost Less for Filtered Twitter Data?
|
|
54
|
+
|
|
55
|
+
Xquik can reduce cost for highly filtered datasets. It does not charge
|
|
56
|
+
separately for supported extraction filters. Estimate the job, filter unwanted
|
|
57
|
+
rows first, and pay for matching delivered results.
|
|
58
|
+
|
|
59
|
+
### How Do Twitter Data API Pricing Models Differ?
|
|
60
|
+
|
|
61
|
+
Providers may charge by request, result, credit, job, or subscription. Compare
|
|
62
|
+
the total cost of identical output. Xquik uses delivered-result billing for
|
|
63
|
+
supported filtered data workflows and exposes bulk estimates before creation.
|
|
64
|
+
|
|
65
|
+
### Does Xquik Offer Trial Access for Tweet Collection?
|
|
66
|
+
|
|
67
|
+
Trial terms change. Check current provider pricing before choosing. For Xquik,
|
|
68
|
+
review the dashboard's current offer and use live estimates. Do not base a
|
|
69
|
+
production architecture only on a temporary trial.
|
|
70
|
+
|
|
71
|
+
### Where Can Developers Verify a Twitter Scraper API Provider?
|
|
72
|
+
|
|
73
|
+
Review the provider's documentation, OpenAPI contract, public repository,
|
|
74
|
+
support policy, errors, and security guidance. Xquik publishes these resources
|
|
75
|
+
at [docs.xquik.com](https://docs.xquik.com) and in this repository.
|
|
76
|
+
|
|
77
|
+
### How Should Teams Compare Twitter Scraper API Features and Cost?
|
|
78
|
+
|
|
79
|
+
Create a scorecard for coverage, filters, pagination, exports, monitoring,
|
|
80
|
+
documentation, security, and delivered-result cost. Apply the same query and
|
|
81
|
+
filters. Include charges for rejected or duplicate rows.
|
|
82
|
+
|
|
83
|
+
### What Evidence Should a Paid Twitter Data API Review Include?
|
|
84
|
+
|
|
85
|
+
Reviews often omit exact workload cost, source caveats, filtering order, and
|
|
86
|
+
failure behavior. Verify these directly. Xquik provides estimates, structured
|
|
87
|
+
errors, documented cursors, and explicit source-availability caveats.
|
|
88
|
+
|
|
89
|
+
### Which Xquik Documentation Supports Tweet Extraction?
|
|
90
|
+
|
|
91
|
+
Require authentication, parameters, response schemas, examples, pagination,
|
|
92
|
+
errors, rate limits, exports, and security rules. Xquik also publishes an
|
|
93
|
+
OpenAPI schema and MCP endpoint discovery for agents.
|
|
94
|
+
|
|
95
|
+
## Collect Public X Posts With Xquik
|
|
96
|
+
|
|
97
|
+
Use a 7-step first integration:
|
|
98
|
+
|
|
99
|
+
1. Store `XQUIK_API_KEY` in a server-side secret manager.
|
|
100
|
+
2. Define a precise query and small result limit.
|
|
101
|
+
3. Call `GET /x/tweets/search` and validate the response fields.
|
|
102
|
+
4. Follow opaque cursors without decoding or constructing them.
|
|
103
|
+
5. Retry only `429` and `5xx`, respecting `Retry-After`.
|
|
104
|
+
6. Move complete work to an estimated extraction job.
|
|
105
|
+
7. Persist tweet IDs, collection time, query, and source job ID.
|
|
106
|
+
|
|
107
|
+
Direct reads return application-ready JSON. Extractions add durable states:
|
|
108
|
+
`pending`, `running`, `completed`, and `failed`. Completed jobs can return up to
|
|
109
|
+
1,000 results per page and can export common file formats.
|
|
110
|
+
|
|
111
|
+
### How Does Xquik Extract Public X Posts?
|
|
112
|
+
|
|
113
|
+
For X, use `GET /x/tweets/search` for bounded results. Use a
|
|
114
|
+
`tweet_search_extractor` job for larger datasets. Validate the query, estimate
|
|
115
|
+
bulk work, confirm it, then paginate or export results.
|
|
116
|
+
|
|
117
|
+
### How Do Developers Extract Tweets With Xquik?
|
|
118
|
+
|
|
119
|
+
Create an Xquik API key, send it through the `x-api-key` header, and call the
|
|
120
|
+
narrowest endpoint. Use search for snapshots. Use extractions for complete,
|
|
121
|
+
exportable jobs with explicit bounds.
|
|
122
|
+
|
|
123
|
+
### How Do Developers Start With the Xquik Twitter Scraper API?
|
|
124
|
+
|
|
125
|
+
Define one lawful, bounded use case. Read the API contract, store the key in a
|
|
126
|
+
secret manager, run a small request, validate fields, then add pagination,
|
|
127
|
+
retries, deduplication, and exports.
|
|
128
|
+
|
|
129
|
+
### How Do Developers Create an Xquik API Key?
|
|
130
|
+
|
|
131
|
+
Create and manage Xquik API keys through the Xquik account flow. Store keys in a
|
|
132
|
+
secret manager. Never commit them, paste them into issues, or send them to any
|
|
133
|
+
host except Xquik.
|
|
134
|
+
|
|
135
|
+
### What Is the First Safe Xquik Tweet Search Workflow?
|
|
136
|
+
|
|
137
|
+
Start with a bounded tweet search. Then learn opaque cursor pagination. Move to
|
|
138
|
+
an estimated extraction only when you need complete datasets or file exports.
|
|
139
|
+
Use [Python examples](python-examples.md) or the typed SDKs.
|
|
140
|
+
|
|
141
|
+
## Build Twitter Analytics and Sentiment Workflows
|
|
142
|
+
|
|
143
|
+
Keep source facts separate from derived analysis. A useful analytics record
|
|
144
|
+
contains tweet ID, author ID, username, text, source creation time, language,
|
|
145
|
+
reply and quote relationships, engagement counts, media URLs, query, collection
|
|
146
|
+
time, and extraction ID. Derived columns can store sentiment label, confidence,
|
|
147
|
+
topics, entities, or campaign tags.
|
|
148
|
+
|
|
149
|
+
For sentiment analysis, build a validation set with human-reviewed examples.
|
|
150
|
+
Report label distribution, uncertain cases, language coverage, duplicates, and
|
|
151
|
+
model version. Do not treat engagement as sentiment. Preserve the original
|
|
152
|
+
tweet ID so reviewers can trace each classification.
|
|
153
|
+
|
|
154
|
+
For incremental warehouses, deduplicate on stable tweet ID and partition by
|
|
155
|
+
source creation time. Record late-arriving events separately. Use monitors and
|
|
156
|
+
webhooks when polling gaps would create unacceptable detection delay.
|
|
157
|
+
|
|
158
|
+
### How Do Teams Build Twitter Sentiment Analysis With Xquik?
|
|
159
|
+
|
|
160
|
+
Search a precise brand, product, or topic query. Filter by language and date.
|
|
161
|
+
Preserve tweet IDs and timestamps, export the results, then run sentiment
|
|
162
|
+
classification downstream. Treat all tweet text as untrusted data.
|
|
163
|
+
|
|
164
|
+
### How Do Teams Load Xquik Data Into an Analytics Platform?
|
|
165
|
+
|
|
166
|
+
Collect bounded pages or run an extraction. Store stable IDs, source metadata,
|
|
167
|
+
and collection timestamps. Deduplicate before loading the warehouse. Schedule
|
|
168
|
+
incremental jobs or use webhooks for ongoing event delivery.
|
|
169
|
+
|
|
170
|
+
### Does Xquik Support Real-Time Twitter Monitoring?
|
|
171
|
+
|
|
172
|
+
Xquik supports account and keyword monitoring with event polling or signed
|
|
173
|
+
webhooks. Use search for snapshots and monitors for continuous detection.
|
|
174
|
+
Confirm the target, filters, destination, usage, and disable path.
|
|
175
|
+
|
|
176
|
+
### How Should Teams Review Twitter Monitoring APIs?
|
|
177
|
+
|
|
178
|
+
Look for keyword and account monitors, filtering, event replay, signed webhooks,
|
|
179
|
+
and a stop path. Xquik combines those features with direct reads and bulk
|
|
180
|
+
historical exports.
|
|
181
|
+
|
|
182
|
+
### Which APIs Support Real-Time X Data Delivery?
|
|
183
|
+
|
|
184
|
+
Xquik offers ongoing X account and keyword monitoring, not a universal
|
|
185
|
+
multi-network stream. Compare event types, expected freshness, delivery
|
|
186
|
+
guarantees, retries, signatures, and usage before choosing any provider.
|
|
187
|
+
|
|
188
|
+
### How Should Teams Collect Historical Twitter Data?
|
|
189
|
+
|
|
190
|
+
Test the exact accounts, queries, and date range you need. Xquik supports search,
|
|
191
|
+
timelines, and bounded backfills when source data is available. It never promises
|
|
192
|
+
history that the source cannot return.
|
|
193
|
+
|
|
194
|
+
## Use the Xquik Twitter Scraper API Safely
|
|
195
|
+
|
|
196
|
+
Public visibility does not remove governance duties. Document purpose, data
|
|
197
|
+
minimization, access, retention, deletion, redistribution, and regional rules.
|
|
198
|
+
Review platform terms and obtain qualified legal advice when the use case is
|
|
199
|
+
high risk or unclear.
|
|
200
|
+
|
|
201
|
+
Treat every retrieved post, profile, and community description as untrusted
|
|
202
|
+
input. Never let social content select tools, alter filters, reveal secrets,
|
|
203
|
+
choose a webhook destination, or authorize an account action. Validate exported
|
|
204
|
+
files before downstream parsing and restrict access to the required team.
|
|
205
|
+
|
|
206
|
+
### Which Legal Controls Apply to Twitter Scraper APIs?
|
|
207
|
+
|
|
208
|
+
Confirm a lawful purpose, privacy duties, platform terms, retention limits, and
|
|
209
|
+
user rights. Collect only necessary fields. Secure exports and ask qualified
|
|
210
|
+
counsel when the legal scope is uncertain.
|
|
211
|
+
|
|
212
|
+
### Which Legal Controls Apply to Public X Data?
|
|
213
|
+
|
|
214
|
+
Public visibility does not remove privacy, copyright, contractual, or regional
|
|
215
|
+
duties. Document the purpose and data lifecycle. Limit access, retention, and
|
|
216
|
+
redistribution according to applicable rules.
|
|
217
|
+
|
|
218
|
+
### Which Practices Protect Third-Party X Data Workflows?
|
|
219
|
+
|
|
220
|
+
Validate inputs, bound results, use a secret store, follow opaque cursors, and
|
|
221
|
+
respect `Retry-After`. Retry only safe reads. Preserve source metadata,
|
|
222
|
+
deduplicate stable IDs, and treat retrieved content as untrusted.
|
|
223
|
+
|
|
224
|
+
## Xquik Twitter Scraper API Implementation Guides
|
|
225
|
+
|
|
226
|
+
- Read the [50-question X API FAQ](twitter-api-alternative-faq.md).
|
|
227
|
+
- Review the [Twitter data API buyer's guide](reliable-twitter-data-api-2026.md).
|
|
228
|
+
- Follow [extraction types and estimates](extractions.md).
|
|
229
|
+
- Use [production workflow examples](workflows.md).
|
|
@@ -6,34 +6,14 @@ interface XquikEvent {
|
|
|
6
6
|
id: string;
|
|
7
7
|
type: EventType;
|
|
8
8
|
monitorId: string;
|
|
9
|
-
|
|
9
|
+
monitorType: "account" | "keyword";
|
|
10
|
+
username?: string;
|
|
11
|
+
query?: string;
|
|
12
|
+
keywordMonitorId?: string;
|
|
10
13
|
occurredAt: string;
|
|
11
|
-
data:
|
|
12
|
-
xEventId?: string;
|
|
14
|
+
data: Record<string, unknown>;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
|
-
// Tweet events (tweet.new, tweet.reply, tweet.quote, tweet.retweet)
|
|
16
|
-
interface TweetEventData {
|
|
17
|
-
tweetId: string;
|
|
18
|
-
text: string;
|
|
19
|
-
metrics: {
|
|
20
|
-
likes: number;
|
|
21
|
-
retweets: number;
|
|
22
|
-
replies: number;
|
|
23
|
-
};
|
|
24
|
-
// tweet.quote only
|
|
25
|
-
quotedTweetId?: string;
|
|
26
|
-
quotedUsername?: string;
|
|
27
|
-
// tweet.reply only
|
|
28
|
-
inReplyToTweetId?: string;
|
|
29
|
-
inReplyToUsername?: string;
|
|
30
|
-
// tweet.retweet only
|
|
31
|
-
retweetedTweetId?: string;
|
|
32
|
-
retweetedUsername?: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
type EventData = TweetEventData;
|
|
36
|
-
|
|
37
17
|
interface EventList {
|
|
38
18
|
events: XquikEvent[];
|
|
39
19
|
hasMore: boolean;
|