x-developer 2.6.5 → 2.6.7
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 +3 -3
- package/.codex-plugin/plugin.json +5 -5
- package/CHANGELOG.md +19 -3
- package/README.md +111 -70
- package/commands/post.md +5 -5
- package/commands/search.md +5 -8
- package/commands/trending.md +3 -5
- package/commands/user.md +4 -10
- package/context7.json +9 -9
- package/openclaw.plugin.json +4 -4
- package/package.json +10 -2
- package/scripts/check-versions.mjs +1 -1
- package/scripts/release-guard/content-policy.mjs +17 -17
- package/scripts/release-guard/policy.mjs +2 -2
- package/server.json +1 -1
- package/skills/x-twitter-scraper/SKILL.md +96 -90
- package/skills/x-twitter-scraper/metadata.json +2 -2
- package/skills/x-twitter-scraper/references/api-endpoints-api-keys.md +5 -5
- package/skills/x-twitter-scraper/references/api-endpoints-compose.md +16 -16
- package/skills/x-twitter-scraper/references/api-endpoints-credits.md +3 -3
- package/skills/x-twitter-scraper/references/api-endpoints-drafts.md +21 -21
- package/skills/x-twitter-scraper/references/api-endpoints-draws.md +15 -15
- package/skills/x-twitter-scraper/references/api-endpoints-error-codes.md +4 -4
- package/skills/x-twitter-scraper/references/api-endpoints-events.md +8 -8
- package/skills/x-twitter-scraper/references/api-endpoints-extractions.md +24 -23
- package/skills/x-twitter-scraper/references/api-endpoints-monitors.md +21 -21
- package/skills/x-twitter-scraper/references/api-endpoints-radar.md +13 -13
- package/skills/x-twitter-scraper/references/api-endpoints-support.md +6 -6
- package/skills/x-twitter-scraper/references/api-endpoints-trends.md +20 -5
- package/skills/x-twitter-scraper/references/api-endpoints-tweet-style-cache.md +39 -39
- package/skills/x-twitter-scraper/references/api-endpoints-webhooks.md +24 -24
- package/skills/x-twitter-scraper/references/api-endpoints-x-accounts.md +13 -13
- package/skills/x-twitter-scraper/references/api-endpoints-x-api.md +41 -41
- package/skills/x-twitter-scraper/references/api-endpoints-x-media.md +9 -9
- package/skills/x-twitter-scraper/references/api-endpoints-x-write.md +73 -73
- package/skills/x-twitter-scraper/references/api-endpoints.md +11 -11
- package/skills/x-twitter-scraper/references/automate-twitter-giveaways.md +13 -13
- package/skills/x-twitter-scraper/references/best-x-api-alternative.md +38 -38
- package/skills/x-twitter-scraper/references/compare-twitter-apis.md +23 -24
- package/skills/x-twitter-scraper/references/draws.md +14 -14
- package/skills/x-twitter-scraper/references/export-twitter-followers.md +12 -12
- package/skills/x-twitter-scraper/references/extract-x-community-data.md +10 -10
- package/skills/x-twitter-scraper/references/extractions.md +54 -48
- package/skills/x-twitter-scraper/references/mcp-setup.md +30 -36
- package/skills/x-twitter-scraper/references/mcp-tools.md +59 -69
- package/skills/x-twitter-scraper/references/monitor-twitter-webhooks.md +17 -18
- package/skills/x-twitter-scraper/references/python-examples.md +18 -26
- package/skills/x-twitter-scraper/references/reliable-twitter-data-api-2026.md +58 -60
- package/skills/x-twitter-scraper/references/scrape-export-twitter-data.md +25 -27
- package/skills/x-twitter-scraper/references/security.md +9 -22
- package/skills/x-twitter-scraper/references/track-twitter-keywords-mentions.md +18 -18
- package/skills/x-twitter-scraper/references/twitter-api-alternative-faq.md +17 -17
- package/skills/x-twitter-scraper/references/twitter-api-without-x-account.md +10 -11
- package/skills/x-twitter-scraper/references/twitter-data-pipeline.md +23 -23
- package/skills/x-twitter-scraper/references/twitter-scraper-api-guide.md +50 -50
- package/skills/x-twitter-scraper/references/types-account-identity.md +1 -1
- package/skills/x-twitter-scraper/references/types-account.md +1 -1
- package/skills/x-twitter-scraper/references/types-api-keys.md +1 -1
- package/skills/x-twitter-scraper/references/types-bookmarks-and-timeline.md +1 -1
- package/skills/x-twitter-scraper/references/types-credits.md +1 -1
- package/skills/x-twitter-scraper/references/types-download-media.md +4 -4
- package/skills/x-twitter-scraper/references/types-draws.md +1 -1
- package/skills/x-twitter-scraper/references/types-error.md +1 -1
- package/skills/x-twitter-scraper/references/types-events.md +1 -1
- package/skills/x-twitter-scraper/references/types-extractions.md +79 -96
- package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +1 -1
- package/skills/x-twitter-scraper/references/types-monitors.md +1 -1
- package/skills/x-twitter-scraper/references/types-radar.md +1 -1
- package/skills/x-twitter-scraper/references/types-request-bodies.md +1 -1
- package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +1 -1
- package/skills/x-twitter-scraper/references/types-support.md +1 -1
- package/skills/x-twitter-scraper/references/types-trends.md +1 -1
- package/skills/x-twitter-scraper/references/types-tweet-drafts.md +1 -1
- package/skills/x-twitter-scraper/references/types-tweet-style-cache.md +1 -1
- package/skills/x-twitter-scraper/references/types-user-activity.md +1 -1
- package/skills/x-twitter-scraper/references/types-webhooks.md +1 -1
- package/skills/x-twitter-scraper/references/types-x-accounts.md +3 -3
- package/skills/x-twitter-scraper/references/types-x-api.md +25 -31
- package/skills/x-twitter-scraper/references/types-x-articles.md +1 -1
- package/skills/x-twitter-scraper/references/types-x-write.md +3 -3
- package/skills/x-twitter-scraper/references/types.md +15 -15
- package/skills/x-twitter-scraper/references/usage.md +6 -6
- package/skills/x-twitter-scraper/references/webhooks.md +27 -37
- package/skills/x-twitter-scraper/references/workflows.md +54 -63
- package/skills/x-twitter-scraper/skill-card.md +35 -27
- package/skills/x-twitter-scraper/skillspector-report.md +2 -2
- package/skills/xquik-social-research/SKILL.md +19 -16
- package/skills.sh.json +8 -8
- package/stub-server.mjs +42 -42
- package/task-guides/check-mutuals.md +9 -9
- package/task-guides/clean-followers.md +15 -15
- package/task-guides/export-tweets-csv.md +12 -12
- package/task-guides/extract-followers.md +16 -16
- package/task-guides/find-bangers.md +14 -14
- package/task-guides/find-influencers.md +10 -10
- package/task-guides/find-viral-tweets.md +15 -15
- package/task-guides/follow-unfollow.md +16 -15
- package/task-guides/for-you-feed.md +10 -10
- package/task-guides/going-viral.md +19 -18
- package/task-guides/grow-followers.md +13 -13
- package/task-guides/monitor-accounts.md +16 -16
- package/task-guides/optimize-tweets.md +16 -15
- package/task-guides/post-tweets.md +19 -18
- package/task-guides/run-giveaway.md +15 -15
- package/task-guides/search-tweets.md +13 -13
- package/task-guides/send-dms.md +13 -13
- package/task-guides/top-replies.md +10 -10
- package/task-guides/track-competitors.md +16 -16
- package/task-guides/track-hashtags.md +10 -10
- package/task-guides/track-mentions.md +12 -12
- package/task-guides/trending-news.md +11 -11
- package/task-guides/tweet-analytics.md +16 -16
- package/task-guides/tweet-ideas.md +10 -10
- package/task-guides/tweet-replies.md +15 -15
- package/task-guides/tweet-style.md +10 -10
- package/task-guides/tweet-webhooks.md +12 -12
- package/task-guides/update-x-profile.md +15 -15
- package/task-guides/user-tweets.md +21 -21
- package/task-guides/who-liked.md +10 -10
- package/task-guides/who-quoted.md +10 -10
- package/task-guides/who-retweeted.md +10 -10
- package/task-guides/write-threads.md +12 -16
- package/task-guides/write-tweets.md +15 -15
- package/task-guides/x-articles.md +9 -9
- package/task-guides/x-bookmarks.md +10 -10
- package/task-guides/x-communities.md +10 -10
- package/task-guides/x-lists.md +8 -8
- package/task-guides/x-spaces.md +9 -9
- package/task-guides/x-trends.md +11 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# X Communities API:
|
|
1
|
+
# X Communities API: export members, moderators, and posts
|
|
2
2
|
|
|
3
3
|
Xquik supports community discovery, metadata, members, moderators, posts, and
|
|
4
4
|
search. Use the numeric community ID from `x.com/i/communities/{id}`.
|
|
@@ -6,22 +6,22 @@ search. Use the numeric community ID from `x.com/i/communities/{id}`.
|
|
|
6
6
|
> Xquik is an independent third-party service. Not affiliated with X Corp.
|
|
7
7
|
> "Twitter" and "X" are trademarks of X Corp.
|
|
8
8
|
|
|
9
|
-
## X Community
|
|
9
|
+
## X Community dataset matrix
|
|
10
10
|
|
|
11
|
-
| Dataset | Extraction
|
|
11
|
+
| Dataset | Extraction type | Required input | Useful keys |
|
|
12
12
|
| --- | --- | --- | --- |
|
|
13
13
|
| Members | `community_extractor` | `targetCommunityId` | Community ID and user ID |
|
|
14
14
|
| Moderators | `community_moderator_explorer` | `targetCommunityId` | Community ID and user ID |
|
|
15
15
|
| Posts | `community_post_extractor` | `targetCommunityId` | Community ID and tweet ID |
|
|
16
16
|
| Matching posts | `community_search` | Community ID and `searchQuery` | Community ID, query, tweet ID |
|
|
17
17
|
|
|
18
|
-
## X Community
|
|
18
|
+
## X Community research schema
|
|
19
19
|
|
|
20
20
|
Use a separate table for communities, member observations, and post
|
|
21
21
|
observations. This prevents a current profile update from changing past
|
|
22
22
|
research results.
|
|
23
23
|
|
|
24
|
-
| Table | Primary
|
|
24
|
+
| Table | Primary key | Stored context |
|
|
25
25
|
| --- | --- | --- |
|
|
26
26
|
| `communities` | Community ID | Name, description, rules, collected time |
|
|
27
27
|
| `community_members` | Community ID, user ID, snapshot ID | Role and membership observation |
|
|
@@ -51,7 +51,7 @@ Moderators answer governance questions. Posts answer content questions.
|
|
|
51
51
|
Community search answers topic questions inside one community.
|
|
52
52
|
|
|
53
53
|
Use a direct read for a small application page. Use extraction jobs for durable
|
|
54
|
-
or
|
|
54
|
+
or exportable datasets. Estimate before creating bulk work.
|
|
55
55
|
|
|
56
56
|
Keep member and post datasets separate. Their identifiers, update rates,
|
|
57
57
|
privacy considerations, and analysis methods differ.
|
|
@@ -90,7 +90,7 @@ Community writes are separate account actions. They require a connected X
|
|
|
90
90
|
account and explicit confirmation. Public community reads do not authorize
|
|
91
91
|
joins, leaves, or moderation actions.
|
|
92
92
|
|
|
93
|
-
## X Community
|
|
93
|
+
## X Community extraction checklist
|
|
94
94
|
|
|
95
95
|
1. Confirm the public community and numeric ID.
|
|
96
96
|
2. Choose members, moderators, posts, or scoped search.
|
|
@@ -100,7 +100,7 @@ joins, leaves, or moderation actions.
|
|
|
100
100
|
6. Separate raw content from derived analysis.
|
|
101
101
|
7. Apply privacy, retention, and redistribution controls.
|
|
102
102
|
|
|
103
|
-
## X Community
|
|
103
|
+
## X Community dataset quality checks
|
|
104
104
|
|
|
105
105
|
Report the requested result bound, returned rows, unique IDs, and collection
|
|
106
106
|
time. Explain whether the dataset covers members, moderators, posts, or search
|
|
@@ -114,8 +114,8 @@ For topic analysis, publish the query version and language coverage. For network
|
|
|
114
114
|
analysis, explain whether edges represent membership, replies, quotes, or
|
|
115
115
|
reposts. Each edge has a different meaning.
|
|
116
116
|
|
|
117
|
-
## Related X Community API
|
|
117
|
+
## Related X Community API guides
|
|
118
118
|
|
|
119
119
|
- [Extraction types](extractions.md)
|
|
120
120
|
- [Community endpoint routes](api-endpoints-x-api.md)
|
|
121
|
-
- [X API alternative
|
|
121
|
+
- [X API alternative FAQ](twitter-api-alternative-faq.md)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Xquik
|
|
1
|
+
# Xquik extraction tools
|
|
2
2
|
|
|
3
|
-
23 bulk data extraction tools. Each requires a specific target
|
|
3
|
+
Xquik provides 23 bulk data extraction tools. Each tool requires a specific target.
|
|
4
4
|
|
|
5
|
-
## Privacy and
|
|
5
|
+
## Privacy and acceptable use
|
|
6
6
|
|
|
7
7
|
Bulk extraction and export can collect large amounts of public identity,
|
|
8
8
|
activity, and relationship data. Before creating a job, confirm the lawful
|
|
@@ -19,23 +19,17 @@ without renewed approval.
|
|
|
19
19
|
The API accepts an omitted `resultsLimit`. This Skill must always send an
|
|
20
20
|
explicit finite positive bound. Use the same bound for estimate and create.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Call `POST /extractions`
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Estimate first with `POST /extractions/estimate` with the same body to preview `creditsRequired`, `creditsAvailable`, and whether the job is allowed.
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## Tool types
|
|
27
27
|
|
|
28
|
-
-
|
|
29
|
-
- [Response](#response)
|
|
30
|
-
- [Retrieving Results](#retrieving-results)
|
|
31
|
-
- [Exporting Results](#exporting-results)
|
|
32
|
-
- [Estimating Usage](#estimating-usage)
|
|
28
|
+
### Tweet-based tools
|
|
33
29
|
|
|
34
|
-
|
|
30
|
+
These tools require `targetTweetId`.
|
|
35
31
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
| Tool Type | Description |
|
|
32
|
+
| Tool type | Description |
|
|
39
33
|
|-----------|-------------|
|
|
40
34
|
| `reply_extractor` | Extract users who replied to a tweet |
|
|
41
35
|
| `repost_extractor` | Extract users who retweeted a tweet |
|
|
@@ -44,7 +38,7 @@ explicit finite positive bound. Use the same bound for estimate and create.
|
|
|
44
38
|
| `article_extractor` | Extract article content linked in a tweet |
|
|
45
39
|
| `favoriters` | Extract users who favorited a tweet |
|
|
46
40
|
|
|
47
|
-
|
|
41
|
+
For example:
|
|
48
42
|
```json
|
|
49
43
|
{
|
|
50
44
|
"toolType": "reply_extractor",
|
|
@@ -52,9 +46,11 @@ explicit finite positive bound. Use the same bound for estimate and create.
|
|
|
52
46
|
}
|
|
53
47
|
```
|
|
54
48
|
|
|
55
|
-
### User-
|
|
49
|
+
### User-based tools
|
|
50
|
+
|
|
51
|
+
These tools require `targetUsername`.
|
|
56
52
|
|
|
57
|
-
| Tool
|
|
53
|
+
| Tool type | Description |
|
|
58
54
|
|-----------|-------------|
|
|
59
55
|
| `follower_explorer` | Extract followers of an account |
|
|
60
56
|
| `following_explorer` | Extract accounts followed by a user |
|
|
@@ -62,7 +58,7 @@ explicit finite positive bound. Use the same bound for estimate and create.
|
|
|
62
58
|
| `mention_extractor` | Extract tweets mentioning an account |
|
|
63
59
|
| `post_extractor` | Extract posts from an account |
|
|
64
60
|
|
|
65
|
-
|
|
61
|
+
For example:
|
|
66
62
|
```json
|
|
67
63
|
{
|
|
68
64
|
"toolType": "follower_explorer",
|
|
@@ -72,14 +68,16 @@ explicit finite positive bound. Use the same bound for estimate and create.
|
|
|
72
68
|
|
|
73
69
|
The `@` prefix is automatically stripped if included.
|
|
74
70
|
|
|
75
|
-
### User
|
|
71
|
+
### User timeline tools
|
|
76
72
|
|
|
77
|
-
|
|
73
|
+
These tools require `targetUsername`.
|
|
74
|
+
|
|
75
|
+
| Tool type | Description |
|
|
78
76
|
|-----------|-------------|
|
|
79
77
|
| `user_likes` | Extract tweets liked by a user |
|
|
80
78
|
| `user_media` | Extract media tweets from a user |
|
|
81
79
|
|
|
82
|
-
|
|
80
|
+
For example:
|
|
83
81
|
```json
|
|
84
82
|
{
|
|
85
83
|
"toolType": "user_likes",
|
|
@@ -87,16 +85,18 @@ The `@` prefix is automatically stripped if included.
|
|
|
87
85
|
}
|
|
88
86
|
```
|
|
89
87
|
|
|
90
|
-
### Community-
|
|
88
|
+
### Community-based tools
|
|
89
|
+
|
|
90
|
+
These tools require `targetCommunityId`.
|
|
91
91
|
|
|
92
|
-
| Tool
|
|
92
|
+
| Tool type | Description |
|
|
93
93
|
|-----------|-------------|
|
|
94
94
|
| `community_extractor` | Extract members of a community |
|
|
95
95
|
| `community_moderator_explorer` | Extract moderators of a community |
|
|
96
96
|
| `community_post_extractor` | Extract posts from a community |
|
|
97
97
|
| `community_search` | Search posts within a community (also requires `searchQuery`) |
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
For example:
|
|
100
100
|
```json
|
|
101
101
|
{
|
|
102
102
|
"toolType": "community_extractor",
|
|
@@ -104,15 +104,17 @@ The `@` prefix is automatically stripped if included.
|
|
|
104
104
|
}
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
### List-
|
|
107
|
+
### List-based tools
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
These tools require `targetListId`.
|
|
110
|
+
|
|
111
|
+
| Tool type | Description |
|
|
110
112
|
|-----------|-------------|
|
|
111
113
|
| `list_member_extractor` | Extract members of a list |
|
|
112
114
|
| `list_post_extractor` | Extract posts from a list |
|
|
113
115
|
| `list_follower_explorer` | Extract followers of a list |
|
|
114
116
|
|
|
115
|
-
|
|
117
|
+
For example:
|
|
116
118
|
```json
|
|
117
119
|
{
|
|
118
120
|
"toolType": "list_member_extractor",
|
|
@@ -120,13 +122,15 @@ The `@` prefix is automatically stripped if included.
|
|
|
120
122
|
}
|
|
121
123
|
```
|
|
122
124
|
|
|
123
|
-
### Space-
|
|
125
|
+
### Space-based tools
|
|
126
|
+
|
|
127
|
+
These tools require `targetSpaceId`.
|
|
124
128
|
|
|
125
|
-
| Tool
|
|
129
|
+
| Tool type | Description |
|
|
126
130
|
|-----------|-------------|
|
|
127
131
|
| `space_explorer` | Extract participants of a Space |
|
|
128
132
|
|
|
129
|
-
|
|
133
|
+
For example:
|
|
130
134
|
```json
|
|
131
135
|
{
|
|
132
136
|
"toolType": "space_explorer",
|
|
@@ -134,14 +138,16 @@ The `@` prefix is automatically stripped if included.
|
|
|
134
138
|
}
|
|
135
139
|
```
|
|
136
140
|
|
|
137
|
-
### Search-
|
|
141
|
+
### Search-based tools
|
|
142
|
+
|
|
143
|
+
These tools require `searchQuery`.
|
|
138
144
|
|
|
139
|
-
| Tool
|
|
145
|
+
| Tool type | Description |
|
|
140
146
|
|-----------|-------------|
|
|
141
147
|
| `people_search` | Search for users by keyword |
|
|
142
148
|
| `tweet_search_extractor` | Search and extract tweets by keyword or hashtag |
|
|
143
149
|
|
|
144
|
-
|
|
150
|
+
For a people search:
|
|
145
151
|
```json
|
|
146
152
|
{
|
|
147
153
|
"toolType": "people_search",
|
|
@@ -149,7 +155,7 @@ The `@` prefix is automatically stripped if included.
|
|
|
149
155
|
}
|
|
150
156
|
```
|
|
151
157
|
|
|
152
|
-
|
|
158
|
+
For a tweet search:
|
|
153
159
|
```json
|
|
154
160
|
{
|
|
155
161
|
"toolType": "tweet_search_extractor",
|
|
@@ -158,7 +164,7 @@ The `@` prefix is automatically stripped if included.
|
|
|
158
164
|
}
|
|
159
165
|
```
|
|
160
166
|
|
|
161
|
-
### Tweet
|
|
167
|
+
### Tweet search filters
|
|
162
168
|
|
|
163
169
|
`tweet_search_extractor` accepts structured filters. It combines them with
|
|
164
170
|
`searchQuery` before collection.
|
|
@@ -216,7 +222,7 @@ The `@` prefix is automatically stripped if included.
|
|
|
216
222
|
| `boundingBox` | string | Geographic bounding box |
|
|
217
223
|
| `advancedQuery` | string | Raw X search operators appended to query |
|
|
218
224
|
|
|
219
|
-
|
|
225
|
+
For example, apply filters:
|
|
220
226
|
```json
|
|
221
227
|
{
|
|
222
228
|
"toolType": "tweet_search_extractor",
|
|
@@ -229,9 +235,9 @@ The `@` prefix is automatically stripped if included.
|
|
|
229
235
|
}
|
|
230
236
|
```
|
|
231
237
|
|
|
232
|
-
`resultsLimit`
|
|
238
|
+
Set optional `resultsLimit` to stop after a specific result count. Pass the same value to `POST /extractions/estimate` and `POST /extractions`.
|
|
233
239
|
|
|
234
|
-
### Profile
|
|
240
|
+
### Profile filters
|
|
235
241
|
|
|
236
242
|
Profile-producing extractions also accept `minFollowers`, `maxFollowers`,
|
|
237
243
|
`minFollowing`, `maxFollowing`, `minPosts`, `maxPosts`,
|
|
@@ -249,39 +255,39 @@ Profile-producing extractions also accept `minFollowers`, `maxFollowers`,
|
|
|
249
255
|
}
|
|
250
256
|
```
|
|
251
257
|
|
|
252
|
-
|
|
258
|
+
The status is `pending`, `running`, `completed`, or `failed`.
|
|
253
259
|
|
|
254
|
-
## Retrieving
|
|
260
|
+
## Retrieving results
|
|
255
261
|
|
|
256
262
|
```
|
|
257
263
|
GET /extractions/{id}
|
|
258
264
|
```
|
|
259
265
|
|
|
260
|
-
|
|
266
|
+
The endpoint returns up to 1,000 results per page. Each result includes:
|
|
261
267
|
|
|
262
268
|
- `xUserId`, `xUsername`, `xDisplayName`
|
|
263
269
|
- `xFollowersCount`, `xVerified`, `xProfileImageUrl`
|
|
264
270
|
- `tweetId`, `tweetText`, `tweetCreatedAt` (for tweet-based extractions)
|
|
265
271
|
|
|
266
|
-
## Exporting
|
|
272
|
+
## Exporting results
|
|
267
273
|
|
|
268
274
|
```
|
|
269
275
|
GET /extractions/{id}/export?format=csv
|
|
270
276
|
```
|
|
271
277
|
|
|
272
|
-
|
|
278
|
+
Choose `csv`, `json`, `md`, `md-document`, `pdf`, `txt`, or `xlsx`. Exports support 100,000 rows, except PDF supports 10,000.
|
|
273
279
|
|
|
274
280
|
Exports include enrichment columns not present in the API response.
|
|
275
281
|
|
|
276
282
|
The endpoint supports follower, following, post, engagement, profile, media,
|
|
277
283
|
language, search, and date filters. It does not project individual fields.
|
|
278
284
|
|
|
279
|
-
|
|
285
|
+
Get approval first. Set the smallest approved `resultsLimit` when creating
|
|
280
286
|
the job. Before export, show the job, filters, format, row count, schema,
|
|
281
287
|
recipients, storage, and retention. Materialize or transmit the dataset only
|
|
282
288
|
after explicit approval. Delete it when the approved purpose ends.
|
|
283
289
|
|
|
284
|
-
## Estimating
|
|
290
|
+
## Estimating usage
|
|
285
291
|
|
|
286
292
|
```
|
|
287
293
|
POST /extractions/estimate
|
|
@@ -299,7 +305,7 @@ Same body as create. Response:
|
|
|
299
305
|
}
|
|
300
306
|
```
|
|
301
307
|
|
|
302
|
-
If `allowed` is `false`, do not create the extraction.
|
|
303
|
-
|
|
308
|
+
If `allowed` is `false`, do not create the extraction. The current balance does
|
|
309
|
+
not cover the estimate.
|
|
304
310
|
|
|
305
311
|
For common mistakes and tool selection rules, see [mcp-tools.md](mcp-tools.md#common-mistakes).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Xquik MCP
|
|
1
|
+
# Xquik MCP server setup
|
|
2
2
|
|
|
3
|
-
Connect
|
|
3
|
+
Connect MCP clients and IDEs to Xquik through Model Context Protocol. Add the
|
|
4
4
|
remote URL and complete OAuth 2.1 in the browser. API-key fallback is
|
|
5
5
|
client-specific. ChatGPT custom apps require OAuth and cannot present custom
|
|
6
6
|
API keys.
|
|
@@ -11,7 +11,7 @@ API keys.
|
|
|
11
11
|
| Endpoint | `https://xquik.com/mcp` |
|
|
12
12
|
| Authentication | OAuth 2.1 discovery; API key fallback |
|
|
13
13
|
| Hosted MCP version | `2.6.0` |
|
|
14
|
-
| Skill bundle version | `2.6.
|
|
14
|
+
| Skill bundle version | `2.6.7` |
|
|
15
15
|
|
|
16
16
|
Current clients negotiate MCP `2026-07-28` through `server/discover`.
|
|
17
17
|
Use a current MCP SDK. It adds request `_meta` and protocol headers.
|
|
@@ -25,10 +25,10 @@ Xquik publishes these discovery documents:
|
|
|
25
25
|
- Protected resource metadata: `https://xquik.com/.well-known/oauth-protected-resource/mcp`
|
|
26
26
|
- Authorization server metadata: `https://xquik.com/.well-known/oauth-authorization-server`
|
|
27
27
|
- MCP registry card: `https://xquik.com/.well-known/mcp/server-card.json`
|
|
28
|
-
-
|
|
28
|
+
- Authentication guide: `https://xquik.com/auth.md`
|
|
29
29
|
|
|
30
|
-
Xquik supports Client ID Metadata Documents
|
|
31
|
-
|
|
30
|
+
Xquik supports Client ID Metadata Documents and Dynamic Client Registration.
|
|
31
|
+
Let each client use its documented registration flow. Both
|
|
32
32
|
use Authorization Code with S256 PKCE and the `mcp:tools` scope.
|
|
33
33
|
|
|
34
34
|
Use the [canonical client compatibility matrix](https://docs.xquik.com/mcp/overview#client-compatibility)
|
|
@@ -36,7 +36,7 @@ for current per-client support. Cline and Qwen Code support OAuth.
|
|
|
36
36
|
Affected Goose releases need an environment-backed API key. Roo Code's archived final
|
|
37
37
|
release is API-key-only. Pi has no native MCP client.
|
|
38
38
|
|
|
39
|
-
>
|
|
39
|
+
> Start OAuth from the MCP client. Do not open Xquik login routes
|
|
40
40
|
> directly. Do not proxy Xquik credentials through local bridge packages or
|
|
41
41
|
> command-line adapters. If OAuth is unavailable, keep API keys in the client's
|
|
42
42
|
> secure secret store and never commit them.
|
|
@@ -84,13 +84,8 @@ tools only. Custom MCP apps are web-only.
|
|
|
84
84
|
|
|
85
85
|
### Codex CLI
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
environment-backed API-key configuration in **Codex Config** below. Do not run
|
|
90
|
-
`codex mcp login xquik` while that configuration is active.
|
|
91
|
-
|
|
92
|
-
After your Codex release includes the upstream issuer fix, remove
|
|
93
|
-
`bearer_token_env_var`, then run:
|
|
87
|
+
Use Codex CLI 0.147.0 or later. These releases preserve and validate the RFC
|
|
88
|
+
9207 `iss` callback value. Run:
|
|
94
89
|
|
|
95
90
|
```bash
|
|
96
91
|
codex mcp add xquik --url https://xquik.com/mcp
|
|
@@ -98,22 +93,21 @@ codex mcp login xquik
|
|
|
98
93
|
codex mcp list
|
|
99
94
|
```
|
|
100
95
|
|
|
101
|
-
|
|
102
|
-
token exchange. If login reports
|
|
96
|
+
If an older release reports
|
|
103
97
|
`Authorization server response missing required issuer: expected https://xquik.com`,
|
|
104
|
-
|
|
98
|
+
upgrade to 0.147.0 or later. If an upgrade is unavailable, use the API-key
|
|
99
|
+
fallback below. Xquik already returns the required issuer. Follow the
|
|
100
|
+
[Xquik troubleshooting guide](https://docs.xquik.com/guides/troubleshooting#codex-oauth-issuer-validation-error).
|
|
105
101
|
|
|
106
102
|
### Codex Desktop
|
|
107
103
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
restart.
|
|
104
|
+
Open **Settings > MCP servers**. Add `https://xquik.com/mcp` as Streamable HTTP,
|
|
105
|
+
select **Authenticate**, then restart. If the app bundles a Codex release older
|
|
106
|
+
than 0.147.0 and shows the issuer error above, use the shared `config.toml`
|
|
107
|
+
fallback below.
|
|
113
108
|
|
|
114
|
-
### Codex
|
|
109
|
+
### API-key fallback for older Codex releases
|
|
115
110
|
|
|
116
|
-
Current affected releases need an environment-backed API key instead of OAuth.
|
|
117
111
|
Load `XQUIK_API_KEY` from your password manager or operating-system secret
|
|
118
112
|
store. Do not type the key into a shell command, save it in shell history, or
|
|
119
113
|
put it in `config.toml`.
|
|
@@ -129,9 +123,8 @@ bearer_token_env_var = "XQUIK_API_KEY"
|
|
|
129
123
|
Restart Codex, then run `codex mcp list`. Do not run `codex mcp login xquik`
|
|
130
124
|
while using the API-key configuration.
|
|
131
125
|
|
|
132
|
-
After
|
|
133
|
-
|
|
134
|
-
`codex mcp login xquik`.
|
|
126
|
+
After upgrading to 0.147.0 or later, remove `bearer_token_env_var`. Leave only
|
|
127
|
+
the MCP URL, then run `codex mcp login xquik`.
|
|
135
128
|
|
|
136
129
|
### OpenAI Agents SDK
|
|
137
130
|
|
|
@@ -160,7 +153,7 @@ async def run_xquik(api_key: str) -> str:
|
|
|
160
153
|
return str(result.final_output)
|
|
161
154
|
```
|
|
162
155
|
|
|
163
|
-
##
|
|
156
|
+
## Editor and terminal clients
|
|
164
157
|
|
|
165
158
|
### Cursor
|
|
166
159
|
|
|
@@ -275,18 +268,19 @@ save. This interactive path works across Copilot CLI command variants.
|
|
|
275
268
|
In an interactive Copilot CLI session, run `/mcp auth xquik`. Enterprise policy
|
|
276
269
|
may block servers that are not on the organization allowlist.
|
|
277
270
|
|
|
278
|
-
## API
|
|
271
|
+
## API key fallback
|
|
279
272
|
|
|
280
273
|
Use this only when the client cannot complete OAuth and documents a secure
|
|
281
274
|
secret-input or environment-variable mechanism. ChatGPT custom apps cannot use
|
|
282
|
-
this fallback. Codex
|
|
283
|
-
|
|
275
|
+
this fallback. Older Codex releases use the `bearer_token_env_var` configuration
|
|
276
|
+
above.
|
|
277
|
+
Client schemas and environment syntax differ, so do not copy one header
|
|
284
278
|
object between clients or place a literal key in a configuration file.
|
|
285
279
|
|
|
286
280
|
Full account keys expose 120 catalog routes. Of these, 119 support JSON or text.
|
|
287
281
|
Active guest `paid_reads` keys expose 33 eligible GET routes.
|
|
288
282
|
|
|
289
|
-
## MCP
|
|
283
|
+
## MCP server architecture
|
|
290
284
|
|
|
291
285
|
Hosted MCP v2.6.0 exposes 120 catalog routes through 2 structured API tools.
|
|
292
286
|
Of these, 119 support JSON or text. Binary support downloads use REST.
|
|
@@ -296,7 +290,7 @@ Of these, 119 support JSON or text. Binary support downloads use REST.
|
|
|
296
290
|
| `explore` | Search the API endpoint catalog (read-only, no network calls) | Included |
|
|
297
291
|
| `xquik` | Send confirmed Xquik API requests | Varies by endpoint |
|
|
298
292
|
|
|
299
|
-
`explore` searches the credential-scoped catalog. `xquik`
|
|
293
|
+
`explore` searches the credential-scoped catalog. `xquik` sends authenticated
|
|
300
294
|
operations with normalized snake_case responses. Authentication is injected, so
|
|
301
295
|
tool code must never include credentials.
|
|
302
296
|
|
|
@@ -312,10 +306,10 @@ Private reads, writes, monitors, webhooks, persistent resources, and metered bul
|
|
|
312
306
|
jobs require the user's explicit approval. Plan and credit changes stay
|
|
313
307
|
dashboard-only.
|
|
314
308
|
|
|
315
|
-
## After
|
|
309
|
+
## After setup
|
|
316
310
|
|
|
317
311
|
Use `explore` before unfamiliar operations. Use `xquik` only for the narrowest
|
|
318
|
-
|
|
312
|
+
approved request.
|
|
319
313
|
|
|
320
314
|
| Workflow | Steps |
|
|
321
315
|
|----------|-------|
|
|
@@ -328,7 +322,7 @@ confirmed request.
|
|
|
328
322
|
Handle failures from structured error fields:
|
|
329
323
|
|
|
330
324
|
- `401`: reconnect OAuth or replace the revoked API key.
|
|
331
|
-
- `402`:
|
|
325
|
+
- `402`: explain the account state and direct the user to the dashboard.
|
|
332
326
|
- `409 coverage_cursor_unavailable`: wait the exact `Retry-After` seconds, then retry the same cursor once.
|
|
333
327
|
- `410 coverage_cursor_gone`: no `Retry-After`; restart without a cursor and deduplicate by ID.
|
|
334
328
|
- `429`: honor `Retry-After`.
|