{"info":{"name":"Xquik REST API","description":"Xquik's REST API for X data, writes, monitors & webhooks. Every request here comes from Xquik's OpenAPI spec.\n\n## Get started\n\n1. Create an API key on the [API keys page](https://dashboard.xquik.com/en/account?tab=api-keys).\n2. Open this collection's Variables tab & paste the key into `apiKey`.\n3. Pick a request & select Send.\n\nEach request sends the key in the `x-api-key` header. Keep the key private & out of shared forks. To use OAuth 2.1 instead, set the collection's auth to Bearer Token.\n\nRead the [docs](https://docs.xquik.com), the [API reference](https://docs.xquik.com/api-reference/overview) & the [OpenAPI spec](https://xquik.com/openapi.json).\n\nXquik is an independent third-party service. Not affiliated with X Corp. \"Twitter\" and \"X\" are trademarks of X Corp. Read and automate X. Paid reads accept credits. Some lookups accept MPP. Writes require an API key or OAuth 2.1. Shared-account reads return public posts only.\n\n## Rate limits\n\nEvery authenticated response carries `RateLimit-Policy`, your limit for that kind of request, and `RateLimit`, your requests left & seconds until the window resets. A refused request gets 429 with `Retry-After`.\n\n## Credits charged\n\nAn answer to a read carries `X-Xquik-Credits-Charged`, the credits that request charged. It is 0 for a page a filter empties & for a page sent again. A write names its charge in its body's `billing`.\n\n## Deprecation\n\nv1 stays compatible. A breaking removal gets at least 90 days of notice. A request with a deprecated query parameter or search filter gets an RFC 9745 `Deprecation` header. The answer's `Link` header points to the [deprecation policy](https://xquik.com/deprecation-policy.md). Once a removal date is set, an RFC 8594 `Sunset` header gives that date. Each operation that sends these headers declares them on its success answer. The [versioning guide](https://docs.xquik.com/guides/versioning) lists today's deprecations.\n\n## Client libraries\n\n[SDK, CLI, Terraform](https://docs.xquik.com/sdks) and [TweetClaw](https://docs.xquik.com/guides/tweetclaw).","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"apikey","apikey":[{"key":"key","type":"string","value":"x-api-key"},{"key":"value","type":"string","value":"{{apiKey}}"},{"key":"in","type":"string","value":"header"}]},"variable":[{"key":"baseUrl","type":"string","value":"https://xquik.com"},{"key":"apiKey","type":"string","value":""}],"item":[{"name":"Tweets","description":"Look up, search, and analyze individual tweets","item":[{"name":"Get multiple tweets by IDs","request":{"method":"GET","description":"Returns public tweet records for the requested IDs.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets"],"query":[{"description":"(Required) 1 to 100 posts, separated by commas. Each is a tweet ID or a tweet URL, such as x.com/nasa/status/20. Xquik reads a post named twice once. It skips any other entry & lists it under `skipped` with why. A batch without 1 post gets 400 `invalid_tweet_id`.","key":"ids","value":"","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Requested tweets in request order. After a partial read, Xquik reads the unresolved IDs once more.","originalRequest":{"method":"GET","description":"Returns public tweet records for the requested IDs.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets"],"query":[{"description":"(Required) 1 to 100 posts, separated by commas. Each is a tweet ID or a tweet URL, such as x.com/nasa/status/20. Xquik reads a post named twice once. It skips any other entry & lists it under `skipped` with why. A batch without 1 post gets 400 `invalid_tweet_id`.","key":"ids","value":"","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"1234567890\",\n      \"text\": \"Just launched our new feature!\",\n      \"createdAt\": \"2025-01-15T12:00:00Z\",\n      \"likeCount\": 42,\n      \"retweetCount\": 5,\n      \"replyCount\": 3,\n      \"quoteCount\": 1,\n      \"viewCount\": 1500,\n      \"bookmarkCount\": 2,\n      \"author\": {\n        \"id\": \"9876543210\",\n        \"username\": \"elonmusk\",\n        \"name\": \"Elon Musk\",\n        \"verified\": true\n      }\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Search X places by name","request":{"method":"GET","description":"Finds places on X by name. Pass a place's id as place to /x/tweets/search to read posts tagged there. X ranks the places, so their order can differ between requests. Each returned place costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","places","search"],"query":[{"description":"(Required) Place name to search for, such as istanbul. Alias query.","key":"q","value":"","disabled":false},{"description":"Maximum places to return. Omit it for every place X finds. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Places X found for the name","originalRequest":{"method":"GET","description":"Finds places on X by name. Pass a place's id as place to /x/tweets/search to read posts tagged there. X ranks the places, so their order can differ between requests. Each returned place costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","places","search"],"query":[{"description":"(Required) Place name to search for, such as istanbul. Alias query.","key":"q","value":"","disabled":false},{"description":"Maximum places to return. Omit it for every place X finds. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"places\": [\n    {\n      \"id\": \"5e02a0f0d91c76d2\",\n      \"name\": \"İstanbul\",\n      \"fullName\": \"İstanbul, Türkiye\",\n      \"country\": \"Turkey\",\n      \"countryCode\": \"TR\",\n      \"placeType\": \"city\",\n      \"url\": \"https://api.twitter.com/1.1/geo/id/5e02a0f0d91c76d2.json\",\n      \"centroid\": [\n        28.84318392941324,\n        41.054196399999995\n      ],\n      \"boundingBox\": {\n        \"type\": \"Polygon\",\n        \"coordinates\": [\n          [\n            [\n              28.6321043,\n              40.8027337\n            ],\n            [\n              28.6321043,\n              41.2399073\n            ],\n            [\n              29.3783413,\n              41.2399073\n            ],\n            [\n              29.3783413,\n              40.8027337\n            ]\n          ]\n        ]\n      },\n      \"attributes\": {},\n      \"containedWithin\": []\n    }\n  ],\n  \"count\": 1,\n  \"total\": 1,\n  \"message\": \"X found no place for that text. Try a city or country name.\"\n}","_postman_previewlanguage":"json"}]},{"name":"Search tweets with minLikes, normalized likeCount, media & cursors","request":{"method":"GET","description":"Tweets include authors, like counts, media, URLs & cursors. Omit mode for maximum coverage. Reuse next_cursor with unchanged filters.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets","search"],"query":[{"description":"(Required) Query, Tweet ID, or URL. Alias query. Hyphens negate terms. Use exactPhrase for literals. `from:` & `-from:` take a handle or a user ID, also in an OR group. Valid bounds apply per page. `since:` & `until:` dates are UTC days, written YYYY-MM-DD. 25/12/2026 & 12/25/2026 also work, since each has 1 reading. 04/01/2026 has 2 & answers 424 with the form to write. `since_time:` & `until_time:` take Unix seconds or an ISO 8601 time. `list:` takes a public List's ID. A private List answers 404 list_not_found. X searches up to 512 characters. A longer query answers 424 before any read, unless a term of its first OR group fits alone. When each OR alternative has `-filter:replies`, Xquik drops every reply X sends. Dropped replies cost nothing.","key":"q","value":"","disabled":false},{"description":"Latest lists posts newest first. Top keeps X's engagement ranking within each read. Xquik reads several of X's views, so a later page can hold a post X ranks higher. Top skips posts X shows above a ranked reply that cannot match the query. They cost nothing. Any case works. Photos, Videos & Media read Latest with mediaType images, videos or media, unless mediaType is set. People & Lists answer 400 & point to /x/users/search & /x/lists/search. Aliases result_type, sort_order, type, search_type, product, category & section.","key":"queryType","value":"Latest","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Most unique matches to return after filtering. Default 20. Explicit coverage defaults to 2000. At the deadline it returns kept rows & diagnostics. Xquik bills only returned rows. A low credit balance can cut results. A balance that covers 0 rows returns 402. Its aliases are pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date as a UTC day, written YYYY-MM-DD. 25/12/2026 & 12/25/2026 also work, since each has 1 reading. A date that fits both orders reads month first, so 04/01/2026 is 1 April.","key":"sinceDate","value":"","disabled":true},{"description":"End date as a UTC day, inclusive, so its own posts count. It takes the same date forms as sinceDate.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude drops every reply, own-thread replies too.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Search results","originalRequest":{"method":"GET","description":"Tweets include authors, like counts, media, URLs & cursors. Omit mode for maximum coverage. Reuse next_cursor with unchanged filters.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets","search"],"query":[{"description":"(Required) Query, Tweet ID, or URL. Alias query. Hyphens negate terms. Use exactPhrase for literals. `from:` & `-from:` take a handle or a user ID, also in an OR group. Valid bounds apply per page. `since:` & `until:` dates are UTC days, written YYYY-MM-DD. 25/12/2026 & 12/25/2026 also work, since each has 1 reading. 04/01/2026 has 2 & answers 424 with the form to write. `since_time:` & `until_time:` take Unix seconds or an ISO 8601 time. `list:` takes a public List's ID. A private List answers 404 list_not_found. X searches up to 512 characters. A longer query answers 424 before any read, unless a term of its first OR group fits alone. When each OR alternative has `-filter:replies`, Xquik drops every reply X sends. Dropped replies cost nothing.","key":"q","value":"","disabled":false},{"description":"Latest lists posts newest first. Top keeps X's engagement ranking within each read. Xquik reads several of X's views, so a later page can hold a post X ranks higher. Top skips posts X shows above a ranked reply that cannot match the query. They cost nothing. Any case works. Photos, Videos & Media read Latest with mediaType images, videos or media, unless mediaType is set. People & Lists answer 400 & point to /x/users/search & /x/lists/search. Aliases result_type, sort_order, type, search_type, product, category & section.","key":"queryType","value":"Latest","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Most unique matches to return after filtering. Default 20. Explicit coverage defaults to 2000. At the deadline it returns kept rows & diagnostics. Xquik bills only returned rows. A low credit balance can cut results. A balance that covers 0 rows returns 402. Its aliases are pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date as a UTC day, written YYYY-MM-DD. 25/12/2026 & 12/25/2026 also work, since each has 1 reading. A date that fits both orders reads month first, so 04/01/2026 is 1 April.","key":"sinceDate","value":"","disabled":true},{"description":"End date as a UTC day, inclusive, so its own posts count. It takes the same date forms as sinceDate.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude drops every reply, own-thread replies too.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"1234567890\",\n      \"text\": \"Just launched our new feature!\",\n      \"createdAt\": \"2025-01-15T12:00:00Z\",\n      \"likeCount\": 42,\n      \"retweetCount\": 5,\n      \"replyCount\": 3,\n      \"quoteCount\": 1,\n      \"viewCount\": 1500,\n      \"bookmarkCount\": 2,\n      \"author\": {\n        \"id\": \"9876543210\",\n        \"username\": \"elonmusk\",\n        \"name\": \"Elon Musk\",\n        \"verified\": true\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAACCgACGRElMJcAAA\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the top tweets on X by likes, replies or views","request":{"method":"GET","description":"Returns the tweets X ranks highest by 1 metric over the last day, week or month, as x.com's Inspiration page shows them. Covers all of X unless you pick a country or a language. Pages hold up to 20 tweets, and the list ends at 100. Each tweet costs 1 credit.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets","top"],"query":[{"description":"What to rank tweets by. Defaults to likes. Singular names work too, such as like.","key":"metric","value":"likes","disabled":true},{"description":"How far back to look. Defaults to day. Also takes 24h, 7d, 30d, daily, weekly and monthly.","key":"window","value":"day","disabled":true},{"description":"Only tweets from 1 country, as a 2- or 3-letter ISO 3166 code, such as US or USA. Send country or language, not both.","key":"country","value":"US","disabled":true},{"description":"Only tweets in 1 language, as a 2-letter code, such as en. Send country or language, not both.","key":"language","value":"en","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Top tweets","originalRequest":{"method":"GET","description":"Returns the tweets X ranks highest by 1 metric over the last day, week or month, as x.com's Inspiration page shows them. Covers all of X unless you pick a country or a language. Pages hold up to 20 tweets, and the list ends at 100. Each tweet costs 1 credit.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets","top"],"query":[{"description":"What to rank tweets by. Defaults to likes. Singular names work too, such as like.","key":"metric","value":"likes","disabled":true},{"description":"How far back to look. Defaults to day. Also takes 24h, 7d, 30d, daily, weekly and monthly.","key":"window","value":"day","disabled":true},{"description":"Only tweets from 1 country, as a 2- or 3-letter ISO 3166 code, such as US or USA. Send country or language, not both.","key":"country","value":"US","disabled":true},{"description":"Only tweets in 1 language, as a 2-letter code, such as en. Send country or language, not both.","key":"language","value":"en","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"Get tweet with full text, author, metrics and media","request":{"method":"GET","description":"Returns 1 public tweet with author, metrics, and media.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Tweet with author","originalRequest":{"method":"GET","description":"Returns 1 public tweet with author, metrics, and media.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweet\": {\n    \"id\": \"1234567890\",\n    \"text\": \"New feature\",\n    \"retweetCount\": 5,\n    \"replyCount\": 3,\n    \"likeCount\": 42,\n    \"quoteCount\": 1,\n    \"viewCount\": 1500,\n    \"bookmarkCount\": 2\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"List visible users who liked a tweet","request":{"method":"GET","description":"Returns the likers your X account sees. Without your own connected X account, it answers 424 `account_required`. X shows likers only to the post author.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","favoriters"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Visible likers","originalRequest":{"method":"GET","description":"Returns the likers your X account sees. Without your own connected X account, it answers 424 `account_required`. X shows likers only to the post author.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","favoriters"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get bookmarked tweets","request":{"method":"GET","description":"Returns your X account's bookmarks. Without your own connected X account, it answers 424 `account_required`. Without X Premium, a folder answers 424 `bookmark_folders_unavailable`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","bookmarks"],"query":[{"description":"Optional bookmark folder ID. Folders need X Premium.","key":"folderId","value":"","disabled":true},{"description":"Pagination cursor for bookmarks. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"DAACCgACGRElMJcAAA","disabled":true}],"variable":[]}},"response":[{"name":"List of bookmarked tweets","originalRequest":{"method":"GET","description":"Returns your X account's bookmarks. Without your own connected X account, it answers 424 `account_required`. Without X Premium, a folder answers 424 `bookmark_folders_unavailable`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","bookmarks"],"query":[{"description":"Optional bookmark folder ID. Folders need X Premium.","key":"folderId","value":"","disabled":true},{"description":"Pagination cursor for bookmarks. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"DAACCgACGRElMJcAAA","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"Get bookmark folders","request":{"method":"GET","description":"Returns your X account's bookmark folders. Without your own connected X account, it answers 424 `account_required`. Without X Premium, it answers 424 `bookmark_folders_unavailable`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","bookmarks","folders"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"List of bookmark folders","originalRequest":{"method":"GET","description":"Returns your X account's bookmark folders. Without your own connected X account, it answers 424 `account_required`. Without X Premium, it answers 424 `bookmark_folders_unavailable`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","bookmarks","folders"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"folders\": [\n    {\n      \"id\": \"1234567890\",\n      \"media\": {\n        \"originalImageUrl\": \"https://pbs.twimg.com/media/cover.jpg\"\n      },\n      \"name\": \"Read Later\"\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get home timeline","request":{"method":"GET","description":"Returns the home timeline of 1 of your connected X accounts. Without one, it answers 424 `account_required`. A cursor reads the next page from the same account. Results exclude X ads.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","timeline"],"query":[{"description":"Comma-separated tweet IDs to exclude from results. Xquik ignores empty entries.","key":"seenTweetIds","value":"","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"List of timeline tweets","originalRequest":{"method":"GET","description":"Returns the home timeline of 1 of your connected X accounts. Without one, it answers 424 `account_required`. A cursor reads the next page from the same account. Results exclude X ads.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","timeline"],"query":[{"description":"Comma-separated tweet IDs to exclude from results. Xquik ignores empty entries.","key":"seenTweetIds","value":"","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List quote tweets of a tweet","request":{"method":"GET","description":"Returns public posts quoting the tweet, newest first, replies included. Drop them with replies=exclude. Send queryType=Top for the quotes X ranks highest.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","quotes"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Optional legacy pagination override. Search-only filters such as keywords apply only without it.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Keep replies that quote the post. Automatic pages keep them unless this is false. Standard pages keep them only when it is true. Explicit replies takes precedence.","key":"includeReplies","value":"","disabled":true},{"description":"Latest for newest first, or Top for the quotes X ranks highest. Top is X's ranking, not a count order, & a later page can hold a quote X ranks higher. Any case works. Alias sort, which also takes Recency & Relevance. Send the same value with each cursor. Standard pages list Latest.","key":"queryType","value":"Latest","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"List of quote tweets","originalRequest":{"method":"GET","description":"Returns public posts quoting the tweet, newest first, replies included. Drop them with replies=exclude. Send queryType=Top for the quotes X ranks highest.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","quotes"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Optional legacy pagination override. Search-only filters such as keywords apply only without it.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Keep replies that quote the post. Automatic pages keep them unless this is false. Standard pages keep them only when it is true. Explicit replies takes precedence.","key":"includeReplies","value":"","disabled":true},{"description":"Latest for newest first, or Top for the quotes X ranks highest. Top is X's ranking, not a count order, & a later page can hold a quote X ranks higher. Any case works. Alias sort, which also takes Recency & Relevance. Send the same value with each cursor. Standard pages list Latest.","key":"queryType","value":"Latest","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List replies to a tweet","request":{"method":"GET","description":"Returns direct replies with automatic maximum coverage and pagination. A retweet ID returns replies to the original post. Complete mode adds nested replies, diagnostics, and a 424 below 80% coverage. A fully read time window returns 200. So does a post that shows none of the replies it counts, with hiddenReplies. It reads replies without a search, so q or query answers 400 before any read or charge. To search a post's replies, call GET /x/tweets/search with q=conversation_id:{id}.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","replies"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Override automatic coverage. Standard uses legacy pagination. Complete adds nested replies, diagnostics, scope, depth, and original-post controls.","key":"mode","value":"standard","disabled":true},{"description":"Complete mode defaults to 25,000 combined direct & nested replies. Set another total with limit. Automatic pages accept 1-300, standard pages 1-100.","key":"limit","value":"","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Select all replies, direct replies, or nested replies.","key":"scope","value":"all","disabled":true},{"description":"Maximum reply depth from the source post.","key":"maxDepth","value":"","disabled":true},{"description":"Sorts the selected replies before limit applies. Complete mode defaults to relevance. Automatic pages list the newest first unless you set sort. Standard pages ignore it. With likes, each page is sorted by likes. A later page can hold a reply with more likes. The order is final on the last page. Latest & oldest sort every row by date. They read the whole thread first, for up to 20 s. An answer that stopped before every reply X shows sets orderPartial.","key":"sort","value":"relevance","disabled":true},{"description":"Exclude replies written by the source-post author.","key":"excludeOriginalAuthor","value":"false","disabled":true},{"description":"Include the source post and count it toward limit.","key":"includeOriginalPost","value":"false","disabled":true},{"description":"Complete mode only. Adds the replies the post's author hid, each with hiddenByAuthor true. They count toward limit like any reply. A paged read answers 400. Get its hidden replies from GET /x/tweets/{id}/hidden-replies.","key":"includeHidden","value":"false","disabled":true},{"description":"Only return replies containing media.","key":"hasMediaOnly","value":"false","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"List of replies","originalRequest":{"method":"GET","description":"Returns direct replies with automatic maximum coverage and pagination. A retweet ID returns replies to the original post. Complete mode adds nested replies, diagnostics, and a 424 below 80% coverage. A fully read time window returns 200. So does a post that shows none of the replies it counts, with hiddenReplies. It reads replies without a search, so q or query answers 400 before any read or charge. To search a post's replies, call GET /x/tweets/search with q=conversation_id:{id}.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","replies"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Override automatic coverage. Standard uses legacy pagination. Complete adds nested replies, diagnostics, scope, depth, and original-post controls.","key":"mode","value":"standard","disabled":true},{"description":"Complete mode defaults to 25,000 combined direct & nested replies. Set another total with limit. Automatic pages accept 1-300, standard pages 1-100.","key":"limit","value":"","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Select all replies, direct replies, or nested replies.","key":"scope","value":"all","disabled":true},{"description":"Maximum reply depth from the source post.","key":"maxDepth","value":"","disabled":true},{"description":"Sorts the selected replies before limit applies. Complete mode defaults to relevance. Automatic pages list the newest first unless you set sort. Standard pages ignore it. With likes, each page is sorted by likes. A later page can hold a reply with more likes. The order is final on the last page. Latest & oldest sort every row by date. They read the whole thread first, for up to 20 s. An answer that stopped before every reply X shows sets orderPartial.","key":"sort","value":"relevance","disabled":true},{"description":"Exclude replies written by the source-post author.","key":"excludeOriginalAuthor","value":"false","disabled":true},{"description":"Include the source post and count it toward limit.","key":"includeOriginalPost","value":"false","disabled":true},{"description":"Complete mode only. Adds the replies the post's author hid, each with hiddenByAuthor true. They count toward limit like any reply. A paged read answers 400. Get its hidden replies from GET /x/tweets/{id}/hidden-replies.","key":"includeHidden","value":"false","disabled":true},{"description":"Only return replies containing media.","key":"hasMediaOnly","value":"false","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2083169393878684056\",\n      \"text\": \"@OpenAI A model optimizing its own serving cost after deployment is a neat flywheel to see in production ⚙️\",\n      \"retweetCount\": 0,\n      \"replyCount\": 0,\n      \"likeCount\": 1,\n      \"quoteCount\": 0,\n      \"viewCount\": 473,\n      \"bookmarkCount\": 1,\n      \"conversationId\": \"2082577277246972300\",\n      \"displayTextRange\": [\n        8,\n        107\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1785504861000\",\n        \"editTweetIds\": [\n          \"2083169393878684056\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"4398626122\",\n            \"indices\": [\n              0,\n              7\n            ],\n            \"name\": \"OpenAI\",\n            \"screen_name\": \"OpenAI\"\n          }\n        ]\n      },\n      \"inReplyToId\": \"2082577277246972300\",\n      \"inReplyToUserId\": \"4398626122\",\n      \"inReplyToUsername\": \"OpenAI\",\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": true,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"source\": \"<a href=\\\"https://mobile.twitter.com\\\" rel=\\\"nofollow\\\">Twitter Web App</a>\",\n      \"type\": \"reply\",\n      \"url\": \"https://x.com/PublicAI_/status/2083169393878684056\",\n      \"viewState\": \"EnabledWithCount\",\n      \"hasCommunityNotes\": false,\n      \"createdAt\": \"Fri Jul 31 12:34:21 +0000 2026\",\n      \"author\": {\n        \"id\": \"1615238618301501440\",\n        \"username\": \"PublicAI_\",\n        \"name\": \"PublicAI\",\n        \"followers\": 210053,\n        \"following\": 173,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1936462795584729088/c3advPaX_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/1615238618301501440/1744434414\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/1615238618301501440/1744434414\",\n        \"description\": \"AI data research lab. We ship products that collect real human work for models. Backed by @StanfordSBA. PublicAI LLM Index @PublicAIData.\",\n        \"location\": \"Mars\",\n        \"createdAt\": \"Tue Jan 17 06:44:40 +0000 2023\",\n        \"statusesCount\": 2936,\n        \"mediaCount\": 535,\n        \"protected\": false,\n        \"url\": \"http://PublicAi.io\",\n        \"favouritesCount\": 3726,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"pinnedTweetIds\": [\n          \"2092582845722292633\"\n        ],\n        \"verifiedType\": \"Blue\",\n        \"profile_bio\": {\n          \"description\": \"AI data research lab. We ship products that collect real human work for models. Backed by @StanfordSBA. PublicAI LLM Index @PublicAIData.\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"PublicAi.io\",\n                  \"expanded_url\": \"http://PublicAi.io\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/4HO9Tpo2aA\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"professional\": {\n          \"category\": [\n            {\n              \"icon_name\": \"IconBriefcaseStroke\",\n              \"id\": 713,\n              \"name\": \"Science & Technology\"\n            }\n          ],\n          \"professional_type\": \"Business\",\n          \"rest_id\": \"1856812443324092849\"\n        },\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Circle\",\n        \"profileTranslatorType\": \"none\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2082911177416568983\",\n      \"text\": \"@OpenAI Cheaper, faster, better\",\n      \"retweetCount\": 0,\n      \"replyCount\": 0,\n      \"likeCount\": 2,\n      \"quoteCount\": 0,\n      \"viewCount\": 1072,\n      \"bookmarkCount\": 0,\n      \"conversationId\": \"2082577277246972300\",\n      \"displayTextRange\": [\n        8,\n        31\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1785443297000\",\n        \"editTweetIds\": [\n          \"2082911177416568983\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"4398626122\",\n            \"indices\": [\n              0,\n              7\n            ],\n            \"name\": \"OpenAI\",\n            \"screen_name\": \"OpenAI\"\n          }\n        ]\n      },\n      \"inReplyToId\": \"2082577277246972300\",\n      \"inReplyToUserId\": \"4398626122\",\n      \"inReplyToUsername\": \"OpenAI\",\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": true,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"source\": \"<a href=\\\"https://mobile.twitter.com\\\" rel=\\\"nofollow\\\">Twitter Web App</a>\",\n      \"type\": \"reply\",\n      \"url\": \"https://x.com/Wager_Predict/status/2082911177416568983\",\n      \"viewState\": \"EnabledWithCount\",\n      \"hasCommunityNotes\": false,\n      \"createdAt\": \"Thu Jul 30 19:28:17 +0000 2026\",\n      \"author\": {\n        \"id\": \"1513781916990083073\",\n        \"username\": \"Wager_Predict\",\n        \"name\": \"Wager Predict\",\n        \"followers\": 54048,\n        \"following\": 76,\n        \"verified\": true,\n        \"isBlueVerified\": false,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/2076634676228407298/O2FJ2EIM_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/1513781916990083073/1784142396\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/1513781916990083073/1784142396\",\n        \"description\": \"Trade on what happens next. | The Markets are brewing Up.\\nTGE soon!\",\n        \"createdAt\": \"Tue Apr 12 07:32:01 +0000 2022\",\n        \"statusesCount\": 1918,\n        \"mediaCount\": 280,\n        \"protected\": false,\n        \"url\": \"http://wagerpredict.com\",\n        \"favouritesCount\": 1360,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"pinnedTweetIds\": [\n          \"2077051650754367854\"\n        ],\n        \"verifiedType\": \"Business\",\n        \"profile_bio\": {\n          \"description\": \"Trade on what happens next. | The Markets are brewing Up.\\nTGE soon!\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"wagerpredict.com\",\n                  \"expanded_url\": \"http://wagerpredict.com\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/1MgjWEdMLw\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"professional\": {\n          \"category\": [],\n          \"professional_type\": \"Business\",\n          \"rest_id\": \"1560458726439788544\"\n        },\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"none\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"xqcv1_tkGoEx1UJRqeog9a2BJdmzUZTMCoU_M8kb6ZZwaDFa0.1\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"Check whether a user retweeted a tweet","request":{"method":"GET","description":"Returns whether 1 account reposted the post, read from its newest posts. A repost older than the posts read returns false with complete false. Each check costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweeters","check"],"query":[{"description":"(Required) User ID, username with or without @, or profile URL.","key":"user","value":"nasa","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Repost check result","originalRequest":{"method":"GET","description":"Returns whether 1 account reposted the post, read from its newest posts. A repost older than the posts read returns false with complete false. Each check costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweeters","check"],"query":[{"description":"(Required) User ID, username with or without @, or profile URL.","key":"user","value":"nasa","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"isRetweeted\": true,\n  \"retweetedAt\": \"2026-09-11T16:59:50.000Z\",\n  \"retweetId\": \"2098456494362460375\",\n  \"tweetId\": \"2098439298617856319\",\n  \"userId\": \"3065618342\",\n  \"checkedPosts\": 20,\n  \"complete\": false\n}","_postman_previewlanguage":"json"}]},{"name":"List users who retweeted a tweet","request":{"method":"GET","description":"Returns a post's reposters. includeRetweetTimestamp adds retweeted_at in Unix seconds. Null means the lookup failed or the newest profile page has no matching repost. The created field is the account's creation time. Timestamp lookups make the request slower.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweeters"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Look up repost event times.","key":"includeRetweetTimestamp","value":"false","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"List of retweeters","originalRequest":{"method":"GET","description":"Returns a post's reposters. includeRetweetTimestamp adds retweeted_at in Unix seconds. Null means the lookup failed or the newest profile page has no matching repost. The created field is the account's creation time. Timestamp lookups make the request slower.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweeters"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Look up repost event times.","key":"includeRetweetTimestamp","value":"false","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Xquik-Profile-Enrichment","value":"enriched=180; requested=200"},{"key":"X-Xquik-Credits-Charged","value":"3"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the user IDs of users who retweeted a tweet","request":{"method":"GET","description":"Returns the user IDs of a post's reposters, in the order & pages of /x/tweets/{id}/retweeters. Use it when you need IDs only. Each ID costs 1 credit. A post nobody reposted returns an empty list for free.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweeter-ids"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"A page of reposter IDs","originalRequest":{"method":"GET","description":"Returns the user IDs of a post's reposters, in the order & pages of /x/tweets/{id}/retweeters. Use it when you need IDs only. Each ID costs 1 credit. A post nobody reposted returns an empty list for free.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweeter-ids"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"ids\": [\n    \"9876543210\",\n    \"44196397\"\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"1878079982871151535\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the replies a tweet's author hid","request":{"method":"GET","description":"Returns the replies the post's author hid, oldest first, with the replies to them. A post without hidden replies returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","hidden-replies"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Hidden replies","originalRequest":{"method":"GET","description":"Returns the replies the post's author hid, oldest first, with the replies to them. A post without hidden replies returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","hidden-replies"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"Get full conversation thread for a tweet","request":{"method":"GET","description":"Returns visible posts from the selected conversation thread. Results exclude X ads.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","thread"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Thread tweets","originalRequest":{"method":"GET","description":"Returns visible posts from the selected conversation thread. Results exclude X ads.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","thread"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"Translate a tweet into a chosen language","request":{"method":"GET","description":"Returns X's own translation of 1 public tweet into the language you pick, with the links, mentions, and tags X places in the translated text.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","translation"],"query":[{"description":"(Required) Language code to translate into, such as `en`, `tr`, `pt-br`, or `zh-tw`. Upper and lower case both work.","key":"language","value":"tr","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Translated tweet text","originalRequest":{"method":"GET","description":"Returns X's own translation of 1 public tweet into the language you pick, with the links, mentions, and tags X places in the translated text.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","translation"],"query":[{"description":"(Required) Language code to translate into, such as `en`, `tr`, `pt-br`, or `zh-tw`. Upper and lower case both work.","key":"language","value":"tr","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"translation\": {\n    \"tweetId\": \"2102882545427714266\",\n    \"language\": \"tr\",\n    \"sourceLanguage\": \"en\",\n    \"text\": \"Artemis Anlaşmaları’na Hoş Geldiniz, Hırvatistan https://t.co/Xe1nm2pkSX\",\n    \"entities\": {\n      \"urls\": [\n        {\n          \"url\": \"https://t.co/Xe1nm2pkSX\",\n          \"expanded_url\": \"https://go.nasa.gov/3VcvAQn\",\n          \"display_url\": \"go.nasa.gov/3VcvAQn\",\n          \"indices\": [\n            49,\n            72\n          ]\n        }\n      ]\n    }\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"Get a tweet's engagement rate and velocity","request":{"method":"GET","description":"Returns engagement insights for 1 tweet. They are engagements per hour since it went up, per view and per follower of its author, and how far it spread. Each report costs 1 credit, whatever it reads.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","insights"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Tweet insights","originalRequest":{"method":"GET","description":"Returns engagement insights for 1 tweet. They are engagements per hour since it went up, per view and per follower of its author, and how far it spread. Each report costs 1 credit, whatever it reads.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","insights"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"insights\": {\n    \"tweetId\": \"2102882545427714266\",\n    \"authorId\": \"11348282\",\n    \"authorUserName\": \"NASA\",\n    \"createdAt\": \"2026-09-23T22:07:23.000Z\",\n    \"ageHours\": 133.88,\n    \"metrics\": {\n      \"likes\": 9043,\n      \"replies\": 207,\n      \"reposts\": 772,\n      \"quotes\": 100,\n      \"bookmarks\": 661,\n      \"views\": 1291231\n    },\n    \"engagements\": 10122,\n    \"engagementsPerHour\": 75.605,\n    \"engagementPerView\": 0.7839,\n    \"engagementRate\": 0.011,\n    \"amplification\": 0.0964,\n    \"conversation\": 0.0229\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"Get embed HTML for a tweet","request":{"method":"GET","description":"Returns the HTML that X gives websites to embed 1 public tweet, with the tweet's link and author.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","embed"],"query":[{"description":"Color theme of the embed. X uses light when left out.","key":"theme","value":"light","disabled":true},{"description":"Set `true` to leave photos, videos, and link cards out.","key":"hideMedia","value":"","disabled":true},{"description":"Set `true` to leave the tweet this one replies to out.","key":"hideThread","value":"","disabled":true},{"description":"Set `true` to leave the widget script tag out, for pages that load it once themselves.","key":"omitScript","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Embed HTML","originalRequest":{"method":"GET","description":"Returns the HTML that X gives websites to embed 1 public tweet, with the tweet's link and author.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","embed"],"query":[{"description":"Color theme of the embed. X uses light when left out.","key":"theme","value":"light","disabled":true},{"description":"Set `true` to leave photos, videos, and link cards out.","key":"hideMedia","value":"","disabled":true},{"description":"Set `true` to leave the tweet this one replies to out.","key":"hideThread","value":"","disabled":true},{"description":"Set `true` to leave the widget script tag out, for pages that load it once themselves.","key":"omitScript","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"embed\": {\n    \"tweetId\": \"2102882545427714266\",\n    \"url\": \"https://x.com/NASA/status/2102882545427714266\",\n    \"authorName\": \"NASA\",\n    \"authorUrl\": \"https://x.com/NASA\",\n    \"html\": \"<blockquote class=\\\"twitter-tweet\\\">...</blockquote>\",\n    \"width\": 550\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"Resolve t.co links to their target URLs","request":{"method":"GET","description":"Returns where each t.co link leads, as X's own redirect says. Xquik reads the redirect and never visits the target site. A link t.co does not have comes back without `resolvedUrl` and costs nothing. A link X does not answer for in time comes back in `unprocessedUrls`, free. Each resolved link costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","links","resolve"],"query":[{"description":"(Required) 1 to 100 links of the form `https://t.co/Xe1nm2pkSX`, separated by commas. Any other link is refused.","key":"urls","value":"https://t.co/Xe1nm2pkSX","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Resolved links in the order sent","originalRequest":{"method":"GET","description":"Returns where each t.co link leads, as X's own redirect says. Xquik reads the redirect and never visits the target site. A link t.co does not have comes back without `resolvedUrl` and costs nothing. A link X does not answer for in time comes back in `unprocessedUrls`, free. Each resolved link costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","links","resolve"],"query":[{"description":"(Required) 1 to 100 links of the form `https://t.co/Xe1nm2pkSX`, separated by commas. Any other link is refused.","key":"urls","value":"https://t.co/Xe1nm2pkSX","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"links\": [\n    {\n      \"url\": \"https://t.co/Xe1nm2pkSX\",\n      \"resolvedUrl\": \"https://go.nasa.gov/3VcvAQn\"\n    }\n  ],\n  \"unprocessedUrls\": []\n}","_postman_previewlanguage":"json"}]},{"name":"Get video subtitles and captions for a tweet","request":{"method":"GET","description":"Returns the caption tracks of 1 public tweet's videos, as X's player reads them. Each track has its language, name, timed cues, and full text. A tweet without video, or a video without captions, returns no track and costs nothing.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","subtitles"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"response":[{"name":"Caption tracks of the tweet's videos","originalRequest":{"method":"GET","description":"Returns the caption tracks of 1 public tweet's videos, as X's player reads them. Each track has its language, name, timed cues, and full text. A tweet without video, or a video without captions, returns no track and costs nothing.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","subtitles"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"subtitles\": {\n    \"tweetId\": \"2104593672624886205\",\n    \"tracks\": [\n      {\n        \"mediaKey\": \"13_2104593621043314689\",\n        \"language\": \"en\",\n        \"name\": \"Planetary Defenders_Caption.en_US.srt\",\n        \"autoGenerated\": false,\n        \"url\": \"https://video.twimg.com/subtitles/amplify_video/2104593621043314689/0/-FdxBBY2iGcoP5wb.vtt\",\n        \"text\": \"This asteroid 2024 YR4 might get interesting.\",\n        \"truncated\": false,\n        \"cues\": [\n          {\n            \"startMs\": 0,\n            \"endMs\": 3370,\n            \"text\": \"This asteroid\\n2024 YR4 might get interesting.\"\n          }\n        ]\n      }\n    ]\n  }\n}","_postman_previewlanguage":"json"}]}]},{"name":"Users","description":"Look up, search, and explore user profiles and relationships","item":[{"name":"Look up multiple users by IDs or usernames in 1 call","request":{"method":"GET","description":"Returns public profiles for up to 100 user IDs, usernames or profile links. Send ids or usernames, not both. Each returned profile costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users","batch"],"query":[{"description":"Comma-separated numeric user IDs (1-100 values). Xquik ignores duplicate IDs and keeps the first-seen order.","key":"ids","value":"","disabled":true},{"description":"Comma-separated X usernames, with or without @, or profile links such as x.com/nasa (1-100 values), in place of ids. A name in another case is the same account.","key":"usernames","value":"nasa,@OpenAI,x.com/verge","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Matched users plus reconciliation metadata.","originalRequest":{"method":"GET","description":"Returns public profiles for up to 100 user IDs, usernames or profile links. Send ids or usernames, not both. Each returned profile costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users","batch"],"query":[{"description":"Comma-separated numeric user IDs (1-100 values). Xquik ignores duplicate IDs and keeps the first-seen order.","key":"ids","value":"","disabled":true},{"description":"Comma-separated X usernames, with or without @, or profile links such as x.com/nasa (1-100 values), in place of ids. A name in another case is the same account.","key":"usernames","value":"nasa,@OpenAI,x.com/verge","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"9876543210\",\n      \"username\": \"elonmusk\",\n      \"name\": \"Elon Musk\"\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\",\n  \"requested_count\": 2,\n  \"processed_count\": 2,\n  \"returned_count\": 1,\n  \"unavailable_ids\": [\n    \"1234567890\"\n  ],\n  \"failed_ids\": [],\n  \"unprocessed_ids\": []\n}","_postman_previewlanguage":"json"}]},{"name":"List the newest tweets of multiple users in 1 call","request":{"method":"GET","description":"Returns the newest posts of up to 20 users, named by user ID, username or profile link, in the order named. Send ids or usernames, not both. Each post costs 1 credit. A user in unavailable_ids or unprocessed_ids costs nothing.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users","batch","tweets"],"query":[{"description":"Comma-separated numeric user IDs (1-20 values). Xquik ignores duplicate IDs and keeps the first-seen order.","key":"ids","value":"","disabled":true},{"description":"Comma-separated X usernames, with or without @, or profile links such as x.com/nasa (1-20 values), in place of ids. A name in another case is the same account. A number is a user ID.","key":"usernames","value":"nasa,@OpenAI,x.com/verge","disabled":true},{"description":"Posts per user (1-20, default 20). A low credit balance can return fewer. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Each user's newest posts, plus the users not read.","originalRequest":{"method":"GET","description":"Returns the newest posts of up to 20 users, named by user ID, username or profile link, in the order named. Send ids or usernames, not both. Each post costs 1 credit. A user in unavailable_ids or unprocessed_ids costs nothing.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users","batch","tweets"],"query":[{"description":"Comma-separated numeric user IDs (1-20 values). Xquik ignores duplicate IDs and keeps the first-seen order.","key":"ids","value":"","disabled":true},{"description":"Comma-separated X usernames, with or without @, or profile links such as x.com/nasa (1-20 values), in place of ids. A name in another case is the same account. A number is a user ID.","key":"usernames","value":"nasa,@OpenAI,x.com/verge","disabled":true},{"description":"Posts per user (1-20, default 20). A low credit balance can return fewer. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"1234567890\",\n      \"text\": \"Just launched our new feature!\",\n      \"createdAt\": \"2025-01-15T12:00:00Z\",\n      \"likeCount\": 42,\n      \"retweetCount\": 5,\n      \"replyCount\": 3,\n      \"quoteCount\": 1,\n      \"viewCount\": 1500,\n      \"bookmarkCount\": 2,\n      \"author\": {\n        \"id\": \"9876543210\",\n        \"username\": \"elonmusk\",\n        \"name\": \"Elon Musk\",\n        \"verified\": true\n      }\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\",\n  \"unavailable_ids\": [\n    \"1234567890\"\n  ],\n  \"unprocessed_ids\": []\n}","_postman_previewlanguage":"json"}]},{"name":"Search users by name or username","request":{"method":"GET","description":"Returns public profiles matching a name or username.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users","search"],"query":[{"description":"(Required) User search query","key":"q","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"User search results","originalRequest":{"method":"GET","description":"Returns public profiles matching a name or username.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users","search"],"query":[{"description":"(Required) User search query","key":"q","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Xquik-Profile-Enrichment","value":"enriched=180; requested=200"},{"key":"X-Xquik-Credits-Charged","value":"3"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get search suggestions for a partial query","request":{"method":"GET","description":"Returns the accounts, topics, hashtags & cashtags X suggests while someone types a search. X may rank them differently per request. Costs 1 credit per suggestion.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","search","autocomplete"],"query":[{"description":"(Required) Text typed so far. Start with # for hashtags or $ for cashtags. A # query returns hashtags & the accounts X suggests for it. Its alias is query.","key":"q","value":"nasa","disabled":false},{"description":"Comma-separated suggestion types from users, topics, hashtags & cashtags. Omit for all. With only hashtags or only cashtags, the query gets its # or $ when it lacks one.","key":"types","value":"users,topics","disabled":true},{"description":"Most suggestions to return, from 1 to 100. Default 20. Accounts fill it first, then topics, hashtags & cashtags. A low credit balance can return fewer. Its aliases are pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Search suggestions","originalRequest":{"method":"GET","description":"Returns the accounts, topics, hashtags & cashtags X suggests while someone types a search. X may rank them differently per request. Costs 1 credit per suggestion.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","search","autocomplete"],"query":[{"description":"(Required) Text typed so far. Start with # for hashtags or $ for cashtags. A # query returns hashtags & the accounts X suggests for it. Its alias is query.","key":"q","value":"nasa","disabled":false},{"description":"Comma-separated suggestion types from users, topics, hashtags & cashtags. Omit for all. With only hashtags or only cashtags, the query gets its # or $ when it lacks one.","key":"types","value":"users,topics","disabled":true},{"description":"Most suggestions to return, from 1 to 100. Default 20. Accounts fill it first, then topics, hashtags & cashtags. A low credit balance can return fewer. Its aliases are pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"query\": \"nasa\",\n  \"users\": [\n    {\n      \"id\": \"11348282\",\n      \"username\": \"NASA\",\n      \"name\": \"NASA\",\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": false,\n      \"verifiedType\": \"Government\",\n      \"protected\": false,\n      \"location\": \"Pale Blue Dot\",\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n      \"badges\": [],\n      \"isPersonaMediaGenable\": false,\n      \"score\": 0,\n      \"tokens\": [],\n      \"inline\": false\n    }\n  ],\n  \"topics\": [\n    {\n      \"topic\": \"nasa\",\n      \"score\": 0,\n      \"tokens\": [],\n      \"inline\": false\n    }\n  ],\n  \"hashtags\": [],\n  \"cashtags\": [],\n  \"count\": 2\n}","_postman_previewlanguage":"json"}]},{"name":"Get user profile with follower counts and verification","request":{"method":"GET","description":"Returns 1 public profile with counts and verification details.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"User profile","originalRequest":{"method":"GET","description":"Returns 1 public profile with counts and verification details.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"9876543210\",\n  \"username\": \"elonmusk\",\n  \"name\": \"Elon Musk\",\n  \"description\": \"CEO of Tesla, SpaceX, and X\",\n  \"followers\": 150000000,\n  \"following\": 500,\n  \"verified\": true\n}","_postman_previewlanguage":"json"}]},{"name":"Check if a user follows another","request":{"method":"GET","description":"Returns whether 1 public account follows another, & the reverse, with each account's username & user ID as X names them.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","followers","check"],"query":[{"description":"(Required) Source user ID, username, @username, or X or Twitter profile URL, such as x.com/i/user/11348282. A number is a user ID.","key":"source","value":"","disabled":false},{"description":"(Required) Target user ID, username, @username, or X or Twitter profile URL, such as x.com/i/user/11348282. A number is a user ID.","key":"target","value":"","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Follow check result","originalRequest":{"method":"GET","description":"Returns whether 1 public account follows another, & the reverse, with each account's username & user ID as X names them.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","followers","check"],"query":[{"description":"(Required) Source user ID, username, @username, or X or Twitter profile URL, such as x.com/i/user/11348282. A number is a user ID.","key":"source","value":"","disabled":false},{"description":"(Required) Target user ID, username, @username, or X or Twitter profile URL, such as x.com/i/user/11348282. A number is a user ID.","key":"target","value":"","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"isFollowing\": false,\n  \"isFollowedBy\": true,\n  \"sourceId\": \"11348282\",\n  \"sourceUsername\": \"nasa\",\n  \"targetId\": \"34743251\",\n  \"targetUsername\": \"spacex\"\n}","_postman_previewlanguage":"json"}]},{"name":"List recent tweets posted by a user","request":{"method":"GET","description":"For the newest posts of 2 to 20 users, use getBatchUserTweets. For more, use createExtraction with tweet_search_extractor & targetUsernames. Omit mode for automatic maximum coverage. Pass next_cursor unchanged. Unprefixed cursors are legacy. The first page opens with the pinned tweet, flagged isPinned, unless replies are included. Rows stay newest first. x.com's Posts tab groups self-threads & hides reposts. Send retweets=exclude to drop reposts.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","tweets"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Optional legacy pagination override. Search-only filters such as keywords apply only without it.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Include reply tweets unless replies specifies another mode.","key":"includeReplies","value":"false","disabled":true},{"description":"Include each reply's parent tweet as parentTweet on the reply. A reply whose parent X does not return comes without it. Search-only filters such as keywords do not apply with it.","key":"includeParentTweet","value":"false","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"User tweets list","originalRequest":{"method":"GET","description":"For the newest posts of 2 to 20 users, use getBatchUserTweets. For more, use createExtraction with tweet_search_extractor & targetUsernames. Omit mode for automatic maximum coverage. Pass next_cursor unchanged. Unprefixed cursors are legacy. The first page opens with the pinned tweet, flagged isPinned, unless replies are included. Rows stay newest first. x.com's Posts tab groups self-threads & hides reposts. Send retweets=exclude to drop reposts.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","tweets"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Optional legacy pagination override. Search-only filters such as keywords apply only without it.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Include reply tweets unless replies specifies another mode.","key":"includeReplies","value":"false","disabled":true},{"description":"Include each reply's parent tweet as parentTweet on the reply. A reply whose parent X does not return comes without it. Search-only filters such as keywords do not apply with it.","key":"includeParentTweet","value":"false","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List a user's With Replies timeline","request":{"method":"GET","description":"Returns target-authored posts & replies, without other authors' context. Omit mode for automatic maximum coverage. Pass next_cursor unchanged. Unprefixed cursors are legacy. It never opens with the pinned tweet.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","replies"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Optional legacy pagination override. Search-only filters such as keywords apply only without it.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Include each reply's parent tweet as parentTweet on the reply. A reply whose parent X does not return comes without it. Search-only filters such as keywords do not apply with it.","key":"includeParentTweet","value":"false","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"User timeline with replies","originalRequest":{"method":"GET","description":"Returns target-authored posts & replies, without other authors' context. Omit mode for automatic maximum coverage. Pass next_cursor unchanged. Unprefixed cursors are legacy. It never opens with the pinned tweet.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","replies"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Optional legacy pagination override. Search-only filters such as keywords apply only without it.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Include each reply's parent tweet as parentTweet on the reply. A reply whose parent X does not return comes without it. Search-only filters such as keywords do not apply with it.","key":"includeParentTweet","value":"false","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a list ID.","key":"listId","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List tweets liked by a user","request":{"method":"GET","description":"Returns your X account's likes. Without your own connected X account, it answers 424 `account_required`. Others' likes get 424 `likes_unavailable`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","likes"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"Liked tweets","originalRequest":{"method":"GET","description":"Returns your X account's likes. Without your own connected X account, it answers 424 `account_required`. Others' likes get 424 `likes_unavailable`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","likes"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List media tweets posted by a user","request":{"method":"GET","description":"Returns public media posts from the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","media"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of media tweets","originalRequest":{"method":"GET","description":"Returns public media posts from the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","media"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List the affiliates of an organization","request":{"method":"GET","description":"Returns the accounts an organization lists as its affiliates, in X's order. An account without affiliates returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","affiliates"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of affiliated accounts","originalRequest":{"method":"GET","description":"Returns the accounts an organization lists as its affiliates, in X's order. An account without affiliates returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","affiliates"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the creators a user subscribes to","request":{"method":"GET","description":"Returns the creators the selected user subscribes to, in X's order. An account that hides its subscriptions returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","subscriptions"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of creators","originalRequest":{"method":"GET","description":"Returns the creators the selected user subscribes to, in X's order. An account that hides its subscriptions returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","subscriptions"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the public Lists a user created","request":{"method":"GET","description":"Returns the public X Lists the selected user created, in X's order, as the profile's Lists tab shows them. Each List costs 1 credit. A protected account answers 403.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","lists"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"A page of the Lists the user created","originalRequest":{"method":"GET","description":"Returns the public X Lists the selected user created, in X's order, as the profile's Lists tab shows them. Each List costs 1 credit. A protected account answers 403.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","lists"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"lists\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the public Lists a user is on","request":{"method":"GET","description":"Returns the public X Lists that include the selected user, as the profile's List memberships page shows them. Each List costs 1 credit. A protected account answers 403.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","list-memberships"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"A page of the Lists the user is on","originalRequest":{"method":"GET","description":"Returns the public X Lists that include the selected user, as the profile's List memberships page shows them. Each List costs 1 credit. A protected account answers 403.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","list-memberships"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"lists\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the Articles a user published","request":{"method":"GET","description":"Returns the posts on the user's Articles tab, newest first. Each post's `article` holds the Article's ID, title, preview, cover & dates. Read the full text with GET /x/articles/{tweetId}.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","articles"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of Article tweets","originalRequest":{"method":"GET","description":"Returns the posts on the user's Articles tab, newest first. Each post's `article` holds the Article's ID, title, preview, cover & dates. Read the full text with GET /x/articles/{tweetId}.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","articles"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List a user's highlighted tweets","request":{"method":"GET","description":"Returns the posts on the user's Highlights tab, in X's order. An account without highlights returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","highlights"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of highlighted tweets","originalRequest":{"method":"GET","description":"Returns the posts on the user's Highlights tab, in X's order. An account without highlights returns an empty list.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","highlights"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List mutual followers between you and a user","request":{"method":"GET","description":"Returns the mutual followers your X account sees. Without your own connected X account, it answers 424 `account_required`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","followers-you-know"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"Mutual followers","originalRequest":{"method":"GET","description":"Returns the mutual followers your X account sees. Without your own connected X account, it answers 424 `account_required`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","followers-you-know"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List accounts similar to a user","request":{"method":"GET","description":"Returns the public accounts X lists as similar to the selected user, in X's order. X can list slightly different accounts on each call. Each account costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","similar"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"Accounts similar to the user","originalRequest":{"method":"GET","description":"Returns the public accounts X lists as similar to the selected user, in X's order. X can list slightly different accounts on each call. Each account costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","similar"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Profiles to request from this page (1-200, default 200). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get notifications","request":{"method":"GET","description":"Returns your X account's notifications. Without your own connected X account, it answers 424 `account_required`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","notifications"],"query":[{"description":"Notification type filter. Unrecognized values fall back to All.","key":"type","value":"All","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"List of notifications","originalRequest":{"method":"GET","description":"Returns your X account's notifications. Without your own connected X account, it answers 424 `account_required`.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","notifications"],"query":[{"description":"Notification type filter. Unrecognized values fall back to All.","key":"type","value":"All","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"notifications\": [\n    {\n      \"id\": \"1234567890\",\n      \"type\": \"like\",\n      \"message\": \"elonmusk liked your tweet\",\n      \"timestamp\": \"2025-01-15T12:00:00Z\"\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAACCgACGRElMJcAAA\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get DM conversation history","request":{"method":"GET","description":"Returns message history with 1 user for the connected X account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId","history"],"query":[{"description":"(Required) X handle (without the `@` prefix) of the connected X account used to read the conversation. The account must be a participant in the conversation.","key":"account","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Legacy pagination cursor (backward compat)","key":"maxId","value":"","disabled":true}],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""}]}},"response":[{"name":"List of DM messages","originalRequest":{"method":"GET","description":"Returns message history with 1 user for the connected X account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId","history"],"query":[{"description":"(Required) X handle (without the `@` prefix) of the connected X account used to read the conversation. The account must be a participant in the conversation.","key":"account","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Legacy pagination cursor (backward compat)","key":"maxId","value":"","disabled":true}],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"messages\": [\n    {\n      \"id\": \"1234567890123456789\",\n      \"text\": \"Hey, how are you?\",\n      \"senderId\": \"9876543210\",\n      \"receiverId\": \"1234567890\"\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAACCgACGRElMJcAAA\"\n}","_postman_previewlanguage":"json"}]},{"name":"Translate a user's bio into a chosen language","request":{"method":"GET","description":"Returns X's own translation of 1 profile's bio into the language you pick, with the links, mentions, and tags X places in the translated text. A profile without a bio returns translation null & a message, free of charge.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","translation"],"query":[{"description":"(Required) Language code to translate into, such as `es`, `tr`, `pt-br`, or `zh-tw`. Upper and lower case both work.","key":"language","value":"es","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"Translated bio","originalRequest":{"method":"GET","description":"Returns X's own translation of 1 profile's bio into the language you pick, with the links, mentions, and tags X places in the translated text. A profile without a bio returns translation null & a message, free of charge.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","translation"],"query":[{"description":"(Required) Language code to translate into, such as `es`, `tr`, `pt-br`, or `zh-tw`. Upper and lower case both work.","key":"language","value":"es","disabled":false},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"translation\": {\n    \"userId\": \"11348282\",\n    \"userName\": \"NASA\",\n    \"language\": \"es\",\n    \"sourceLanguage\": \"en\",\n    \"text\": \"Haciendo lo aparentemente imposible, posible. ✨\",\n    \"entities\": {}\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"Get a user's engagement rate and averages","request":{"method":"GET","description":"Returns engagement insights for 1 profile. They are engagement rate, averages per post and posting rate, from its counts and its last 20 posts. Reposts and the pinned post stay out of the averages. Each report costs 1 credit, whatever it reads.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","insights"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"Profile insights","originalRequest":{"method":"GET","description":"Returns engagement insights for 1 profile. They are engagement rate, averages per post and posting rate, from its counts and its last 20 posts. Reposts and the pinned post stay out of the averages. Each report costs 1 credit, whatever it reads.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","insights"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"insights\": {\n    \"userId\": \"11348282\",\n    \"userName\": \"NASA\",\n    \"followers\": 92376187,\n    \"following\": 115,\n    \"posts\": 74336,\n    \"accountAgeDays\": 6858,\n    \"postsPrivate\": false,\n    \"sample\": {\n      \"posts\": 10,\n      \"oldestAt\": \"2026-09-23T13:15:28.000Z\",\n      \"newestAt\": \"2026-09-28T22:12:05.000Z\"\n    },\n    \"averages\": {\n      \"likes\": 3684.2,\n      \"replies\": 142.7,\n      \"reposts\": 459.8,\n      \"quotes\": 45,\n      \"bookmarks\": 209.7,\n      \"views\": 785247.8,\n      \"engagements\": 4331.7\n    },\n    \"engagementRate\": 0.0047,\n    \"engagementPerView\": 0.5516,\n    \"postsPerDay\": 1.6814,\n    \"topPostId\": \"2102761519985332442\"\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"Check whether a user is live on X now","request":{"method":"GET","description":"Says whether 1 user is broadcasting live video on X right now, with their latest broadcast, live or ended. Each check costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","live"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"Live status","originalRequest":{"method":"GET","description":"Says whether 1 user is broadcasting live video on X right now, with their latest broadcast, live or ended. Each check costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","live"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"live\": false,\n  \"userId\": \"11348282\",\n  \"userName\": \"NASA\",\n  \"broadcast\": {\n    \"id\": \"1DxLdZyVPMMxm\",\n    \"title\": \"NASA's SpaceX Crew-12 Re-Entry & Splashdown\",\n    \"state\": \"Ended\",\n    \"startedAt\": \"2026-10-08T14:20:33.863Z\",\n    \"endedAt\": \"2026-10-08T16:38:16.770Z\",\n    \"totalWatched\": 220908,\n    \"totalWatching\": 119617,\n    \"width\": 3840,\n    \"height\": 2160\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"List the user IDs of a user's followers","request":{"method":"GET","description":"Returns the user IDs of the selected user's followers, newest first, up to 5,000 a page. Use it when you need IDs only. Each ID costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follower-ids"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"User IDs to request from this page (1-5000, default 5000). A low credit balance can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"5000","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"A page of follower IDs","originalRequest":{"method":"GET","description":"Returns the user IDs of the selected user's followers, newest first, up to 5,000 a page. Use it when you need IDs only. Each ID costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follower-ids"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"User IDs to request from this page (1-5000, default 5000). A low credit balance can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"5000","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"ids\": [\n    \"9876543210\",\n    \"44196397\"\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"1878079982871151535\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the user IDs of the accounts a user follows","request":{"method":"GET","description":"Returns the user IDs of the accounts the selected user follows, newest first, up to 5,000 a page. Use it when you need IDs only. Each ID costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","following-ids"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"User IDs to request from this page (1-5000, default 5000). A low credit balance can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"5000","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"A page of following IDs","originalRequest":{"method":"GET","description":"Returns the user IDs of the accounts the selected user follows, newest first, up to 5,000 a page. Use it when you need IDs only. Each ID costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","following-ids"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"User IDs to request from this page (1-5000, default 5000). A low credit balance can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"5000","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"ids\": [\n    \"9876543210\",\n    \"44196397\"\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"1878079982871151535\"\n}","_postman_previewlanguage":"json"}]},{"name":"List followers of a user","request":{"method":"GET","description":"Returns public follower profiles for the selected user, newest first. x.com puts some promoted followers first. Xquik doesn't.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","followers"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Legacy page-size alias outside coverage mode. Coverage accepts 1-10000. Prefer pageSize.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of user followers","originalRequest":{"method":"GET","description":"Returns public follower profiles for the selected user, newest first. x.com puts some promoted followers first. Xquik doesn't.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","followers"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Legacy page-size alias outside coverage mode. Coverage accepts 1-10000. Prefer pageSize.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Xquik-Profile-Enrichment","value":"enriched=180; requested=200"},{"key":"X-Xquik-Credits-Charged","value":"3"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"users\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List accounts a user follows","request":{"method":"GET","description":"Returns public profiles followed by the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","following"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Legacy page-size alias outside coverage mode. Coverage accepts 1-10000. Prefer pageSize.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of following","originalRequest":{"method":"GET","description":"Returns public profiles followed by the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","following"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Legacy page-size alias outside coverage mode. Coverage accepts 1-10000. Prefer pageSize.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Xquik-Profile-Enrichment","value":"enriched=180; requested=200"},{"key":"X-Xquik-Credits-Charged","value":"3"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"users\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List tweets mentioning a user","request":{"method":"GET","description":"Returns public posts mentioning the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","mentions"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of mentions","originalRequest":{"method":"GET","description":"Returns public posts mentioning the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","mentions"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List verified followers of a user","request":{"method":"GET","description":"Returns verified public profiles following the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","verified-followers"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Legacy page-size alias outside coverage mode. Coverage accepts 1-10000. Prefer pageSize.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"response":[{"name":"List of verified followers","originalRequest":{"method":"GET","description":"Returns verified public profiles following the selected user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","verified-followers"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Add each row's full profile, as GET /x/users/{id} returns it. Pages take several seconds longer.","key":"enrichProfiles","value":"false","disabled":true},{"description":"Legacy page-size alias outside coverage mode. Coverage accepts 1-10000. Prefer pageSize.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Xquik-Profile-Enrichment","value":"enriched=180; requested=200"},{"key":"X-Xquik-Credits-Charged","value":"3"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"users\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]}]},{"name":"Monitors","description":"X account monitoring with 1-second checks","item":[{"name":"List monitors","request":{"method":"GET","description":"Returns account monitors with their current operating states.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"Monitor list","originalRequest":{"method":"GET","description":"Returns account monitors with their current operating states.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"monitors\": [],\n  \"total\": 0,\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Create monitor","request":{"method":"POST","description":"Creates an account monitor, with no count limit. Active monitors check every second for 30 credits an hour, events & webhook deliveries included. That hourly price is a monitor's only charge. Creation needs the credits of the first hour.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"username\": \"elonmusk\",\n  \"name\": \"Launch watch\",\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ]\n}"}},"response":[{"name":"Monitor created","originalRequest":{"method":"POST","description":"Creates an account monitor, with no count limit. Active monitors check every second for 30 credits an hour, events & webhook deliveries included. That hourly price is a monitor's only charge. Creation needs the credits of the first hour.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"username\": \"elonmusk\",\n  \"name\": \"Launch watch\",\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ]\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"username\": \"elonmusk\",\n  \"xUserId\": \"1234567890\",\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ],\n  \"isActive\": true,\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"nextBillingAt\": \"2025-01-15T12:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"List keyword monitors","request":{"method":"GET","description":"Returns keyword monitors with their current operating states.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"Keyword monitor list","originalRequest":{"method":"GET","description":"Returns keyword monitors with their current operating states.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"monitors\": [],\n  \"total\": 0,\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Create keyword monitor","request":{"method":"POST","description":"Creates a keyword monitor, with no count limit. Active monitors check every second for 30 credits an hour, events & webhook deliveries included. That hourly price is a monitor's only charge. Creation needs the credits of the first hour.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"xquik OR \\\"x api\\\"\",\n  \"name\": \"Launch mentions\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ]\n}"}},"response":[{"name":"Keyword monitor created","originalRequest":{"method":"POST","description":"Creates a keyword monitor, with no count limit. Active monitors check every second for 30 credits an hour, events & webhook deliveries included. That hourly price is a monitor's only charge. Creation needs the credits of the first hour.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"xquik OR \\\"x api\\\"\",\n  \"name\": \"Launch mentions\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ]\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"21\",\n  \"query\": \"xquik OR \\\"x api\\\"\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"nextBillingAt\": \"2025-01-15T12:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get keyword monitor","request":{"method":"GET","description":"Returns configuration and status for 1 keyword monitor.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Keyword monitor details","originalRequest":{"method":"GET","description":"Returns configuration and status for 1 keyword monitor.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"21\",\n  \"query\": \"xquik OR \\\"x api\\\"\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"nextBillingAt\": \"2025-01-15T13:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Update keyword monitor","request":{"method":"PATCH","description":"Updates a keyword monitor's event types or active state. A monitor turned on again starts from that moment, with no event for a post made while it was off. Read those posts with the search route.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"name\": \"Launch mentions\"\n}"}},"response":[{"name":"Keyword monitor updated","originalRequest":{"method":"PATCH","description":"Updates a keyword monitor's event types or active state. A monitor turned on again starts from that moment, with no event for a post made while it was off. Read those posts with the search route.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"name\": \"Launch mentions\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"21\",\n  \"query\": \"xquik OR \\\"x api\\\"\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"nextBillingAt\": \"2025-01-15T13:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Delete keyword monitor","request":{"method":"DELETE","description":"Stops 1 keyword monitor, then removes its stored events in bounded batches. Poll statusUrl until the monitor returns 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Monitor deletion started","originalRequest":{"method":"DELETE","description":"Stops 1 keyword monitor, then removes its stored events in bounded batches. Poll statusUrl until the monitor returns 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors","keywords",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"deletionStatus\": \"deleting\",\n  \"statusUrl\": \"/api/v1/monitors/42\",\n  \"success\": true\n}","_postman_previewlanguage":"json"}]},{"name":"Get monitor","request":{"method":"GET","description":"Returns configuration and status for 1 account monitor.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Monitor details","originalRequest":{"method":"GET","description":"Returns configuration and status for 1 account monitor.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"username\": \"elonmusk\",\n  \"xUserId\": \"1234567890\",\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ],\n  \"isActive\": true,\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"nextBillingAt\": \"2025-01-15T13:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Update monitor","request":{"method":"PATCH","description":"Updates an account monitor's event types or active state. A monitor turned on again starts from that moment, with no event for a post made while it was off. Read those posts with the timeline & search routes.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"name\": \"Launch watch\"\n}"}},"response":[{"name":"Monitor updated","originalRequest":{"method":"PATCH","description":"Updates an account monitor's event types or active state. A monitor turned on again starts from that moment, with no event for a post made while it was off. Read those posts with the timeline & search routes.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"name\": \"Launch watch\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"username\": \"elonmusk\",\n  \"xUserId\": \"1234567890\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"nextBillingAt\": \"2025-01-15T13:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Delete monitor","request":{"method":"DELETE","description":"Stops 1 account monitor, then removes its stored events in bounded batches. Poll statusUrl until the monitor returns 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Monitor deletion started","originalRequest":{"method":"DELETE","description":"Stops 1 account monitor, then removes its stored events in bounded batches. Poll statusUrl until the monitor returns 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","monitors",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"deletionStatus\": \"deleting\",\n  \"statusUrl\": \"/api/v1/monitors/42\",\n  \"success\": true\n}","_postman_previewlanguage":"json"}]}]},{"name":"Events","description":"Activity events from monitored accounts","item":[{"name":"List events","request":{"method":"GET","description":"Returns monitor events with cursor pagination and filters.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","events"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true},{"description":"Account monitor ID. The monitor_id alias also works.","key":"monitorId","value":"","disabled":true},{"description":"Keyword monitor ID. The keyword_monitor_id alias also works.","key":"keywordMonitorId","value":"","disabled":true},{"description":"Filter events by type","key":"eventType","value":"","disabled":true}],"variable":[]}},"response":[{"name":"Event list","originalRequest":{"method":"GET","description":"Returns monitor events with cursor pagination and filters.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","events"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true},{"description":"Account monitor ID. The monitor_id alias also works.","key":"monitorId","value":"","disabled":true},{"description":"Keyword monitor ID. The keyword_monitor_id alias also works.","key":"keywordMonitorId","value":"","disabled":true},{"description":"Filter events by type","key":"eventType","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"events\": [],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Stream events","request":{"method":"GET","description":"Streams the account's monitor events as server-sent events, each named by its event type and numbered by its event ID. A reconnect that sends Last-Event-ID first gets every event after that one from the last 30 days, then each new event. A connection lasts up to 30 minutes and sends a comment every 15 seconds while idle. Keep up to 5 streams open per account. Events and streams cost no credits.\n","header":[{"description":"The last event ID the client got. The stream first sends every event after it. A value that is not an event ID counts as no header.","key":"Last-Event-ID","value":"42"},{"key":"Accept","value":"text/event-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","events","stream"],"query":[],"variable":[]}},"response":[{"name":"Server-sent events. Each event's data line holds 1 Event as JSON.","originalRequest":{"method":"GET","description":"Streams the account's monitor events as server-sent events, each named by its event type and numbered by its event ID. A reconnect that sends Last-Event-ID first gets every event after that one from the last 30 days, then each new event. A connection lasts up to 30 minutes and sends a comment every 15 seconds while idle. Keep up to 5 streams open per account. Events and streams cost no credits.\n","header":[{"description":"The last event ID the client got. The stream first sends every event after it. A value that is not an event ID counts as no header.","key":"Last-Event-ID","value":"42"},{"key":"Accept","value":"text/event-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","events","stream"],"query":[],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"text/event-stream"}],"body":"id: 42\nevent: tweet.new\ndata: {\"id\":\"42\",\"type\":\"tweet.new\",\"monitorId\":\"7\",\"monitorType\":\"account\",\"occurredAt\":\"2025-01-15T12:00:00.000Z\",\"data\":{}}","_postman_previewlanguage":"text"}]},{"name":"Get event","request":{"method":"GET","description":"Returns 1 monitor event owned by the account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","events",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Event details","originalRequest":{"method":"GET","description":"Returns 1 monitor event owned by the account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","events",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"type\": \"tweet.new\",\n  \"username\": \"elonmusk\",\n  \"monitorId\": \"7\",\n  \"monitorType\": \"account\",\n  \"occurredAt\": \"2025-01-15T12:00:00Z\",\n  \"data\": {\n    \"tweetId\": \"1234567890\"\n  }\n}","_postman_previewlanguage":"json"}]}]},{"name":"Webhooks","description":"Webhook endpoint management and delivery","item":[{"name":"List webhooks","request":{"method":"GET","description":"Returns configured webhook endpoints and delivery states.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"Webhook list","originalRequest":{"method":"GET","description":"Returns configured webhook endpoints and delivery states.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"webhooks\": [],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Create webhook","request":{"method":"POST","description":"Registers an endpoint for signed event deliveries.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"url\": \"https://example.com/webhook\",\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ]\n}"}},"response":[{"name":"Webhook created","originalRequest":{"method":"POST","description":"Registers an endpoint for signed event deliveries.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"url\": \"https://example.com/webhook\",\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ]\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"url\": \"https://example.com/webhook\",\n  \"secret\": \"abababababababababababababababababababababababababababababababab\",\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ],\n  \"createdAt\": \"2025-01-15T12:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Connect a Telegram chat","request":{"method":"POST","description":"Returns a t.me link to @XquikBot that connects a Telegram chat to the account's monitor events. Opening it & pressing Start connects the chat, which then gets each alert as a message. Alerts that wait together come as 1 digest. A busy chat gets 5 quick messages, then 1 every 30 s. Only 1 message a minute rings. The link works once, within 15 minutes. The chat appears in the webhook list with the URL `telegram:<chat ID>`, with deliveries, retries & resume as any webhook. In the chat, /stop pauses its alerts. It costs no credits.\n","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks","telegram"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ]\n}"}},"response":[{"name":"Telegram link created","originalRequest":{"method":"POST","description":"Returns a t.me link to @XquikBot that connects a Telegram chat to the account's monitor events. Opening it & pressing Start connects the chat, which then gets each alert as a message. Alerts that wait together come as 1 digest. A busy chat gets 5 quick messages, then 1 every 30 s. Only 1 message a minute rings. The link works once, within 15 minutes. The chat appears in the webhook list with the URL `telegram:<chat ID>`, with deliveries, retries & resume as any webhook. In the chat, /stop pauses its alerts. It costs no credits.\n","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks","telegram"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"eventTypes\": [\n    \"tweet.new\",\n    \"tweet.reply\"\n  ]\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"url\": \"https://t.me/XquikBot?start=Q2hhdExpbmtDb2RlRXhhbXBsZTAx\",\n  \"expiresAt\": \"2025-01-15T12:15:00.000Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Update webhook","request":{"method":"PATCH","description":"Updates an endpoint, event selection, or delivery settings.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"url\": \"https://example.com/webhook\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true\n}"}},"response":[{"name":"Webhook updated","originalRequest":{"method":"PATCH","description":"Updates an endpoint, event selection, or delivery settings.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"url\": \"https://example.com/webhook\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"url\": \"https://example.com/webhook\",\n  \"eventTypes\": [\n    \"tweet.new\"\n  ],\n  \"isActive\": true,\n  \"consecutiveFailures\": 0,\n  \"deliveryStatus\": \"active\",\n  \"failureHardCap\": 200,\n  \"createdAt\": \"2025-01-15T12:00:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Deactivate webhook","request":{"method":"DELETE","description":"Stops future deliveries to the selected webhook.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Success","originalRequest":{"method":"DELETE","description":"Stops future deliveries to the selected webhook.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true\n}","_postman_previewlanguage":"json"}]},{"name":"List webhook deliveries","request":{"method":"GET","description":"Returns delivery attempts and response outcomes, newest first.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id","deliveries"],"query":[{"description":"Maximum deliveries per page, from 1 to 100. Default 100. Pass nextCursor as cursor for the next page.","key":"limit","value":"100","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Delivery list","originalRequest":{"method":"GET","description":"Returns delivery attempts and response outcomes, newest first.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id","deliveries"],"query":[{"description":"Maximum deliveries per page, from 1 to 100. Default 100. Pass nextCursor as cursor for the next page.","key":"limit","value":"100","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"deliveries\": [],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Test webhook endpoint","request":{"method":"POST","description":"Sends a signed test event to the configured endpoint.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id","test"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Test result","originalRequest":{"method":"POST","description":"Sends a signed test event to the configured endpoint.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id","test"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"statusCode\": 200\n}","_postman_previewlanguage":"json"}]},{"name":"Test and resume webhook endpoint","request":{"method":"POST","description":"Tests the endpoint before resuming a manually paused webhook.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id","resume"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Webhook resumed after a successful test delivery","originalRequest":{"method":"POST","description":"Tests the endpoint before resuming a manually paused webhook.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","webhooks",":id","resume"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"statusCode\": 200,\n  \"webhook\": {\n    \"id\": \"42\",\n    \"url\": \"https://example.com/webhook\",\n    \"eventTypes\": [\n      \"tweet.new\"\n    ],\n    \"isActive\": true,\n    \"consecutiveFailures\": 0,\n    \"deliveryStatus\": \"active\",\n    \"failureHardCap\": 200,\n    \"createdAt\": \"2025-01-15T12:00:00Z\"\n  }\n}","_postman_previewlanguage":"json"}]}]},{"name":"Extractions","description":"Saved or bulk data extraction (23 tool types)","item":[{"name":"List extraction jobs","request":{"method":"GET","description":"Returns extraction jobs with status and result counts.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true},{"description":"Filter by extraction tool type","key":"toolType","value":"","disabled":true},{"description":"Filter by job status","key":"status","value":"pending","disabled":true}],"variable":[]}},"response":[{"name":"Extraction job list","originalRequest":{"method":"GET","description":"Returns extraction jobs with status and result counts.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true},{"description":"Filter by extraction tool type","key":"toolType","value":"","disabled":true},{"description":"Filter by job status","key":"status","value":"pending","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"extractions\": [],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Create extraction","request":{"method":"POST","description":"Starts 1 single-target or multi-target extraction. Follow waitUrl, then page statusUrl once it completes.","header":[{"description":"Generate 1 unique value per intended request. Reuse it only to retry the same request. Exact retries return the original result & charge nothing.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions"],"query":[{"description":"Estimate cost without creating an extraction.","key":"dry_run","value":"true","disabled":true}],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"toolType\": \"follower_explorer\",\n  \"targetUsername\": \"NASA\",\n  \"enrichProfiles\": true,\n  \"minFollowers\": 1000,\n  \"maxFollowers\": 1000000,\n  \"minFollowing\": 10,\n  \"maxFollowing\": 5000,\n  \"minPosts\": 100,\n  \"maxPosts\": 100000,\n  \"minAccountAgeDays\": 365,\n  \"verifiedType\": \"Business\",\n  \"hasWebsite\": true,\n  \"hasLocation\": true,\n  \"hasEmail\": true,\n  \"businessEmailOnly\": true,\n  \"emailDomains\": \"nasa.gov\",\n  \"bioContains\": \"space, astronomy\",\n  \"locationContains\": \"Houston\",\n  \"usernameContains\": \"space\",\n  \"resultsLimit\": 500\n}"}},"response":[{"name":"Dry-run estimate","originalRequest":{"method":"POST","description":"Starts 1 single-target or multi-target extraction. Follow waitUrl, then page statusUrl once it completes.","header":[{"description":"Generate 1 unique value per intended request. Reuse it only to retry the same request. Exact retries return the original result & charge nothing.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions"],"query":[{"description":"Estimate cost without creating an extraction.","key":"dry_run","value":"true","disabled":true}],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"toolType\": \"follower_explorer\",\n  \"targetUsername\": \"NASA\",\n  \"enrichProfiles\": true,\n  \"minFollowers\": 1000,\n  \"maxFollowers\": 1000000,\n  \"minFollowing\": 10,\n  \"maxFollowing\": 5000,\n  \"minPosts\": 100,\n  \"maxPosts\": 100000,\n  \"minAccountAgeDays\": 365,\n  \"verifiedType\": \"Business\",\n  \"hasWebsite\": true,\n  \"hasLocation\": true,\n  \"hasEmail\": true,\n  \"businessEmailOnly\": true,\n  \"emailDomains\": \"nasa.gov\",\n  \"bioContains\": \"space, astronomy\",\n  \"locationContains\": \"Houston\",\n  \"usernameContains\": \"space\",\n  \"resultsLimit\": 500\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""},{"key":"Sunset","value":"Fri, 15 Jan 2027 00:00:00 GMT"}],"body":"{\n  \"allowed\": true,\n  \"creditsAvailable\": \"50000\",\n  \"creditsRequired\": \"500\",\n  \"estimatedResults\": 500,\n  \"resolvedXUserId\": \"123456\",\n  \"source\": \"replyCount\"\n}","_postman_previewlanguage":"json"},{"name":"Extraction started. The Location header holds its result URL.","originalRequest":{"method":"POST","description":"Starts 1 single-target or multi-target extraction. Follow waitUrl, then page statusUrl once it completes.","header":[{"description":"Generate 1 unique value per intended request. Reuse it only to retry the same request. Exact retries return the original result & charge nothing.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions"],"query":[{"description":"Estimate cost without creating an extraction.","key":"dry_run","value":"true","disabled":true}],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"toolType\": \"follower_explorer\",\n  \"targetUsername\": \"NASA\",\n  \"enrichProfiles\": true,\n  \"minFollowers\": 1000,\n  \"maxFollowers\": 1000000,\n  \"minFollowing\": 10,\n  \"maxFollowing\": 5000,\n  \"minPosts\": 100,\n  \"maxPosts\": 100000,\n  \"minAccountAgeDays\": 365,\n  \"verifiedType\": \"Business\",\n  \"hasWebsite\": true,\n  \"hasLocation\": true,\n  \"hasEmail\": true,\n  \"businessEmailOnly\": true,\n  \"emailDomains\": \"nasa.gov\",\n  \"bioContains\": \"space, astronomy\",\n  \"locationContains\": \"Houston\",\n  \"usernameContains\": \"space\",\n  \"resultsLimit\": 500\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Location","value":""},{"key":"Retry-After","value":""},{"key":"Idempotency-Replayed","value":"true"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""},{"key":"Sunset","value":"Fri, 15 Jan 2027 00:00:00 GMT"}],"body":"{\n  \"id\": \"ext_123\",\n  \"pollAfterMs\": 1000,\n  \"statusUrl\": \"/api/v1/extractions/a1b2c3d4\",\n  \"waitUrl\": \"/api/v1/extractions/id?wait=10&limit=1&outputMode=compact\",\n  \"toolType\": \"follower_explorer\",\n  \"status\": \"running\"\n}","_postman_previewlanguage":"json"}]},{"name":"Estimate extraction cost","request":{"method":"POST","description":"Estimates extraction cost without creating a job.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions","estimate"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"toolType\": \"follower_explorer\",\n  \"targetUsername\": \"NASA\",\n  \"enrichProfiles\": true,\n  \"minFollowers\": 1000,\n  \"maxFollowers\": 1000000,\n  \"minFollowing\": 10,\n  \"maxFollowing\": 5000,\n  \"minPosts\": 100,\n  \"maxPosts\": 100000,\n  \"minAccountAgeDays\": 365,\n  \"verifiedType\": \"Business\",\n  \"hasWebsite\": true,\n  \"hasLocation\": true,\n  \"hasEmail\": true,\n  \"businessEmailOnly\": true,\n  \"emailDomains\": \"nasa.gov\",\n  \"bioContains\": \"space, astronomy\",\n  \"locationContains\": \"Houston\",\n  \"usernameContains\": \"space\",\n  \"resultsLimit\": 500\n}"}},"response":[{"name":"Extraction estimate","originalRequest":{"method":"POST","description":"Estimates extraction cost without creating a job.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions","estimate"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"toolType\": \"follower_explorer\",\n  \"targetUsername\": \"NASA\",\n  \"enrichProfiles\": true,\n  \"minFollowers\": 1000,\n  \"maxFollowers\": 1000000,\n  \"minFollowing\": 10,\n  \"maxFollowing\": 5000,\n  \"minPosts\": 100,\n  \"maxPosts\": 100000,\n  \"minAccountAgeDays\": 365,\n  \"verifiedType\": \"Business\",\n  \"hasWebsite\": true,\n  \"hasLocation\": true,\n  \"hasEmail\": true,\n  \"businessEmailOnly\": true,\n  \"emailDomains\": \"nasa.gov\",\n  \"bioContains\": \"space, astronomy\",\n  \"locationContains\": \"Houston\",\n  \"usernameContains\": \"space\",\n  \"resultsLimit\": 500\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""},{"key":"Sunset","value":"Fri, 15 Jan 2027 00:00:00 GMT"}],"body":"{\n  \"allowed\": true,\n  \"creditsAvailable\": \"50000\",\n  \"creditsRequired\": \"500\",\n  \"estimatedResults\": 500,\n  \"resolvedXUserId\": \"123456\",\n  \"source\": \"replyCount\"\n}","_postman_previewlanguage":"json"}]},{"name":"Cancel extraction","request":{"method":"DELETE","description":"Cancels an active extraction without charging or saving rows.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions",":id"],"query":[],"variable":[{"description":"(Required) Extraction ID returned by `POST /extractions` or the extraction list. Another shape gets 400 `invalid_id`.","key":"id","value":"L3NjAbCdEfGh"}]}},"response":[{"name":"Extraction canceled","originalRequest":{"method":"DELETE","description":"Cancels an active extraction without charging or saving rows.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions",":id"],"query":[],"variable":[{"description":"(Required) Extraction ID returned by `POST /extractions` or the extraction list. Another shape gets 400 `invalid_id`.","key":"id","value":"L3NjAbCdEfGh"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"aB3dE6gH9jK2\",\n  \"status\": \"canceled\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get extraction results","request":{"method":"GET","description":"Returns status and up to 1,000 results. Follow nextCursor when hasMore is true.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions",":id"],"query":[{"description":"Maximum results per page (1-1000, default 100).","key":"limit","value":"100","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true},{"description":"Wait up to this many seconds when the job is active.","key":"wait","value":"0","disabled":true},{"description":"Use compact for core fields and tweet counts, full for nested enrichment, or raw for a source copy.","key":"outputMode","value":"full","disabled":true},{"description":"Keep enrichment nested or merge it into each result.","key":"outputPreset","value":"nested","disabled":true},{"description":"Preserve source keys or convert result field names.","key":"fieldStyle","value":"source","disabled":true},{"description":"Use outputMode=raw instead.","key":"includeRaw","value":"false","disabled":true}],"variable":[{"description":"(Required) Extraction ID returned by `POST /extractions` or the extraction list. Another shape gets 400 `invalid_id`.","key":"id","value":"L3NjAbCdEfGh"}]}},"response":[{"name":"Extraction job with results","originalRequest":{"method":"GET","description":"Returns status and up to 1,000 results. Follow nextCursor when hasMore is true.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions",":id"],"query":[{"description":"Maximum results per page (1-1000, default 100).","key":"limit","value":"100","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true},{"description":"Wait up to this many seconds when the job is active.","key":"wait","value":"0","disabled":true},{"description":"Use compact for core fields and tweet counts, full for nested enrichment, or raw for a source copy.","key":"outputMode","value":"full","disabled":true},{"description":"Keep enrichment nested or merge it into each result.","key":"outputPreset","value":"nested","disabled":true},{"description":"Preserve source keys or convert result field names.","key":"fieldStyle","value":"source","disabled":true},{"description":"Use outputMode=raw instead.","key":"includeRaw","value":"false","disabled":true}],"variable":[{"description":"(Required) Extraction ID returned by `POST /extractions` or the extraction list. Another shape gets 400 `invalid_id`.","key":"id","value":"L3NjAbCdEfGh"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"job\": {\n    \"id\": \"ext_123\",\n    \"toolType\": \"follower_explorer\",\n    \"status\": \"completed\",\n    \"totalResults\": 0,\n    \"createdAt\": \"2026-08-23T10:00:00Z\",\n    \"completedAt\": \"2026-08-23T10:00:05Z\"\n  },\n  \"results\": [],\n  \"hasMore\": false,\n  \"pollAfterMs\": 0,\n  \"waitUrl\": \"/api/v1/extractions/ext_123?wait=10&limit=1&outputMode=compact\"\n}","_postman_previewlanguage":"json"}]},{"name":"Export extraction results","request":{"method":"GET","description":"Downloads completed extraction results in the requested format. JSON rows also keep each result's nested `enrichmentData`, as `GET /extractions/{id}` returns it.","header":[{"key":"Accept","value":"application/octet-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions",":id","export"],"query":[{"description":"(Required) Export file format","key":"format","value":"csv","disabled":false},{"description":"Minimum follower count.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count.","key":"maxFollowers","value":"","disabled":true},{"description":"Minimum following count.","key":"minFollowing","value":"","disabled":true},{"description":"Maximum following count.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count.","key":"minPosts","value":"","disabled":true},{"description":"Maximum post count.","key":"maxPosts","value":"","disabled":true},{"description":"Minimum like count.","key":"minLikes","value":"","disabled":true},{"description":"Minimum reply count.","key":"minReplies","value":"","disabled":true},{"description":"Minimum repost count.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum view count.","key":"minViews","value":"","disabled":true},{"description":"Require a non-empty description.","key":"hasDescription","value":"","disabled":true},{"description":"Require a non-empty location.","key":"hasLocation","value":"","disabled":true},{"description":"Require an email in the row's Email column.","key":"hasEmail","value":"","disabled":true},{"description":"Require an email outside free webmail, such as Gmail, in the row's Email column.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Require the row's email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Require media.","key":"hasMedia","value":"","disabled":true},{"description":"Filter by verified status.","key":"verified","value":"","disabled":true},{"description":"Filter by language code.","key":"lang","value":"","disabled":true},{"description":"Search exported result text.","key":"search","value":"","disabled":true},{"description":"Include results on or after this date, from 00:00 UTC. An ISO 8601 time starts at that instant. The filter drops results without a post date. An empty value sets no filter.","key":"sinceDate","value":"","disabled":true},{"description":"Include results on or before this date, inclusive, through 23:59:59 UTC. An ISO 8601 time ends at that instant. The filter drops results without a post date. An empty value sets no filter.","key":"untilDate","value":"","disabled":true}],"variable":[{"description":"(Required) Extraction ID returned by `POST /extractions` or the extraction list. Another shape gets 400 `invalid_id`.","key":"id","value":"L3NjAbCdEfGh"}]}},"response":[{"name":"Exported file","originalRequest":{"method":"GET","description":"Downloads completed extraction results in the requested format. JSON rows also keep each result's nested `enrichmentData`, as `GET /extractions/{id}` returns it.","header":[{"key":"Accept","value":"application/octet-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","extractions",":id","export"],"query":[{"description":"(Required) Export file format","key":"format","value":"csv","disabled":false},{"description":"Minimum follower count.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count.","key":"maxFollowers","value":"","disabled":true},{"description":"Minimum following count.","key":"minFollowing","value":"","disabled":true},{"description":"Maximum following count.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count.","key":"minPosts","value":"","disabled":true},{"description":"Maximum post count.","key":"maxPosts","value":"","disabled":true},{"description":"Minimum like count.","key":"minLikes","value":"","disabled":true},{"description":"Minimum reply count.","key":"minReplies","value":"","disabled":true},{"description":"Minimum repost count.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum view count.","key":"minViews","value":"","disabled":true},{"description":"Require a non-empty description.","key":"hasDescription","value":"","disabled":true},{"description":"Require a non-empty location.","key":"hasLocation","value":"","disabled":true},{"description":"Require an email in the row's Email column.","key":"hasEmail","value":"","disabled":true},{"description":"Require an email outside free webmail, such as Gmail, in the row's Email column.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Require the row's email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Require media.","key":"hasMedia","value":"","disabled":true},{"description":"Filter by verified status.","key":"verified","value":"","disabled":true},{"description":"Filter by language code.","key":"lang","value":"","disabled":true},{"description":"Search exported result text.","key":"search","value":"","disabled":true},{"description":"Include results on or after this date, from 00:00 UTC. An ISO 8601 time starts at that instant. The filter drops results without a post date. An empty value sets no filter.","key":"sinceDate","value":"","disabled":true},{"description":"Include results on or before this date, inclusive, through 23:59:59 UTC. An ISO 8601 time ends at that instant. The filter drops results without a post date. An empty value sets no filter.","key":"untilDate","value":"","disabled":true}],"variable":[{"description":"(Required) Extraction ID returned by `POST /extractions` or the extraction list. Another shape gets 400 `invalid_id`.","key":"id","value":"L3NjAbCdEfGh"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/octet-stream"}],"body":"string","_postman_previewlanguage":"text"}]}]},{"name":"X Write","description":"X write actions (tweets, likes, follows, DMs)","item":[{"name":"Create tweet","request":{"method":"POST","description":"Publishes a post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"text\": \"Just launched our new feature!\",\n  \"media\": [\n    \"https://example.com/video.mp4\"\n  ]\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Publishes a post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"text\": \"Just launched our new feature!\",\n  \"media\": [\n    \"https://example.com/video.mp4\"\n  ]\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Publishes a post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"text\": \"Just launched our new feature!\",\n  \"media\": [\n    \"https://example.com/video.mp4\"\n  ]\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Get write action status","request":{"method":"GET","description":"Returns the current state of an asynchronous write action.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","write-actions",":id"],"query":[],"variable":[{"description":"(Required) Write action ID returned by a pending write response.","key":"id","value":""}]}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"GET","description":"Returns the current state of an asynchronous write action.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","write-actions",":id"],"query":[],"variable":[{"description":"(Required) Write action ID returned by a pending write response.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"GET","description":"Returns the current state of an asynchronous write action.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","write-actions",":id"],"query":[],"variable":[{"description":"(Required) Write action ID returned by a pending write response.","key":"id","value":""}]}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Delete tweet","request":{"method":"DELETE","description":"Deletes an authored post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"DELETE","description":"Deletes an authored post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"DELETE","description":"Deletes an authored post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Like tweet","request":{"method":"POST","description":"Likes a post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","like"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Likes a post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","like"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Likes a post through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","like"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Unlike tweet","request":{"method":"DELETE","description":"Removes a like through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","like"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"DELETE","description":"Removes a like through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","like"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"DELETE","description":"Removes a like through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","like"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Retweet","request":{"method":"POST","description":"Reposts a tweet through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweet"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Reposts a tweet through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweet"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Reposts a tweet through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweet"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Unretweet","request":{"method":"DELETE","description":"Removes a repost through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweet"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"DELETE","description":"Removes a repost through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweet"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"DELETE","description":"Removes a repost through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","tweets",":id","retweet"],"query":[],"variable":[{"description":"(Required) Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 `invalid_tweet_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Follow user","request":{"method":"POST","description":"Follows a user through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follow"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Follows a user through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follow"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Follows a user through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follow"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Unfollow user","request":{"method":"DELETE","description":"Unfollows a user through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follow"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"DELETE","description":"Unfollows a user through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follow"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"DELETE","description":"Unfollows a user through a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","follow"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Remove follower","request":{"method":"POST","description":"Removes a follower from a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","remove-follower"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Removes a follower from a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","remove-follower"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Removes a follower from a connected X account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","users",":id","remove-follower"],"query":[],"variable":[{"description":"(Required) User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa or x.com/i/user/11348282. A number is a user ID. Writes look up a username's ID before sending. Anything else gets 400 `invalid_user_id`.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Send direct message","request":{"method":"POST","description":"Sends a direct message through a connected X account. Once X rate limits an account's DMs, its DMs get 429 until X's reset. Xquik sends nothing to X & charges nothing. `Retry-After` & `nextAction.afterMs` give the wait.\n","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId"],"query":[],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"text\": \"Example text content\",\n  \"media_ids\": [\n    \"1234567890123456789\"\n  ]\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Sends a direct message through a connected X account. Once X rate limits an account's DMs, its DMs get 429 until X's reset. Xquik sends nothing to X & charges nothing. `Retry-After` & `nextAction.afterMs` give the wait.\n","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId"],"query":[],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"text\": \"Example text content\",\n  \"media_ids\": [\n    \"1234567890123456789\"\n  ]\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Sends a direct message through a connected X account. Once X rate limits an account's DMs, its DMs get 429 until X's reset. Xquik sends nothing to X & charges nothing. `Retry-After` & `nextAction.afterMs` give the wait.\n","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId"],"query":[],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"text\": \"Example text content\",\n  \"media_ids\": [\n    \"1234567890123456789\"\n  ]\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Delete direct message","request":{"method":"DELETE","description":"Deletes 1 DM from the account's side. The other person keeps it. Success means the account's conversation no longer shows it. A DM still shown gets 422 `x_dm_not_deleted`, and Xquik charges nothing.\n","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId","messages",":messageId"],"query":[{"description":"(Required) Connected X account (@username or ID) that sees the DM.","key":"account","value":"","disabled":false}],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""},{"description":"(Required) DM ID from DM history. Another value gets 400 `invalid_message_id`.","key":"messageId","value":""}]}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"DELETE","description":"Deletes 1 DM from the account's side. The other person keeps it. Success means the account's conversation no longer shows it. A DM still shown gets 422 `x_dm_not_deleted`, and Xquik charges nothing.\n","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId","messages",":messageId"],"query":[{"description":"(Required) Connected X account (@username or ID) that sees the DM.","key":"account","value":"","disabled":false}],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""},{"description":"(Required) DM ID from DM history. Another value gets 400 `invalid_message_id`.","key":"messageId","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"DELETE","description":"Deletes 1 DM from the account's side. The other person keeps it. Success means the account's conversation no longer shows it. A DM still shown gets 422 `x_dm_not_deleted`, and Xquik charges nothing.\n","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","dm",":userId","messages",":messageId"],"query":[{"description":"(Required) Connected X account (@username or ID) that sees the DM.","key":"account","value":"","disabled":false}],"variable":[{"description":"(Required) The other person in the conversation, as a user ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. Xquik looks up a username's ID first. Anything else gets 400 `invalid_user_id`.","key":"userId","value":""},{"description":"(Required) DM ID from DM history. Another value gets 400 `invalid_message_id`.","key":"messageId","value":""}]}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Upload media","request":{"method":"POST","description":"Uploads media and returns an identifier for later writes.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","media"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"},{"key":"is_long_video","type":"text","value":"true"}],"mode":"formdata"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Uploads media and returns an identifier for later writes.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","media"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"},{"key":"is_long_video","type":"text","value":"true"}],"mode":"formdata"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Uploads media and returns an identifier for later writes.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","media"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"},{"key":"is_long_video","type":"text","value":"true"}],"mode":"formdata"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Update X profile","request":{"method":"PATCH","description":"Updates editable fields on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"name\": \"Example Name\",\n  \"description\": \"description_value\",\n  \"location\": \"location_value\",\n  \"url\": \"https://xquik.com/example\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"PATCH","description":"Updates editable fields on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"name\": \"Example Name\",\n  \"description\": \"description_value\",\n  \"location\": \"location_value\",\n  \"url\": \"https://xquik.com/example\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"PATCH","description":"Updates editable fields on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"name\": \"Example Name\",\n  \"description\": \"description_value\",\n  \"location\": \"location_value\",\n  \"url\": \"https://xquik.com/example\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Update profile avatar","request":{"method":"PATCH","description":"Replaces the avatar on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile","avatar"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"}],"mode":"formdata"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"PATCH","description":"Replaces the avatar on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile","avatar"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"}],"mode":"formdata"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"PATCH","description":"Replaces the avatar on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile","avatar"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"}],"mode":"formdata"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Update profile banner","request":{"method":"PATCH","description":"Replaces the banner on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile","banner"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"}],"mode":"formdata"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"PATCH","description":"Replaces the banner on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile","banner"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"}],"mode":"formdata"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"PATCH","description":"Replaces the banner on a connected X profile.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"multipart/form-data"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","profile","banner"],"query":[],"variable":[]},"body":{"formdata":[{"key":"account","type":"text","value":"@elonmusk"},{"key":"file","src":[],"type":"file"}],"mode":"formdata"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Create Community","request":{"method":"POST","description":"Creates an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"name\": \"Example Name\",\n  \"description\": \"A community for Tesla enthusiasts\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Creates an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"name\": \"Example Name\",\n  \"description\": \"A community for Tesla enthusiasts\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Creates an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"name\": \"Example Name\",\n  \"description\": \"A community for Tesla enthusiasts\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Delete Community","request":{"method":"DELETE","description":"Deletes an owned X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"community_name\": \"Tesla Fans\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"DELETE","description":"Deletes an owned X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"community_name\": \"Tesla Fans\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"DELETE","description":"Deletes an owned X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\",\n  \"community_name\": \"Tesla Fans\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Join Community","request":{"method":"POST","description":"Joins an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","join"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"POST","description":"Joins an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","join"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"POST","description":"Joins an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","join"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Leave Community","request":{"method":"DELETE","description":"Leaves an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","join"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"response":[{"name":"Write reached a terminal state.","originalRequest":{"method":"DELETE","description":"Leaves an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","join"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12345\",\n  \"writeActionId\": \"12345\",\n  \"action\": \"like\",\n  \"status\": \"success\",\n  \"terminal\": true,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12345\",\n  \"pollAfterMs\": null,\n  \"charged\": true,\n  \"chargedCredits\": \"10\",\n  \"billing\": {\n    \"status\": \"charged\",\n    \"charged\": true,\n    \"plannedCredits\": \"10\",\n    \"chargedCredits\": \"10\"\n  },\n  \"request\": {\n    \"hash\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"payload\": {\n      \"tweet_id\": \"9876543210\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": {\n    \"type\": \"tweet\",\n    \"id\": \"9876543210\"\n  },\n  \"targetId\": \"9876543210\",\n  \"result\": {\n    \"type\": \"state_change\",\n    \"id\": \"9876543210\",\n    \"state\": \"liked\"\n  },\n  \"nextAction\": null,\n  \"sendDispatched\": true,\n  \"success\": true\n}","_postman_previewlanguage":"json"},{"name":"Write accepted or dispatched. Poll Location after Retry-After. Send no other write until it ends. X's 408, 500, 502, 503 or 504 after the send gives x_write_ambiguous.\n","originalRequest":{"method":"DELETE","description":"Leaves an X Community through a connected account.","header":[{"description":"(Required) Use 1 unique value per intended write. Reuse it only for an identical retry. A matching retry returns the first answer again, with `idempotent: true` added. It keeps the first status, body & Retry-After. It sends nothing to X & charges nothing. While the first request runs, a retry returns 202 & the action. Different input returns 409. Protection lasts at least 90 days.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","join"],"query":[],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets 400 `invalid_community_id` before the write is reserved.","key":"id","value":"1500000000000000000"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"account\": \"@elonmusk\"\n}"}},"status":"Accepted","code":202,"header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Request-Id","value":""},{"key":"Location","value":""},{"key":"Retry-After","value":""}],"body":"{\n  \"object\": \"x_write_action\",\n  \"id\": \"12346\",\n  \"writeActionId\": \"12346\",\n  \"action\": \"create_tweet\",\n  \"status\": \"dispatching\",\n  \"terminal\": false,\n  \"retryable\": false,\n  \"safeToRetry\": false,\n  \"statusUrl\": \"/api/v1/x/write-actions/12346\",\n  \"pollAfterMs\": 2000,\n  \"charged\": false,\n  \"chargedCredits\": \"0\",\n  \"billing\": {\n    \"status\": \"pending\",\n    \"charged\": false,\n    \"plannedCredits\": \"30\",\n    \"chargedCredits\": \"0\"\n  },\n  \"request\": {\n    \"hash\": \"abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789\",\n    \"payload\": {\n      \"text\": \"Hello from Xquik\"\n    }\n  },\n  \"account\": {\n    \"id\": \"42\",\n    \"username\": \"example\"\n  },\n  \"target\": null,\n  \"targetId\": null,\n  \"result\": null,\n  \"nextAction\": {\n    \"type\": \"poll\",\n    \"url\": \"/api/v1/x/write-actions/12346\",\n    \"afterMs\": 2000\n  },\n  \"sendDispatched\": true,\n  \"success\": false\n}","_postman_previewlanguage":"json"}]}]},{"name":"X Accounts","description":"Connected X accounts. Sign-in & removal need a dashboard session.","item":[{"name":"List connected X accounts","request":{"method":"GET","description":"Returns connected accounts in creation order. Omit pagination for up to 10,000 accounts. Send limit or cursor for legacy pagination.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","accounts"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"X account list","originalRequest":{"method":"GET","description":"Returns connected accounts in creation order. Omit pagination for up to 10,000 accounts. Send limit or cursor for legacy pagination.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","accounts"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"accounts\": [\n    {\n      \"id\": \"42\",\n      \"xUserId\": \"9876543210\",\n      \"xUsername\": \"elonmusk\",\n      \"status\": \"active\",\n      \"health\": \"healthy\",\n      \"createdAt\": \"2025-01-15T12:00:00Z\",\n      \"updatedAt\": \"2025-03-10T08:30:00Z\"\n    }\n  ],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Get X account details","request":{"method":"GET","description":"Returns 1 connected X account and its current status.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","accounts",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"X account details","originalRequest":{"method":"GET","description":"Returns 1 connected X account and its current status.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","accounts",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"xUserId\": \"9876543210\",\n  \"xUsername\": \"elonmusk\",\n  \"status\": \"active\",\n  \"health\": \"healthy\",\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"updatedAt\": \"2025-03-10T08:30:00Z\",\n  \"connectedAt\": \"2025-03-10T08:30:00Z\"\n}","_postman_previewlanguage":"json"}]}]},{"name":"Jobs","description":"Public X job listings, search and details","item":[{"name":"Search public X job listings by keyword","request":{"method":"GET","description":"Returns job listings with title, location, salary, company & apply link. Add filters to narrow them. A closed job does not appear & costs nothing. Follow next_cursor for more.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","jobs","search"],"query":[{"description":"(Required) Keyword, such as a job title or skill. Its alias is query.","key":"q","value":"engineer","disabled":false},{"description":"City, region or country as text, such as Berlin.","key":"location","value":"Berlin","disabled":true},{"description":"Location ID from GET /x/jobs/locations. Replaces location when both are sent.","key":"locationId","value":"1720462281849397612","disabled":true},{"description":"Where the work happens. Comma-separated list of onsite, remote & hybrid. Any case works, with spaces or hyphens between words.","key":"locationType","value":"remote,hybrid","disabled":true},{"description":"Comma-separated list of intern, entry_level, junior, mid_level, senior, lead, manager & executive. Any case works, with spaces or hyphens between words.","key":"seniority","value":"senior,lead","disabled":true},{"description":"Comma-separated list of full_time, full_time_contract, part_time & contract_to_hire. Any case works, with spaces or hyphens between words.","key":"employmentType","value":"full_time","disabled":true},{"description":"Company name to match.","key":"company","value":"SpaceX","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Job listings","originalRequest":{"method":"GET","description":"Returns job listings with title, location, salary, company & apply link. Add filters to narrow them. A closed job does not appear & costs nothing. Follow next_cursor for more.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","jobs","search"],"query":[{"description":"(Required) Keyword, such as a job title or skill. Its alias is query.","key":"q","value":"engineer","disabled":false},{"description":"City, region or country as text, such as Berlin.","key":"location","value":"Berlin","disabled":true},{"description":"Location ID from GET /x/jobs/locations. Replaces location when both are sent.","key":"locationId","value":"1720462281849397612","disabled":true},{"description":"Where the work happens. Comma-separated list of onsite, remote & hybrid. Any case works, with spaces or hyphens between words.","key":"locationType","value":"remote,hybrid","disabled":true},{"description":"Comma-separated list of intern, entry_level, junior, mid_level, senior, lead, manager & executive. Any case works, with spaces or hyphens between words.","key":"seniority","value":"senior,lead","disabled":true},{"description":"Comma-separated list of full_time, full_time_contract, part_time & contract_to_hire. Any case works, with spaces or hyphens between words.","key":"employmentType","value":"full_time","disabled":true},{"description":"Company name to match.","key":"company","value":"SpaceX","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"jobs\": [\n    {\n      \"id\": \"1899202395210649861\",\n      \"title\": \"Engineer\",\n      \"url\": \"https://x.com/i/jobs/1899202395210649861\",\n      \"applyUrl\": \"https://xquik.com/example\",\n      \"location\": \"United States\",\n      \"formattedSalary\": \"Starting at $225K\",\n      \"salaryMin\": 225000,\n      \"salaryCurrencyCode\": \"USD\",\n      \"salaryInterval\": \"annually\",\n      \"account\": {\n        \"id\": \"1812126202804711425\",\n        \"username\": \"commonwarexyz\",\n        \"name\": \"commonware\",\n        \"verified\": true,\n        \"verifiedType\": \"Business\"\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAACCgACGRElMJcAAA\"\n}","_postman_previewlanguage":"json"}]},{"name":"Find job search locations by name","request":{"method":"GET","description":"Returns the places whose names match a query, each with the location ID that GET /x/jobs/search takes. No match returns an empty list, free.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","jobs","locations"],"query":[{"description":"(Required) Place name or its start, such as new york. Its alias is query.","key":"q","value":"new york","disabled":false},{"description":"Most places to return. Without it, every match returns. Its aliases are pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"5","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Matching places","originalRequest":{"method":"GET","description":"Returns the places whose names match a query, each with the location ID that GET /x/jobs/search takes. No match returns an empty list, free.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","jobs","locations"],"query":[{"description":"(Required) Place name or its start, such as new york. Its alias is query.","key":"q","value":"new york","disabled":false},{"description":"Most places to return. Without it, every match returns. Its aliases are pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"5","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"locations\": [\n    {\n      \"id\": \"1720462281849397612\",\n      \"name\": \"New York, US\"\n    },\n    {\n      \"id\": \"1720462281920696805\",\n      \"name\": \"New York City, NY\"\n    }\n  ],\n  \"count\": 2\n}","_postman_previewlanguage":"json"}]},{"name":"Get an X job listing with its full description","request":{"method":"GET","description":"Returns a public job listing with its description as text & Markdown, work type, seniority, salary, company & apply link. A job that closed returns job_not_found & is free.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","jobs",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Job ID or URL-encoded job URL, such as x.com/i/jobs/123. Anything else gets 400 `invalid_job_id`.","key":"id","value":"1899202395210649861"}]}},"response":[{"name":"Job listing","originalRequest":{"method":"GET","description":"Returns a public job listing with its description as text & Markdown, work type, seniority, salary, company & apply link. A job that closed returns job_not_found & is free.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","jobs",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Job ID or URL-encoded job URL, such as x.com/i/jobs/123. Anything else gets 400 `invalid_job_id`.","key":"id","value":"1899202395210649861"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"job\": {\n    \"id\": \"1899202395210649861\",\n    \"title\": \"Engineer\",\n    \"url\": \"https://x.com/i/jobs/1899202395210649861\",\n    \"applyUrl\": \"https://xquik.com/example\",\n    \"location\": \"United States\",\n    \"locationType\": \"remote\",\n    \"employmentType\": \"full_time\",\n    \"seniorityLevel\": \"lead\",\n    \"jobFunction\": \"software_engineering\",\n    \"formattedSalary\": \"Starting at $225K\",\n    \"salaryMin\": 225000,\n    \"salaryCurrencyCode\": \"USD\",\n    \"salaryInterval\": \"annually\",\n    \"featured\": true,\n    \"shortDescription\": \"Commonware is hiring founding engineers.\",\n    \"description\": \"What is Commonware? We build open primitives.\",\n    \"descriptionMarkdown\": \"# What is Commonware?\",\n    \"account\": {\n      \"id\": \"1812126202804711425\",\n      \"username\": \"commonwarexyz\",\n      \"name\": \"commonware\",\n      \"verified\": true,\n      \"verifiedType\": \"Business\"\n    }\n  }\n}","_postman_previewlanguage":"json"}]}]},{"name":"Articles","description":"Long-form X Article extraction","item":[{"name":"Get full X Article content with cover image and metadata","request":{"method":"GET","description":"Returns the full content of an X Article (long-form post) by numeric tweet ID. Returns article_not_found when the tweet is valid but is not an X Article.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","articles",":tweetId"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID of the article, 15-19 digits, or its URL-encoded tweet URL, such as x.com/nasa/status/2102882545427714266.","key":"tweetId","value":""}]}},"response":[{"name":"Article with author","originalRequest":{"method":"GET","description":"Returns the full content of an X Article (long-form post) by numeric tweet ID. Returns article_not_found when the tweet is valid but is not an X Article.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","articles",":tweetId"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Tweet ID of the article, 15-19 digits, or its URL-encoded tweet URL, such as x.com/nasa/status/2102882545427714266.","key":"tweetId","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"article\": {\n    \"articleId\": \"2100651802404544512\",\n    \"title\": \"The Future of AI\",\n    \"previewText\": \"A deep dive into the latest AI trends...\",\n    \"coverImageUrl\": \"https://pbs.twimg.com/media/example.jpg\",\n    \"contents\": [\n      {\n        \"type\": \"paragraph\",\n        \"text\": \"This is the first paragraph of the article.\",\n        \"links\": [\n          {\n            \"offset\": 18,\n            \"length\": 9,\n            \"url\": \"https://example.com/paragraph\"\n          }\n        ]\n      },\n      {\n        \"type\": \"tweet\",\n        \"tweetId\": \"2058951429612875794\"\n      }\n    ],\n    \"createdAt\": \"2025-01-15T12:00:00Z\",\n    \"metadata\": {\n      \"first_published_at_secs\": 1736942400\n    },\n    \"lifecycleState\": {\n      \"modified_at_secs\": 1736946000\n    },\n    \"likeCount\": 150,\n    \"replyCount\": 23,\n    \"quoteCount\": 8,\n    \"retweetCount\": 40,\n    \"bookmarkCount\": 61,\n    \"viewCount\": 5000\n  },\n  \"author\": {\n    \"id\": \"9876543210\",\n    \"name\": \"Elon Musk\",\n    \"username\": \"elonmusk\",\n    \"profilePicture\": \"https://pbs.twimg.com/profile_images/example.jpg\"\n  }\n}","_postman_previewlanguage":"json"}]}]},{"name":"Trends","description":"Trending topics and hashtags by region","item":[{"name":"Get trending hashtags and topics from X by region, now or earlier","request":{"method":"GET","description":"Returns X's current trends for a place you choose. Pick it by woeid, country or location name. Without one, trends are worldwide. Add at to read what was trending on Twitter at a past time, such as yesterday. Xquik keeps a Twitter trends archive from 2026-10-13 02:20 UTC on, with 1 list per place every 5 minutes. Each request costs 1 credit, however many trends it returns.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","trends"],"query":[{"description":"Region WOEID (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey). Wins over country & location.","key":"woeid","value":"1","disabled":true},{"description":"Country to read trends for, by name or 2-letter code, such as Turkey or TR. Case insensitive.","key":"country","value":"","disabled":true},{"description":"Town or country to read trends for, by name, such as Istanbul. Case insensitive. Add country when 2 towns share a name. /x/trends/locations lists every name.","key":"location","value":"","disabled":true},{"description":"Number of trending topics to return (1-50, default 30)","key":"count","value":"30","disabled":true},{"description":"A past time, to read what was trending on Twitter then. Takes an ISO 8601 time, a date such as 2026-10-13, or Unix seconds. A time without a zone reads as UTC. It also takes a span back from now, as a number & s, m, h or d. So at=24h reads what was trending on Twitter yesterday at this hour, on every run of a schedule. The answer is the stored list nearest that time, with its own time in capturedAt. History starts 2026-10-13 02:20 UTC. A time over 24 hours from every stored list answers 400 at no charge.","key":"at","value":"2026-10-13T14:00:00Z","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"List of trending topics","originalRequest":{"method":"GET","description":"Returns X's current trends for a place you choose. Pick it by woeid, country or location name. Without one, trends are worldwide. Add at to read what was trending on Twitter at a past time, such as yesterday. Xquik keeps a Twitter trends archive from 2026-10-13 02:20 UTC on, with 1 list per place every 5 minutes. Each request costs 1 credit, however many trends it returns.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","trends"],"query":[{"description":"Region WOEID (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey). Wins over country & location.","key":"woeid","value":"1","disabled":true},{"description":"Country to read trends for, by name or 2-letter code, such as Turkey or TR. Case insensitive.","key":"country","value":"","disabled":true},{"description":"Town or country to read trends for, by name, such as Istanbul. Case insensitive. Add country when 2 towns share a name. /x/trends/locations lists every name.","key":"location","value":"","disabled":true},{"description":"Number of trending topics to return (1-50, default 30)","key":"count","value":"30","disabled":true},{"description":"A past time, to read what was trending on Twitter then. Takes an ISO 8601 time, a date such as 2026-10-13, or Unix seconds. A time without a zone reads as UTC. It also takes a span back from now, as a number & s, m, h or d. So at=24h reads what was trending on Twitter yesterday at this hour, on every run of a schedule. The answer is the stored list nearest that time, with its own time in capturedAt. History starts 2026-10-13 02:20 UTC. A time over 24 hours from every stored list answers 400 at no charge.","key":"at","value":"2026-10-13T14:00:00Z","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"trends\": [\n    {\n      \"name\": \"#AI\",\n      \"description\": \"Artificial intelligence discussions\",\n      \"promotedContent\": null,\n      \"query\": \"%23AI\",\n      \"rank\": 1,\n      \"tweetVolume\": 250000,\n      \"url\": \"https://x.com/search?q=%23AI\"\n    }\n  ],\n  \"count\": 30,\n  \"woeid\": 1,\n  \"location\": {\n    \"woeid\": 2344116,\n    \"name\": \"Istanbul\",\n    \"country\": \"Turkey\",\n    \"countryCode\": \"TR\",\n    \"placeType\": \"Town\",\n    \"placeTypeCode\": 7,\n    \"parentWoeid\": 23424969,\n    \"url\": \"http://where.yahooapis.com/v1/place/2344116\"\n  },\n  \"capturedAt\": \"2026-10-13T14:00:26.000Z\",\n  \"requestedAt\": \"2026-10-13T14:00:00.000Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get the X (Twitter) trends archive of a place by date","request":{"method":"GET","description":"Returns the Twitter trends archive of a place, as the lists X showed there over a range of time. Use it for trending on Twitter yesterday, last week or any day since 2026-10-13 02:20 UTC. Xquik stores 1 list per place every 5 minutes and keeps it for 25 months. Pick the place by woeid, country or location name, the range with from & to, and the step with every. from & to take a time or a span back from now, such as 7d, so a schedule can read the last day on every run. Each step returns the first list stored in it, with its own time. Each returned list costs 1 credit, so 24 lists cost 24 credits. A step with no stored list returns none and costs nothing. 1 request returns 24 lists, or up to 100 with limit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","trends","history"],"query":[{"description":"WOEID of the place, such as 1 for Worldwide or 23424969 for Turkey. It wins over country & location. /x/trends/locations lists every WOEID.","key":"woeid","value":"1","disabled":true},{"description":"Country to read trends history for, by name or 2-letter code, such as Turkey or TR. Case insensitive.","key":"country","value":"","disabled":true},{"description":"Town or country to read trends history for, by name, such as Istanbul. Case insensitive. Add country when 2 towns share a name. /x/trends/locations lists every name.","key":"location","value":"","disabled":true},{"description":"Start of the range. Takes an ISO 8601 time, a date such as 2026-10-13, or Unix seconds. A time without a zone reads as UTC. It also takes a span back from now, as a number & s, m, h or d, so from=7d reads the last 7 days. Defaults to 24 hours before to. History starts 2026-10-13 02:20 UTC, and a range that begins earlier returns the stored part. Alias sinceTime.","key":"from","value":"2026-10-13","disabled":true},{"description":"End of the range, which it leaves out. Takes the forms of from, so from=2d with to=1d reads the day before the last 24 hours. Defaults to now. Alias untilTime.","key":"to","value":"2026-10-14","disabled":true},{"description":"Step between 2 returned lists, as a number & m, h or d, such as 15m, 1h or 1d. A step under 5m returns every stored list.","key":"every","value":"1h","disabled":true},{"description":"Trends to return in each list, from 1 to 50.","key":"count","value":"30","disabled":true},{"description":"Maximum lists 1 request returns & charges. A wider range gives a next_cursor for the next lists. A low credit balance can return fewer.","key":"limit","value":"24","disabled":true},{"description":"The next_cursor of the page before, for the next lists. It keeps the time of the first request, so a range of spans stays the same on every page.","key":"cursor","value":"2026-10-14T00:00:00.000Z~1791979200000","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Stored trend lists of the place, oldest first","originalRequest":{"method":"GET","description":"Returns the Twitter trends archive of a place, as the lists X showed there over a range of time. Use it for trending on Twitter yesterday, last week or any day since 2026-10-13 02:20 UTC. Xquik stores 1 list per place every 5 minutes and keeps it for 25 months. Pick the place by woeid, country or location name, the range with from & to, and the step with every. from & to take a time or a span back from now, such as 7d, so a schedule can read the last day on every run. Each step returns the first list stored in it, with its own time. Each returned list costs 1 credit, so 24 lists cost 24 credits. A step with no stored list returns none and costs nothing. 1 request returns 24 lists, or up to 100 with limit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","trends","history"],"query":[{"description":"WOEID of the place, such as 1 for Worldwide or 23424969 for Turkey. It wins over country & location. /x/trends/locations lists every WOEID.","key":"woeid","value":"1","disabled":true},{"description":"Country to read trends history for, by name or 2-letter code, such as Turkey or TR. Case insensitive.","key":"country","value":"","disabled":true},{"description":"Town or country to read trends history for, by name, such as Istanbul. Case insensitive. Add country when 2 towns share a name. /x/trends/locations lists every name.","key":"location","value":"","disabled":true},{"description":"Start of the range. Takes an ISO 8601 time, a date such as 2026-10-13, or Unix seconds. A time without a zone reads as UTC. It also takes a span back from now, as a number & s, m, h or d, so from=7d reads the last 7 days. Defaults to 24 hours before to. History starts 2026-10-13 02:20 UTC, and a range that begins earlier returns the stored part. Alias sinceTime.","key":"from","value":"2026-10-13","disabled":true},{"description":"End of the range, which it leaves out. Takes the forms of from, so from=2d with to=1d reads the day before the last 24 hours. Defaults to now. Alias untilTime.","key":"to","value":"2026-10-14","disabled":true},{"description":"Step between 2 returned lists, as a number & m, h or d, such as 15m, 1h or 1d. A step under 5m returns every stored list.","key":"every","value":"1h","disabled":true},{"description":"Trends to return in each list, from 1 to 50.","key":"count","value":"30","disabled":true},{"description":"Maximum lists 1 request returns & charges. A wider range gives a next_cursor for the next lists. A low credit balance can return fewer.","key":"limit","value":"24","disabled":true},{"description":"The next_cursor of the page before, for the next lists. It keeps the time of the first request, so a range of spans stays the same on every page.","key":"cursor","value":"2026-10-14T00:00:00.000Z~1791979200000","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"fromTime\": \"2026-10-13T00:00:00.000Z\",\n  \"toTime\": \"2026-10-14T00:00:00.000Z\",\n  \"snapshots\": [\n    {\n      \"capturedAt\": \"2026-10-13T14:00:26.000Z\",\n      \"count\": 1,\n      \"trends\": [\n        {\n          \"name\": \"#AI\",\n          \"description\": \"Artificial intelligence discussions\",\n          \"promotedContent\": null,\n          \"query\": \"%23AI\",\n          \"rank\": 1,\n          \"tweetVolume\": 250000,\n          \"url\": \"https://x.com/search?q=%23AI\"\n        }\n      ]\n    }\n  ],\n  \"count\": 1,\n  \"woeid\": 1,\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the locations X offers trends for","request":{"method":"GET","description":"Returns the places X offers trends for. Pass a location's woeid to /x/trends. Each returned location costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","trends","locations"],"query":[{"description":"Country name or 2-letter code, such as Turkey or TR. Case insensitive. Returns the country & its towns.","key":"country","value":"","disabled":true},{"description":"Kind of place. Case insensitive. X labels a few towns unknown.","key":"placeType","value":"country","disabled":true},{"description":"Text the location name contains, such as york. Case insensitive. Alias query.","key":"q","value":"","disabled":true},{"description":"Maximum locations to return. Omit it for every match. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Locations X offers trends for","originalRequest":{"method":"GET","description":"Returns the places X offers trends for. Pass a location's woeid to /x/trends. Each returned location costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","trends","locations"],"query":[{"description":"Country name or 2-letter code, such as Turkey or TR. Case insensitive. Returns the country & its towns.","key":"country","value":"","disabled":true},{"description":"Kind of place. Case insensitive. X labels a few towns unknown.","key":"placeType","value":"country","disabled":true},{"description":"Text the location name contains, such as york. Case insensitive. Alias query.","key":"q","value":"","disabled":true},{"description":"Maximum locations to return. Omit it for every match. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"locations\": [\n    {\n      \"woeid\": 2344116,\n      \"name\": \"Istanbul\",\n      \"country\": \"Turkey\",\n      \"countryCode\": \"TR\",\n      \"placeType\": \"Town\",\n      \"placeTypeCode\": 7,\n      \"parentWoeid\": 23424969,\n      \"url\": \"http://where.yahooapis.com/v1/place/2344116\"\n    }\n  ],\n  \"count\": 1,\n  \"total\": 1,\n  \"message\": \"Unknown placeType. Use country, town, worldwide or unknown.\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get every version of an X news story, oldest first","request":{"method":"GET","description":"Returns each version X wrote of 1 news story, the AI trends x.com shows under Explore & News. Each version has its time, headline & text, oldest first, so you can see how the story changed. X lists every version at once. Each request costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","news",":id","versions"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X news story ID, or the URL-encoded story link, such as x.com/i/trending/2110209733533598095.","key":"id","value":"2110209733533598095"}]}},"response":[{"name":"The story's versions, oldest first","originalRequest":{"method":"GET","description":"Returns each version X wrote of 1 news story, the AI trends x.com shows under Explore & News. Each version has its time, headline & text, oldest first, so you can see how the story changed. X lists every version at once. Each request costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","news",":id","versions"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X news story ID, or the URL-encoded story link, such as x.com/i/trending/2110209733533598095.","key":"id","value":"2110209733533598095"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"2110209733533598095\",\n  \"count\": 1,\n  \"versions\": [\n    {\n      \"id\": \"2110211669641105725\",\n      \"createdAt\": \"2026-10-14T03:30:42.536Z\",\n      \"headline\": \"Elon Musk Pushes Starlink for India's Remote Areas Amid Regulatory Hurdles\",\n      \"text\": \"Musk has accused Reliance Industries' Mukesh Ambani of blocking Starlink's entry to protect local telecom giants like Jio, while India's government insists on equal treatment for all applicants, including ongoing security reviews. In Vietnam, Starlink already provides free internet to isolated spots for tourism and disaster response, highlighting its potential for hard-to-reach areas. Yet challengers note India's cheap mobile data from Jio and Airtel covers most needs, raising questions on pricing and national security as Starlink seeks final clearances.\"\n    }\n  ]\n}","_postman_previewlanguage":"json"}]},{"name":"List the hashflags X shows after hashtags","request":{"method":"GET","description":"Returns X's hashflags, the custom emoji X shows after some hashtags. Lists the ones running now unless activeOnly is false. Each returned hashflag costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","hashflags"],"query":[{"description":"Text the hashtag contains, such as football. Case insensitive. A leading hash sign is ignored. Alias query.","key":"q","value":"","disabled":true},{"description":"Keeps hashflags that run now. Send false to add ended & upcoming ones.","key":"activeOnly","value":"true","disabled":true},{"description":"Maximum hashflags to return. Omit it for every match. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Hashflags X shows after hashtags","originalRequest":{"method":"GET","description":"Returns X's hashflags, the custom emoji X shows after some hashtags. Lists the ones running now unless activeOnly is false. Each returned hashflag costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","hashflags"],"query":[{"description":"Text the hashtag contains, such as football. Case insensitive. A leading hash sign is ignored. Alias query.","key":"q","value":"","disabled":true},{"description":"Keeps hashflags that run now. Send false to add ended & upcoming ones.","key":"activeOnly","value":"true","disabled":true},{"description":"Maximum hashflags to return. Omit it for every match. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"hashflags\": [\n    {\n      \"hashtag\": \"AION2\",\n      \"assetUrl\": \"https://abs.twimg.com/hashflags/BF-16692_AIon2_jp_Hashmoji_v3/BF-16692_AIon2_jp_Hashmoji_v3.png\",\n      \"startsAt\": \"2026-10-02T10:00:00.000Z\",\n      \"endsAt\": \"2027-01-03T14:59:00.000Z\",\n      \"isHashfettiEnabled\": false,\n      \"animations\": []\n    }\n  ],\n  \"count\": 1,\n  \"total\": 1,\n  \"message\": \"No hashflag runs now. Send activeOnly=false to list the rest.\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get trending hashtags and topics by region (alias)","request":{"method":"GET","description":"Returns current regional trends through the compatibility route. Each request costs 1 credit, however many trends it returns.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","trends"],"query":[{"description":"The WOEID of any place X lists trends for (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey). List places with GET /x/trends/locations.","key":"woeid","value":"1","disabled":true},{"description":"Number of trending topics returned (1-50, default 30)","key":"count","value":"30","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Trending topics","originalRequest":{"method":"GET","description":"Returns current regional trends through the compatibility route. Each request costs 1 credit, however many trends it returns.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","trends"],"query":[{"description":"The WOEID of any place X lists trends for (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey). List places with GET /x/trends/locations.","key":"woeid","value":"1","disabled":true},{"description":"Number of trending topics returned (1-50, default 30)","key":"count","value":"30","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"trends\": [\n    {\n      \"name\": \"#AI\",\n      \"description\": \"Artificial intelligence discussions\",\n      \"promotedContent\": null,\n      \"query\": \"%23AI\",\n      \"rank\": 1,\n      \"tweetVolume\": 250000,\n      \"url\": \"https://x.com/search?q=%23AI\"\n    }\n  ],\n  \"total\": 30,\n  \"woeid\": 1\n}","_postman_previewlanguage":"json"}]}]},{"name":"Communities","description":"Find X Communities & read their info, members, posts & media","item":[{"name":"Get community name, description and member count","request":{"method":"GET","description":"Returns 1 community's public identity, rules, join question, search tags, membership counts, and the profiles of its creator, admin and previewed members.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","info"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"response":[{"name":"Community details","originalRequest":{"method":"GET","description":"Returns 1 community's public identity, rules, join question, search tags, membership counts, and the profiles of its creator, admin and previewed members.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","info"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"community\": {\n    \"id\": \"1500000000000000000\",\n    \"name\": \"Tesla Fans\",\n    \"description\": \"A community for Tesla enthusiasts\",\n    \"banner_url\": \"https://xquik.com/example\",\n    \"created_at\": \"2025-01-15T12:00:00Z\",\n    \"join_policy\": \"open\",\n    \"member_count\": 10000,\n    \"moderator_count\": 5,\n    \"is_nsfw\": false\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"List members of a community","request":{"method":"GET","description":"Returns public member profiles for 1 community.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","members"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Maximum user profiles per page (1-200, default 20).","key":"pageSize","value":"20","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"response":[{"name":"List of community members","originalRequest":{"method":"GET","description":"Returns public member profiles for 1 community.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","members"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Maximum user profiles per page (1-200, default 20).","key":"pageSize","value":"20","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Search members of a community by name","request":{"method":"GET","description":"Finds a community's members by name or username, as the search box on X's members page does. X checks up to 10 accounts that match, & the answer holds the members among them, each with its role. Each member costs 1 credit. An answer without members is free.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","members","search"],"query":[{"description":"(Required) Name or username to find members by, such as marckohlbrugge. A leading @ is dropped. Alias query.","key":"q","value":"","disabled":false},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"response":[{"name":"Community members X found for the name","originalRequest":{"method":"GET","description":"Finds a community's members by name or username, as the search box on X's members page does. X checks up to 10 accounts that match, & the answer holds the members among them, each with its role. Each member costs 1 credit. An answer without members is free.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","members","search"],"query":[{"description":"(Required) Name or username to find members by, such as marckohlbrugge. A leading @ is dropped. Alias query.","key":"q","value":"","disabled":false},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"641633\",\n      \"username\": \"marckohlbrugge\",\n      \"name\": \"Marc Köhlbrugge\",\n      \"communityRole\": \"Admin\",\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1857124042433572864/iMivVaYP_normal.jpg\",\n      \"isBlueVerified\": true\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List moderators of a community","request":{"method":"GET","description":"Returns public moderator profiles for 1 community.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","moderators"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"response":[{"name":"List of community moderators","originalRequest":{"method":"GET","description":"Returns public moderator profiles for 1 community.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","moderators"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"users\": [\n    {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\",\n      \"followers\": 41936873,\n      \"following\": 127,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/1697749409851985920/HbrI04tM.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/34743251/1681251194\",\n      \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n      \"location\": \"Earth\",\n      \"createdAt\": \"Thu Apr 23 21:53:30 +0000 2009\",\n      \"statusesCount\": 11834,\n      \"mediaCount\": 4713,\n      \"protected\": false,\n      \"url\": \"http://spacex.com\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"http://spacex.com\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 529,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2104354931595423762\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"SpaceX designs, manufactures and launches the world's most advanced rockets and spacecraft\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"spacex.com\",\n                \"expanded_url\": \"http://spacex.com\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/VOJ6qEctND\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1681839322029502464\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"none\",\n      \"superFollowEligible\": false\n    },\n    {\n      \"id\": \"20536157\",\n      \"username\": \"Google\",\n      \"name\": \"Google\",\n      \"followers\": 31909314,\n      \"following\": 298,\n      \"verified\": true,\n      \"isBlueVerified\": true,\n      \"isVerified\": true,\n      \"profilePicture\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3_normal.jpg\",\n      \"profilePictureOriginal\": \"https://pbs.twimg.com/profile_images/2042749771337564160/AgOFPEL3.jpg\",\n      \"coverPicture\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/20536157/1780004508\",\n      \"description\": \"Here to help.\",\n      \"location\": \"Mountain View, CA\",\n      \"createdAt\": \"Tue Feb 10 19:14:39 +0000 2009\",\n      \"statusesCount\": 251787,\n      \"mediaCount\": 38271,\n      \"protected\": false,\n      \"url\": \"https://blog.google/newsletter-subscribe/\",\n      \"contactInfo\": {\n        \"links\": [\n          {\n            \"url\": \"https://blog.google/newsletter-subscribe/\",\n            \"network\": \"website\",\n            \"source\": \"url\"\n          }\n        ]\n      },\n      \"favouritesCount\": 5327,\n      \"possiblySensitive\": false,\n      \"pinnedTweetIds\": [\n        \"2105388143902175529\"\n      ],\n      \"verifiedType\": \"Business\",\n      \"profile_bio\": {\n        \"description\": \"Here to help.\",\n        \"entities\": {\n          \"description\": {},\n          \"url\": {\n            \"urls\": [\n              {\n                \"display_url\": \"blog.google/newsletter-sub…\",\n                \"expanded_url\": \"https://blog.google/newsletter-subscribe/\",\n                \"indices\": [\n                  0,\n                  23\n                ],\n                \"url\": \"https://t.co/RS3iU87BGe\"\n              }\n            ]\n          }\n        }\n      },\n      \"hasGraduatedAccess\": true,\n      \"parodyCommentaryFanLabel\": \"None\",\n      \"professional\": {\n        \"category\": [\n          {\n            \"icon_name\": \"IconBriefcaseStroke\",\n            \"id\": 713,\n            \"name\": \"Science & Technology\"\n          }\n        ],\n        \"professional_type\": \"Business\",\n        \"rest_id\": \"1504886752259059716\"\n      },\n      \"profileDescriptionLanguage\": \"en\",\n      \"profileImageShape\": \"Square\",\n      \"profileTranslatorType\": \"regular\",\n      \"superFollowEligible\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List tweets posted in a community","request":{"method":"GET","description":"Returns public tweets posted within 1 community, newest first by default. Send queryType=Top for the posts X ranks highest. The first page opens with the tweet the community pinned, flagged isPinned, as x.com shows it. Each tweet costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","tweets"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Latest for newest first, or Top for the posts X ranks highest. Any case works. Aliases ranking & sort, which also take Recency & Relevance. Send the same value with each cursor.","key":"queryType","value":"Latest","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"response":[{"name":"List of community tweets","originalRequest":{"method":"GET","description":"Returns public tweets posted within 1 community, newest first by default. Send queryType=Top for the posts X ranks highest. The first page opens with the tweet the community pinned, flagged isPinned, as x.com shows it. Each tweet costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","tweets"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Latest for newest first, or Top for the posts X ranks highest. Any case works. Aliases ranking & sort, which also take Recency & Relevance. Send the same value with each cursor.","key":"queryType","value":"Latest","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"List media tweets posted in a community","request":{"method":"GET","description":"Returns the tweets with photos or videos on 1 community's Media tab, newest first. Each tweet costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","media"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"response":[{"name":"Media tweets of the community","originalRequest":{"method":"GET","description":"Returns the tweets with photos or videos on 1 community's Media tab, newest first. Each tweet costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities",":id","media"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Community ID, a number up to 19 digits. Another value gets a free 400 `invalid_community_id` before X is read.","key":"id","value":"1500000000000000000"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"Find X Communities by keyword","request":{"method":"GET","description":"Returns the communities X finds for a keyword, in X's order. Each community costs 1 credit. To search the tweets in Communities, use /x/communities/search.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","find"],"query":[{"description":"(Required) Keyword to find communities by, such as ai. Alias query.","key":"q","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Communities X finds for the keyword","originalRequest":{"method":"GET","description":"Returns the communities X finds for a keyword, in X's order. Each community costs 1 credit. To search the tweets in Communities, use /x/communities/search.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","find"],"query":[{"description":"(Required) Keyword to find communities by, such as ai. Alias query.","key":"q","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"communities\": [\n    {\n      \"id\": \"1472105760389668865\",\n      \"name\": \"Tech Twitter\",\n      \"member_count\": 121468,\n      \"is_nsfw\": false,\n      \"primary_topic\": {\n        \"name\": \"Technology\"\n      },\n      \"banner_url\": \"https://pbs.twimg.com/community_banner_img/example.jpg\",\n      \"membersFacepile\": [\n        {\n          \"id\": \"2864203879\",\n          \"profilePicture\": \"https://pbs.twimg.com/profile_images/example.jpg\"\n        }\n      ]\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"WzM1LjUxMjQ5N10=\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the most popular X Communities of a topic","request":{"method":"GET","description":"Returns the communities X ranks highest under a topic or subtopic. Name it by topicId or by topic name from /x/communities/topics. Each community costs 1 credit. A missing or unknown topic returns invalid_community_topic & lists the topic names.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","popular"],"query":[{"description":"Topic or subtopic ID from /x/communities/topics, such as 301. Wins over topic.","key":"topicId","value":"","disabled":true},{"description":"Topic or subtopic name in any case, such as technology. Send this or topicId.","key":"topic","value":"","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Popular communities of the topic","originalRequest":{"method":"GET","description":"Returns the communities X ranks highest under a topic or subtopic. Name it by topicId or by topic name from /x/communities/topics. Each community costs 1 credit. A missing or unknown topic returns invalid_community_topic & lists the topic names.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","popular"],"query":[{"description":"Topic or subtopic ID from /x/communities/topics, such as 301. Wins over topic.","key":"topicId","value":"","disabled":true},{"description":"Topic or subtopic name in any case, such as technology. Send this or topicId.","key":"topic","value":"","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"communities\": [\n    {\n      \"id\": \"1472105760389668865\",\n      \"name\": \"Tech Twitter\",\n      \"member_count\": 121468,\n      \"is_nsfw\": false,\n      \"primary_topic\": {\n        \"name\": \"Technology\"\n      },\n      \"banner_url\": \"https://pbs.twimg.com/community_banner_img/example.jpg\",\n      \"membersFacepile\": [\n        {\n          \"id\": \"2864203879\",\n          \"profilePicture\": \"https://pbs.twimg.com/profile_images/example.jpg\"\n        }\n      ]\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"WzM1LjUxMjQ5N10=\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the topics X groups communities under","request":{"method":"GET","description":"Returns the community topics with their subtopics. Pass an ID as topicId, or a name as topic, to /x/communities/popular. Each top-level topic costs 1 credit, its subtopics included.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","topics"],"query":[{"description":"Maximum topics to return. Omit it for every topic. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Community topics with their subtopics","originalRequest":{"method":"GET","description":"Returns the community topics with their subtopics. Pass an ID as topicId, or a name as topic, to /x/communities/popular. Each top-level topic costs 1 credit, its subtopics included.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","topics"],"query":[{"description":"Maximum topics to return. Omit it for every topic. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"topics\": [\n    {\n      \"id\": \"301\",\n      \"name\": \"Technology\",\n      \"subtopics\": [\n        {\n          \"id\": \"302\",\n          \"name\": \"Artificial Intelligence\"\n        },\n        {\n          \"id\": \"303\",\n          \"name\": \"Software\"\n        }\n      ]\n    }\n  ],\n  \"count\": 1\n}","_postman_previewlanguage":"json"}]},{"name":"List the X Communities X suggests to join","request":{"method":"GET","description":"Returns the communities X suggests, with their full public fields. X picks them per request, so 2 calls can differ. If X suggests none, Xquik asks up to 2 more times. An empty list is free. Each community costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","suggested"],"query":[{"description":"Maximum communities to return. Omit it for every suggestion. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Communities X suggests","originalRequest":{"method":"GET","description":"Returns the communities X suggests, with their full public fields. X picks them per request, so 2 calls can differ. If X suggests none, Xquik asks up to 2 more times. An empty list is free. Each community costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","suggested"],"query":[{"description":"Maximum communities to return. Omit it for every suggestion. A low credit balance can return fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.","key":"limit","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"communities\": [\n    {\n      \"id\": \"1472105760389668865\",\n      \"name\": \"Tech Twitter\",\n      \"member_count\": 121468,\n      \"is_nsfw\": false,\n      \"primary_topic\": {\n        \"name\": \"Technology\"\n      },\n      \"banner_url\": \"https://pbs.twimg.com/community_banner_img/example.jpg\",\n      \"membersFacepile\": [\n        {\n          \"id\": \"2864203879\",\n          \"profilePicture\": \"https://pbs.twimg.com/profile_images/example.jpg\"\n        }\n      ]\n    }\n  ],\n  \"count\": 1\n}","_postman_previewlanguage":"json"}]},{"name":"Search tweets in X Communities by keyword","request":{"method":"GET","description":"Returns 1 page of tweets, not community records. Add communityId to search 1 Community, or leave it out to search every Community. To find communities by keyword, use /x/communities/find.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","search"],"query":[{"description":"Numeric ID of the Community whose posts to search. Leave it out to search posts across every Community.","key":"communityId","value":"","disabled":true},{"description":"(Required) Search query","key":"q","value":"","disabled":false},{"description":"Sort order (Latest or Top)","key":"queryType","value":"Latest","disabled":true},{"description":"Pagination cursor for community search. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Tweet search results from the selected X Community","originalRequest":{"method":"GET","description":"Returns 1 page of tweets, not community records. Add communityId to search 1 Community, or leave it out to search every Community. To find communities by keyword, use /x/communities/find.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","search"],"query":[{"description":"Numeric ID of the Community whose posts to search. Leave it out to search posts across every Community.","key":"communityId","value":"","disabled":true},{"description":"(Required) Search query","key":"q","value":"","disabled":false},{"description":"Sort order (Latest or Top)","key":"queryType","value":"Latest","disabled":true},{"description":"Pagination cursor for community search. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]},{"name":"Search tweets in X Communities","request":{"method":"GET","description":"Returns 1 resumable page of tweets. Add communityId to search 1 Community, or leave it out to search every Community.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","tweets"],"query":[{"description":"Numeric ID of the Community whose posts to search. Leave it out to search posts across every Community.","key":"communityId","value":"","disabled":true},{"description":"(Required) Search query","key":"q","value":"","disabled":false},{"description":"Sort order (Latest or Top)","key":"queryType","value":"Latest","disabled":true},{"description":"Pagination cursor for community search. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Tweet search results from the selected X Community","originalRequest":{"method":"GET","description":"Returns 1 resumable page of tweets. Add communityId to search 1 Community, or leave it out to search every Community.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","communities","tweets"],"query":[{"description":"Numeric ID of the Community whose posts to search. Leave it out to search posts across every Community.","key":"communityId","value":"","disabled":true},{"description":"(Required) Search query","key":"q","value":"","disabled":false},{"description":"Sort order (Latest or Top)","key":"queryType","value":"Latest","disabled":true},{"description":"Pagination cursor for community search. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]}]},{"name":"Lists","description":"X List search, details, followers, members, and tweets","item":[{"name":"Search public X Lists by keyword","request":{"method":"GET","description":"Returns 1 page of public Lists with member counts, banners & owner profiles. X may rank the Lists differently per request. Pass next_cursor as cursor for the next page.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists","search"],"query":[{"description":"(Required) Keywords to find Lists by, such as a topic. Alias query.","key":"q","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Lists that match the keywords","originalRequest":{"method":"GET","description":"Returns 1 page of public Lists with member counts, banners & owner profiles. X may rank the Lists differently per request. Pass next_cursor as cursor for the next page.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists","search"],"query":[{"description":"(Required) Keywords to find Lists by, such as a topic. Alias query.","key":"q","value":"","disabled":false},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Items per page (1-100, default 20). Source, filters or credits can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"lists\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get an X List's name, description, counts and owner","request":{"method":"GET","description":"Returns 1 public X List as its page on X shows it. Accepts the List ID or the URL-encoded List URL, such as x.com/i/lists/4143408. A private List answers 404 list_not_found.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"response":[{"name":"List details","originalRequest":{"method":"GET","description":"Returns 1 public X List as its page on X shows it. Accepts the List ID or the URL-encoded List URL, such as x.com/i/lists/4143408. A private List answers 404 list_not_found.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"list\": {\n    \"id\": \"4143408\",\n    \"name\": \"NASA Centers\",\n    \"description\": \"NASA has 10 centers\",\n    \"memberCount\": 11,\n    \"subscriberCount\": 859,\n    \"owner\": {\n      \"id\": \"11348282\",\n      \"username\": \"NASA\",\n      \"name\": \"NASA\"\n    },\n    \"url\": \"https://x.com/i/lists/4143408\",\n    \"createdAt\": \"2009-12-02T22:41:02.000Z\",\n    \"bannerUrl\": \"https://pbs.twimg.com/media/example.png\",\n    \"membersContext\": \"11 members\"\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"List followers of an X List","request":{"method":"GET","description":"Returns a public List's followers with resumable or standard pagination. A private List answers 404 list_not_found.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id","followers"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"response":[{"name":"List profiles","originalRequest":{"method":"GET","description":"Returns a public List's followers with resumable or standard pagination. A private List answers 404 list_not_found.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id","followers"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"users\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List members of an X List","request":{"method":"GET","description":"Returns a public List's members with resumable or standard pagination. A private List answers 404 list_not_found.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id","members"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"response":[{"name":"List members","originalRequest":{"method":"GET","description":"Returns a public List's members with resumable or standard pagination. A private List answers 404 list_not_found.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id","members"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Up to 300 user profiles in automatic mode, 200 in standard. Sources can return fewer. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"200","disabled":true},{"description":"Most profiles 1 request reads, kept or dropped by the filters. The request then answers the profiles it kept, the count it dropped & the cursor to read on. Each request of a cursor may send its own value. Without it, a filtered read scans at most 100,000 profiles of the list across all its pages, & the page that reaches them ends the list with `scanLimit`. An unfiltered read has no scan limit. Automatic mode only.","key":"maxScan","value":"10000","disabled":true},{"description":"Minimum follower count. Profiles the filter drops cost nothing.","key":"minFollowers","value":"","disabled":true},{"description":"Maximum follower count. A profile without a count passes.","key":"maxFollowers","value":"","disabled":true},{"description":"Profiles must follow at least this many accounts.","key":"minFollowing","value":"","disabled":true},{"description":"Profiles may follow at most this many accounts.","key":"maxFollowing","value":"","disabled":true},{"description":"Minimum post count. minPosts is also accepted.","key":"minStatuses","value":"","disabled":true},{"description":"Maximum post count. maxPosts is also accepted.","key":"maxStatuses","value":"","disabled":true},{"description":"Minimum account age in whole days.","key":"minAccountAgeDays","value":"","disabled":true},{"description":"Only return verified profiles.","key":"verifiedOnly","value":"","disabled":true},{"description":"Only return profiles X marks as blue verified. X marks many business & government accounts blue too. Use verifiedType for 1 badge type.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Match the verification type exactly, ignoring case.","key":"verifiedType","value":"","disabled":true},{"description":"Only return profiles with a website.","key":"hasWebsite","value":"","disabled":true},{"description":"Only return profiles with a location.","key":"hasLocation","value":"","disabled":true},{"description":"Only return profiles that publish an email.","key":"hasEmail","value":"","disabled":true},{"description":"Only return profiles that publish an email outside free webmail, such as Gmail.","key":"businessEmailOnly","value":"","disabled":true},{"description":"Only return profiles with an email at one of these domains. Separate domains with commas. Subdomains match.","key":"emailDomains","value":"acme.com,stanford.edu","disabled":true},{"description":"Match any comma-separated or line-separated bio term, ignoring case.","key":"bioContains","value":"","disabled":true},{"description":"Match a location substring, ignoring case.","key":"locationContains","value":"","disabled":true},{"description":"Match a username substring, ignoring case.","key":"usernameContains","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"users\": [],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"List tweets from an X List","request":{"method":"GET","description":"Omit mode for resumable maximum coverage. Pass next_cursor unchanged. Standard keeps legacy pagination. A private List answers 404 list_not_found.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id","tweets"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Include reply tweets unless replies specifies another mode.","key":"includeReplies","value":"false","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"response":[{"name":"List tweets","originalRequest":{"method":"GET","description":"Omit mode for resumable maximum coverage. Pass next_cursor unchanged. Standard keeps legacy pagination. A private List answers 404 list_not_found.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","lists",":id","tweets"],"query":[{"description":"Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Legacy cursor alias. Prefer cursor.","key":"after","value":"","disabled":true},{"description":"Omit mode for resumable maximum coverage. Standard keeps legacy pagination. Coverage returns diagnostics once and rejects cursors.","key":"mode","value":"standard","disabled":true},{"description":"Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.","key":"sinceTime","value":"","disabled":true},{"description":"Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.","key":"untilTime","value":"","disabled":true},{"description":"Include reply tweets unless replies specifies another mode.","key":"includeReplies","value":"false","disabled":true},{"description":"Filter by author username.","key":"fromUser","value":"","disabled":true},{"description":"Filter replies sent to a username.","key":"toUser","value":"","disabled":true},{"description":"Filter tweets mentioning a username.","key":"mentioning","value":"","disabled":true},{"description":"Filter by language. Its alias is `lang`.","key":"language","value":"","disabled":true},{"description":"Start date in YYYY-MM-DD format, as a UTC day.","key":"sinceDate","value":"","disabled":true},{"description":"End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.","key":"untilDate","value":"","disabled":true},{"description":"Filter media. Its aliases are has_video & has_media.","key":"mediaType","value":"images","disabled":true},{"description":"Minimum likes. Its aliases are minFaves, min_likes & min_faves.","key":"minLikes","value":"","disabled":true},{"description":"Minimum retweets threshold.","key":"minRetweets","value":"","disabled":true},{"description":"Minimum replies threshold.","key":"minReplies","value":"","disabled":true},{"description":"Minimum quote count threshold.","key":"minQuotes","value":"","disabled":true},{"description":"Minimum view count threshold.","key":"minViews","value":"","disabled":true},{"description":"Minimum bookmark count threshold.","key":"minBookmarks","value":"","disabled":true},{"description":"Maximum likes threshold. maxLikes & max_likes also work.","key":"maxFaves","value":"","disabled":true},{"description":"Maximum retweets threshold.","key":"maxRetweets","value":"","disabled":true},{"description":"Maximum replies threshold.","key":"maxReplies","value":"","disabled":true},{"description":"Maximum quotes threshold.","key":"maxQuotes","value":"","disabled":true},{"description":"Only return tweets from Blue-verified authors.","key":"blueVerifiedOnly","value":"","disabled":true},{"description":"Keep only Tweets with this card type, such as poll2choice_text_only. Tweet search checks each Tweet's card.","key":"cardName","value":"","disabled":true},{"description":"X search no longer supports source. A Tweet search with it answers 424 & charges nothing.","key":"source","value":"","disabled":true},{"description":"X search no longer supports excludeSource. A Tweet search with it answers 424 & charges nothing.","key":"excludeSource","value":"","disabled":true},{"description":"X search no longer supports geocode. A Tweet search with it answers 424 & charges nothing.","key":"geocode","value":"","disabled":true},{"description":"Return Tweets whose IDs exceed this ID.","key":"sinceId","value":"","disabled":true},{"description":"Return Tweets at or below this ID.","key":"maxId","value":"","disabled":true},{"description":"A place name. A country, such as United States, works like placeCountry & keeps Tweets tagged there. A city keeps Tweets about it.","key":"near","value":"","disabled":true},{"description":"X search no longer supports within. A Tweet search with it answers 424 & charges nothing. Use near alone.","key":"within","value":"","disabled":true},{"description":"Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.","key":"withinTime","value":"7d","disabled":true},{"description":"Only return native reposts.","key":"nativeRetweets","value":"","disabled":true},{"description":"Enable the safe-search filter.","key":"safe","value":"","disabled":true},{"description":"X no longer searches filter:news.","key":"news","value":"","disabled":true},{"description":"Words the Tweets must match, in X search syntax.","key":"keywords","value":"","disabled":true},{"description":"Search within a place ID.","key":"place","value":"","disabled":true},{"description":"Search within a country code.","key":"placeCountry","value":"","disabled":true},{"description":"Geo point radius, such as -73.99 40.73 25mi.","key":"pointRadius","value":"","disabled":true},{"description":"Geo bounding box, such as -74.1 40.6 -73.9 40.8.","key":"boundingBox","value":"","disabled":true},{"description":"Raw advanced search query appended as-is.","key":"advancedQuery","value":"","disabled":true},{"description":"Only return tweets from verified authors.","key":"verifiedOnly","value":"","disabled":true},{"description":"Reply mode. Exclude keeps own-thread replies.","key":"replies","value":"include","disabled":true},{"description":"Only when the caller requests a repost mode.","key":"retweets","value":"include","disabled":true},{"description":"Only when the caller requests a quote mode.","key":"quotes","value":"include","disabled":true},{"description":"Match this literal phrase, including any hyphens.","key":"exactPhrase","value":"","disabled":true},{"description":"Words or quoted phrases to exclude. Separate with spaces, commas, or lines.","key":"excludeWords","value":"","disabled":true},{"description":"Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.","key":"anyWords","value":"","disabled":true},{"description":"Hashtags separated by spaces, commas, or lines.","key":"hashtags","value":"","disabled":true},{"description":"Cashtags separated by spaces, commas, or lines.","key":"cashtags","value":"","disabled":true},{"description":"URL substring or domain filter.","key":"url","value":"","disabled":true},{"description":"Conversation ID filter.","key":"conversationId","value":"","disabled":true},{"description":"Only replies to this tweet ID.","key":"inReplyToTweetId","value":"","disabled":true},{"description":"Only quotes of this tweet ID.","key":"quotesOfTweetId","value":"","disabled":true},{"description":"Only retweets of this tweet ID.","key":"retweetsOfTweetId","value":"","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X List ID.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"tweets\": [\n    {\n      \"id\": \"2102761519985332442\",\n      \"text\": \"This galaxy is a little extra.\\n\\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c\",\n      \"retweetCount\": 1364,\n      \"replyCount\": 271,\n      \"likeCount\": 9775,\n      \"quoteCount\": 85,\n      \"viewCount\": 962488,\n      \"bookmarkCount\": 599,\n      \"conversationId\": \"2102761519985332442\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        267\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790175988000\",\n        \"editTweetIds\": [\n          \"2102761519985332442\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": [\n          {\n            \"id_str\": \"12415722\",\n            \"indices\": [\n              254,\n              266\n            ],\n            \"name\": \"Chandra Observatory\",\n            \"screen_name\": \"chandraxray\"\n          }\n        ]\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102761519985332442\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Wed Sep 23 14:06:28 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/421Lzs0r0c\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102761519985332442/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1146,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 419\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1565,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 1373,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 783,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 1565,\n              \"w\": 2047,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 1565,\n          \"id\": \"2102761515958833152\",\n          \"indices\": [\n            268,\n            291\n          ],\n          \"mediaKey\": \"3_2102761515958833152\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1565,\n              \"resize\": \"fit\",\n              \"w\": 2047\n            },\n            \"medium\": {\n              \"h\": 917,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 520,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/421Lzs0r0c\",\n          \"width\": 2047\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    },\n    {\n      \"id\": \"2102425682286412261\",\n      \"text\": \"Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN\",\n      \"retweetCount\": 1258,\n      \"replyCount\": 200,\n      \"likeCount\": 7566,\n      \"quoteCount\": 98,\n      \"viewCount\": 961825,\n      \"bookmarkCount\": 322,\n      \"conversationId\": \"2102425682286412261\",\n      \"contentDisclosure\": {\n        \"aiGenerated\": {\n          \"hasAiGeneratedMedia\": false\n        }\n      },\n      \"displayTextRange\": [\n        0,\n        202\n      ],\n      \"edit\": {\n        \"editableUntilMsecs\": \"1790095918000\",\n        \"editTweetIds\": [\n          \"2102425682286412261\"\n        ]\n      },\n      \"entities\": {\n        \"hashtags\": [],\n        \"urls\": [],\n        \"user_mentions\": []\n      },\n      \"isNoteTweet\": false,\n      \"isPinned\": false,\n      \"isQuoteStatus\": false,\n      \"isReply\": false,\n      \"isRetweet\": false,\n      \"isTranslatable\": false,\n      \"lang\": \"en\",\n      \"possiblySensitive\": false,\n      \"source\": \"<a href=\\\"https://www.sprinklr.com\\\" rel=\\\"nofollow\\\">Sprinklr</a>\",\n      \"type\": \"tweet\",\n      \"url\": \"https://x.com/NASA/status/2102425682286412261\",\n      \"viewState\": \"EnabledWithCount\",\n      \"createdAt\": \"Tue Sep 22 15:51:58 +0000 2026\",\n      \"media\": [\n        {\n          \"altText\": \"A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.\",\n          \"availabilityStatus\": \"Available\",\n          \"displayUrl\": \"pic.x.com/laEQ0JajuN\",\n          \"expandedUrl\": \"https://x.com/NASA/status/2102425682286412261/photo/1\",\n          \"focusRects\": [\n            {\n              \"h\": 1801,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 1187\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2988,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 2621,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 1494,\n              \"x\": 0,\n              \"y\": 0\n            },\n            {\n              \"h\": 2988,\n              \"w\": 3216,\n              \"x\": 0,\n              \"y\": 0\n            }\n          ],\n          \"height\": 2988,\n          \"id\": \"2102425671280553984\",\n          \"indices\": [\n            203,\n            226\n          ],\n          \"mediaKey\": \"3_2102425671280553984\",\n          \"mediaUrl\": \"https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg\",\n          \"sizes\": {\n            \"large\": {\n              \"h\": 1903,\n              \"resize\": \"fit\",\n              \"w\": 2048\n            },\n            \"medium\": {\n              \"h\": 1115,\n              \"resize\": \"fit\",\n              \"w\": 1200\n            },\n            \"small\": {\n              \"h\": 632,\n              \"resize\": \"fit\",\n              \"w\": 680\n            },\n            \"thumb\": {\n              \"h\": 150,\n              \"resize\": \"crop\",\n              \"w\": 150\n            }\n          },\n          \"type\": \"photo\",\n          \"url\": \"https://t.co/laEQ0JajuN\",\n          \"width\": 3216\n        }\n      ],\n      \"author\": {\n        \"id\": \"11348282\",\n        \"username\": \"NASA\",\n        \"name\": \"NASA\",\n        \"followers\": 92376233,\n        \"following\": 115,\n        \"verified\": true,\n        \"isBlueVerified\": true,\n        \"isVerified\": true,\n        \"profilePicture\": \"https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg\",\n        \"coverPicture\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"profileBannerUrl\": \"https://pbs.twimg.com/profile_banners/11348282/1788992290\",\n        \"description\": \"Making the seemingly impossible, possible. ✨\",\n        \"location\": \"Pale Blue Dot\",\n        \"createdAt\": \"Wed Dec 19 20:20:32 +0000 2007\",\n        \"statusesCount\": 74336,\n        \"mediaCount\": 28160,\n        \"protected\": false,\n        \"url\": \"http://www.nasa.gov/\",\n        \"favouritesCount\": 17003,\n        \"isTranslator\": false,\n        \"possiblySensitive\": false,\n        \"verifiedType\": \"Government\",\n        \"profile_bio\": {\n          \"description\": \"Making the seemingly impossible, possible. ✨\",\n          \"entities\": {\n            \"description\": {},\n            \"url\": {\n              \"urls\": [\n                {\n                  \"display_url\": \"nasa.gov\",\n                  \"expanded_url\": \"http://www.nasa.gov/\",\n                  \"indices\": [\n                    0,\n                    23\n                  ],\n                  \"url\": \"https://t.co/9NkQJKAnuU\"\n                }\n              ]\n            }\n          }\n        },\n        \"hasGraduatedAccess\": true,\n        \"parodyCommentaryFanLabel\": \"None\",\n        \"profileDescriptionLanguage\": \"en\",\n        \"profileImageShape\": \"Square\",\n        \"profileTranslatorType\": \"regular\",\n        \"superFollowEligible\": false\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA\",\n  \"filtered_count\": 0\n}","_postman_previewlanguage":"json"}]}]},{"name":"Spaces","description":"X Space details, host, and speakers","item":[{"name":"Search X Spaces by keyword, host or topic","request":{"method":"GET","description":"Returns public Spaces each once, as GET /x/spaces/{id} serves them. Latest & Top find the Spaces that matching posts share, live, scheduled or ended. Live & Upcoming read X's own Spaces search, in X's order. They find live or scheduled Spaces by the words in their titles. Costs 1 credit per Space.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","spaces","search"],"query":[{"description":"(Required) Words, hashtags or X search operators, such as from:solana. Latest & Top add filter:spaces. Live & Upcoming match title words only, without operators. Alias query.","key":"q","value":"from:solana","disabled":false},{"description":"Latest finds Spaces in the newest posts. Top finds them in the most engaging posts. Live lists Spaces on air now. Upcoming lists scheduled ones, as X's Spaces search does. Any case works. Aliases result_type, sort_order, type, search_type, product, category & section.","key":"queryType","value":"Latest","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"For Latest & Top, the posts a page reads, 20 at a time (1-100, default 20). Posts often share the same Space, so a page returns fewer Spaces. Send 100 to read a search fastest. For Live & Upcoming, the most Spaces a page returns. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"response":[{"name":"Spaces found","originalRequest":{"method":"GET","description":"Returns public Spaces each once, as GET /x/spaces/{id} serves them. Latest & Top find the Spaces that matching posts share, live, scheduled or ended. Live & Upcoming read X's own Spaces search, in X's order. They find live or scheduled Spaces by the words in their titles. Costs 1 credit per Space.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","spaces","search"],"query":[{"description":"(Required) Words, hashtags or X search operators, such as from:solana. Latest & Top add filter:spaces. Live & Upcoming match title words only, without operators. Alias query.","key":"q","value":"from:solana","disabled":false},{"description":"Latest finds Spaces in the newest posts. Top finds them in the most engaging posts. Live lists Spaces on air now. Upcoming lists scheduled ones, as X's Spaces search does. Any case works. Aliases result_type, sort_order, type, search_type, product, category & section.","key":"queryType","value":"Latest","disabled":true},{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"For Latest & Top, the posts a page reads, 20 at a time (1-100, default 20). Posts often share the same Space, so a page returns fewer Spaces. Send 100 to read a search fastest. For Live & Upcoming, the most Spaces a page returns. Its aliases are limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"20","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"spaces\": [\n    {\n      \"id\": \"1OGwblLjnQMKB\",\n      \"title\": \"Extending the Network to the Edge\",\n      \"state\": \"Ended\",\n      \"startedAt\": \"2026-03-11T17:00:26.227Z\",\n      \"endedAt\": \"2026-03-11T17:49:29.190Z\",\n      \"totalLiveListeners\": 841,\n      \"totalReplayWatched\": 609,\n      \"admins\": [\n        {\n          \"id\": \"951329744804392960\",\n          \"username\": \"solana\",\n          \"name\": \"Solana\"\n        }\n      ],\n      \"speakers\": [],\n      \"listeners\": []\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"DAACCgACGRElMJcAAA\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get an X Space's title, state, times, audience, host and speakers","request":{"method":"GET","description":"Returns 1 X Space as X shows it, live, scheduled or ended. Accepts the Space ID or the URL-encoded Space URL. A Space X limits to subscribers or a community answers 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","spaces",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Space ID, or the URL-encoded Space URL, such as x.com/i/spaces/1OGwblLjnQMKB.","key":"id","value":""}]}},"response":[{"name":"Space details","originalRequest":{"method":"GET","description":"Returns 1 X Space as X shows it, live, scheduled or ended. Accepts the Space ID or the URL-encoded Space URL. A Space X limits to subscribers or a community answers 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","spaces",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Space ID, or the URL-encoded Space URL, such as x.com/i/spaces/1OGwblLjnQMKB.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"space\": {\n    \"id\": \"1OGwblLjnQMKB\",\n    \"title\": \"Extending the Network to the Edge\",\n    \"state\": \"Ended\",\n    \"startedAt\": \"2026-03-11T17:00:26.227Z\",\n    \"endedAt\": \"2026-03-11T17:49:29.190Z\",\n    \"totalLiveListeners\": 841,\n    \"totalReplayWatched\": 609,\n    \"creator\": {\n      \"id\": \"951329744804392960\",\n      \"username\": \"solana\",\n      \"name\": \"Solana\"\n    },\n    \"admins\": [\n      {\n        \"id\": \"951329744804392960\",\n        \"username\": \"solana\",\n        \"name\": \"Solana\"\n      }\n    ],\n    \"speakers\": [],\n    \"listeners\": []\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"Get an ended X Space's replay as an HLS playback URL","request":{"method":"GET","description":"Returns the recording X plays back once a Space is over, in state Ended or TimedOut. Accepts the Space ID or the URL-encoded Space URL. Check state and isAvailableForReplay with the Space lookup first. A live or scheduled Space answers 409, and a cancelled one 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","spaces",":id","replay"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Space ID, or the URL-encoded Space URL, such as x.com/i/spaces/1OGwblLjnQMKB.","key":"id","value":""}]}},"response":[{"name":"Space replay","originalRequest":{"method":"GET","description":"Returns the recording X plays back once a Space is over, in state Ended or TimedOut. Accepts the Space ID or the URL-encoded Space URL. Check state and isAvailableForReplay with the Space lookup first. A live or scheduled Space answers 409, and a cancelled one 404.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","spaces",":id","replay"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X Space ID, or the URL-encoded Space URL, such as x.com/i/spaces/1OGwblLjnQMKB.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"replay\": {\n    \"url\": \"https://prod-fastly-us-east-1.video.pscp.tv/Transcoding/v1/hls/example/audio-space/playlist.m3u8?type=replay\",\n    \"streamType\": \"HLS\",\n    \"status\": \"LIVE_PUBLIC\"\n  }\n}","_postman_previewlanguage":"json"}]}]},{"name":"Broadcasts","description":"X live video details, watch counts, and broadcaster","item":[{"name":"Get an X broadcast's title, state, times, watch counts and host","request":{"method":"GET","description":"Returns 1 X broadcast, the live video X hosts at x.com/i/broadcasts, live or ended. Accepts the broadcast ID or the URL-encoded broadcast URL. Reading a broadcast adds no view to it.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","broadcasts",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X broadcast ID, or the URL-encoded broadcast URL, such as x.com/i/broadcasts/1nGeLMWbkpaKX.","key":"id","value":""}]}},"response":[{"name":"Broadcast details","originalRequest":{"method":"GET","description":"Returns 1 X broadcast, the live video X hosts at x.com/i/broadcasts, live or ended. Accepts the broadcast ID or the URL-encoded broadcast URL. Reading a broadcast adds no view to it.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","broadcasts",":id"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) X broadcast ID, or the URL-encoded broadcast URL, such as x.com/i/broadcasts/1nGeLMWbkpaKX.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"broadcast\": {\n    \"id\": \"1nGeLMWbkpaKX\",\n    \"title\": \"USSF-259 Mission\",\n    \"state\": \"Ended\",\n    \"startedAt\": \"2026-09-17T00:54:56.506Z\",\n    \"endedAt\": \"2026-09-17T01:17:35.036Z\",\n    \"totalWatched\": 161758,\n    \"totalWatching\": 21639,\n    \"width\": 3840,\n    \"height\": 2160,\n    \"creator\": {\n      \"id\": \"34743251\",\n      \"username\": \"SpaceX\",\n      \"name\": \"SpaceX\"\n    }\n  }\n}","_postman_previewlanguage":"json"}]}]},{"name":"Community Notes","description":"Community Notes contributors, their notes, ratings & deleted notes","item":[{"name":"Get a Community Notes contributor's note and rating counts","request":{"method":"GET","description":"Returns 1 Community Notes contributor by the alias X gives them. Includes note counts by rating, rating counts & the deleted notes count. Each lookup costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","community-notes","contributors",":alias"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Community Notes contributor alias, or the URL-encoded contributor URL, such as x.com/i/communitynotes/u/ardent-beach-friarbird. Any letter case works.","key":"alias","value":"ardent-beach-friarbird"}]}},"response":[{"name":"Contributor profile","originalRequest":{"method":"GET","description":"Returns 1 Community Notes contributor by the alias X gives them. Includes note counts by rating, rating counts & the deleted notes count. Each lookup costs 1 credit.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","community-notes","contributors",":alias"],"query":[{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Community Notes contributor alias, or the URL-encoded contributor URL, such as x.com/i/communitynotes/u/ardent-beach-friarbird. Any letter case works.","key":"alias","value":"ardent-beach-friarbird"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"contributor\": {\n    \"alias\": \"ardent-beach-friarbird\",\n    \"deletedNotesCount\": 0,\n    \"isApiContributor\": false,\n    \"isTopWriter\": false,\n    \"notesCount\": {\n      \"awaitingMoreRatings\": 18,\n      \"currentlyRatedHelpful\": 1,\n      \"currentlyRatedNotHelpful\": 2,\n      \"updatedAt\": \"2026-10-12T22:18:40.096Z\"\n    },\n    \"ratingsCount\": {\n      \"awaitingMoreRatings\": 703,\n      \"ratedAfterDecision\": 154,\n      \"successful\": {\n        \"helpfulCount\": 27,\n        \"notHelpfulCount\": 22,\n        \"total\": 49\n      },\n      \"unsuccessful\": {\n        \"helpfulCount\": 15,\n        \"notHelpfulCount\": 4\n      },\n      \"updatedAt\": \"2026-10-12T22:50:13.228Z\"\n    }\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"List the Community Notes a contributor wrote, with their posts","request":{"method":"GET","description":"Returns a contributor's notes, newest first, each with the post it is on. Includes notes X has not rated helpful, which x.com shows under no post. Each note costs 1 credit. Follow next_cursor for more.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","community-notes","contributors",":alias","notes"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Notes per page (1-10, default 10). A low credit balance can return fewer. Follow next_cursor for more pages. Also read as limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"10","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Community Notes contributor alias, or the URL-encoded contributor URL, such as x.com/i/communitynotes/u/ardent-beach-friarbird. Any letter case works.","key":"alias","value":"ardent-beach-friarbird"}]}},"response":[{"name":"Notes with their posts","originalRequest":{"method":"GET","description":"Returns a contributor's notes, newest first, each with the post it is on. Includes notes X has not rated helpful, which x.com shows under no post. Each note costs 1 credit. Follow next_cursor for more.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","community-notes","contributors",":alias","notes"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Notes per page (1-10, default 10). A low credit balance can return fewer. Follow next_cursor for more pages. Also read as limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"10","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Community Notes contributor alias, or the URL-encoded contributor URL, such as x.com/i/communitynotes/u/ardent-beach-friarbird. Any letter case works.","key":"alias","value":"ardent-beach-friarbird"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"notes\": [\n    {\n      \"id\": \"2026375778254868976\",\n      \"createdAt\": \"2026-02-24T19:16:48.435Z\",\n      \"language\": \"en\",\n      \"classification\": \"MisinformedOrPotentiallyMisleading\",\n      \"contributor\": {\n        \"alias\": \"ardent-beach-friarbird\",\n        \"notesCount\": {\n          \"currentlyRatedHelpful\": 1,\n          \"currentlyRatedNotHelpful\": 2\n        },\n        \"ratingsCount\": {\n          \"successful\": {\n            \"total\": 49\n          },\n          \"unsuccessful\": {\n            \"helpfulCount\": 15,\n            \"notHelpfulCount\": 4\n          }\n        }\n      },\n      \"text\": \"Since this is a wall of text article and the headline doesn't say, this quick-to-read context is necessary:\\n\\nDiscord is STILL rolling out Age Verification methods, just delayed to the second half of 2026 per the very own article in this post.\\n\\nhttps://discord.com/blog/getting-global-age-assurance-right-what-we-got-wrong-and-whats-changing\",\n      \"entities\": [\n        {\n          \"fromIndex\": 244,\n          \"toIndex\": 340,\n          \"ref\": {\n            \"type\": \"TimelineUrl\",\n            \"url\": \"https://t.co/7fJbcLrO1k\"\n          }\n        }\n      ],\n      \"ratingStatus\": \"CurrentlyRatedHelpful\",\n      \"helpfulTags\": [\n        \"ImportantContext\",\n        \"Clear\"\n      ],\n      \"decidedBy\": \"CoreModel (v1.1)\",\n      \"fullyVisibleModel\": true,\n      \"abovePcrhThreshold\": false,\n      \"appealStatus\": \"NotAppealed\",\n      \"deleted\": false,\n      \"isApiAuthor\": false,\n      \"isMediaNote\": false,\n      \"mediaNoteMatchCount\": 0,\n      \"isUrlNote\": false,\n      \"isTranslatable\": false,\n      \"timeToHelpfulFromNoteMs\": 132890587,\n      \"timeToHelpfulFromPostMs\": 136815576,\n      \"postId\": \"2026359315657805939\",\n      \"post\": {\n        \"id\": \"2026359315657805939\",\n        \"text\": \"Getting Global Age Assurance Right: What We Got Wrong and What’s Changing. \\n\\nRead the update: https://t.co/h7aRGmN7xW\",\n        \"createdAt\": \"Tue Feb 24 18:11:23 +0000 2026\",\n        \"retweetCount\": 542,\n        \"replyCount\": 4197,\n        \"likeCount\": 3990,\n        \"quoteCount\": 1122,\n        \"viewCount\": 7038435,\n        \"bookmarkCount\": 1472,\n        \"lang\": \"en\",\n        \"url\": \"https://x.com/discord/status/2026359315657805939\",\n        \"author\": {\n          \"id\": \"3065618342\",\n          \"username\": \"discord\",\n          \"name\": \"Discord\",\n          \"verifiedType\": \"Business\"\n        }\n      }\n    }\n  ],\n  \"has_next_page\": true,\n  \"next_cursor\": \"-1767098234260\"\n}","_postman_previewlanguage":"json"}]},{"name":"List the Community Notes a contributor deleted","request":{"method":"GET","description":"Returns the notes a contributor deleted, newest first. X keeps each note's ID, times, rating & tags. A notice replaces its text & post. Each note costs 1 credit. A contributor who deleted none returns an empty list, free.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","community-notes","contributors",":alias","deleted-notes"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Notes per page (1-10, default 10). A low credit balance can return fewer. Follow next_cursor for more pages. Also read as limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"10","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Community Notes contributor alias, or the URL-encoded contributor URL, such as x.com/i/communitynotes/u/ardent-beach-friarbird. Any letter case works.","key":"alias","value":"ardent-beach-friarbird"}]}},"response":[{"name":"Deleted notes","originalRequest":{"method":"GET","description":"Returns the notes a contributor deleted, newest first. X keeps each note's ID, times, rating & tags. A notice replaces its text & post. Each note costs 1 credit. A contributor who deleted none returns an empty list, free.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","community-notes","contributors",":alias","deleted-notes"],"query":[{"description":"Pagination cursor for collection results. Also read as next_cursor, next_token, pagination_token or continuation_token.","key":"cursor","value":"","disabled":true},{"description":"Notes per page (1-10, default 10). A low credit balance can return fewer. Follow next_cursor for more pages. Also read as limit, count, max_results, maxItems, max_items & per_page.","key":"pageSize","value":"10","disabled":true},{"description":"Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields.","key":"fields","value":"id,text,author.username","disabled":true},{"description":"Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields.","key":"omit","value":"entities,media","disabled":true}],"variable":[{"description":"(Required) Community Notes contributor alias, or the URL-encoded contributor URL, such as x.com/i/communitynotes/u/ardent-beach-friarbird. Any letter case works.","key":"alias","value":"ardent-beach-friarbird"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"notes\": [\n    {\n      \"id\": \"2078950499982696756\",\n      \"createdAt\": \"2026-07-19T21:09:58.885Z\",\n      \"ratingStatus\": \"CurrentlyRatedNotHelpful\",\n      \"notHelpfulTags\": [\n        \"MissingKeyPoints\",\n        \"Incorrect\"\n      ],\n      \"decidedBy\": \"CoreModel (v1.1)\",\n      \"fullyVisibleModel\": true,\n      \"abovePcrhThreshold\": false,\n      \"appealStatus\": \"NotAppealed\",\n      \"deleted\": true,\n      \"tombstone\": \"This note has been deleted\",\n      \"isApiAuthor\": false,\n      \"isMediaNote\": false,\n      \"mediaNoteMatchCount\": 0,\n      \"isUrlNote\": false\n    }\n  ],\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]}]},{"name":"Analysis","description":"AI analysis of posts, at 2 credits per analyzed post","item":[{"name":"Analyze the sentiment of posts with AI","request":{"method":"POST","description":"Answers each post's attitude, its intensity & its sarcasm probability. Send post IDs, an X search, an account, a List, a post's replies or quotes, or your own texts. Each analyzed post costs 2 credits. A post without an analysis costs nothing.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","sentiment"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"response":[{"name":"Analyzed posts, posts without an analysis & their totals","originalRequest":{"method":"POST","description":"Answers each post's attitude, its intensity & its sarcasm probability. Send post IDs, an X search, an account, a List, a post's replies or quotes, or your own texts. Each analyzed post costs 2 credits. A post without an analysis costs nothing.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","sentiment"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"results\": [\n    {\n      \"tweet\": {\n        \"id\": \"1893456789012345678\",\n        \"text\": \"The new headphones sound great. The app keeps crashing.\",\n        \"retweetCount\": 4,\n        \"replyCount\": 2,\n        \"likeCount\": 31,\n        \"quoteCount\": 0,\n        \"viewCount\": 2140,\n        \"bookmarkCount\": 1\n      },\n      \"analysis\": {\n        \"status\": \"succeeded\",\n        \"answers\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"choice\",\n            \"value\": \"mixed\",\n            \"confidence\": 0.88,\n            \"probabilities\": {\n              \"positive\": 0.06,\n              \"negative\": 0.04,\n              \"mixed\": 0.88,\n              \"neutral\": 0.01,\n              \"unclear\": 0.01\n            }\n          },\n          {\n            \"questionId\": \"intensity\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"score\",\n            \"value\": 1,\n            \"confidence\": 0.81,\n            \"probabilities\": {\n              \"0\": 0.05,\n              \"1\": 0.81,\n              \"2\": 0.14\n            },\n            \"levels\": [\n              \"No attitude or a passing mention.\",\n              \"A clear but measured attitude.\",\n              \"An emphatic or emotional attitude with strong wording.\"\n            ]\n          },\n          {\n            \"questionId\": \"sarcasm\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"probability\",\n            \"probability\": 0.03\n          }\n        ],\n        \"questions\": [\n          {\n            \"id\": \"sentiment\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"intensity\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"sarcasm\",\n            \"version\": \"sentiment:2\"\n          }\n        ],\n        \"contextBytes\": 612,\n        \"contextAvailability\": {\n          \"quote\": \"not_applicable\",\n          \"reply\": \"not_applicable\",\n          \"author\": \"available\",\n          \"media\": \"not_supplied\",\n          \"article\": \"not_supplied\",\n          \"postText\": \"full\"\n        }\n      },\n      \"answers\": {\n        \"sentiment\": \"mixed\",\n        \"intensity\": 1,\n        \"sarcasm\": 0.03\n      },\n      \"sourceDomains\": [],\n      \"cashtags\": [],\n      \"monitor\": {\n        \"configurationFingerprint\": \"9f2c4e1b7a5d3c8e6f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6a\",\n        \"baselineDatasetId\": null,\n        \"status\": \"changed\",\n        \"changedQuestionIds\": [\n          \"sentiment\"\n        ],\n        \"changes\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"previous\": \"positive\",\n            \"current\": \"mixed\"\n          }\n        ]\n      }\n    }\n  ],\n  \"unanalyzed\": [\n    {\n      \"id\": \"1893456789012345679\",\n      \"status\": \"skipped\",\n      \"reason\": \"post_unavailable\"\n    }\n  ],\n  \"analysisSummary\": {\n    \"schemaVersion\": 1,\n    \"rows\": {\n      \"analyzed\": 1,\n      \"failed\": 0,\n      \"skipped\": 0\n    },\n    \"engagement\": 37,\n    \"questions\": {\n      \"sentiment\": {\n        \"type\": \"choice\",\n        \"counts\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        },\n        \"shares\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        }\n      }\n    },\n    \"targets\": [],\n    \"cashtags\": [],\n    \"sourceDomains\": [],\n    \"monitor\": {\n      \"statuses\": {\n        \"changed\": 1\n      },\n      \"changedRows\": [\n        {\n          \"tweetId\": \"1893456789012345678\",\n          \"changes\": [\n            {\n              \"questionId\": \"sentiment\",\n              \"previous\": \"positive\",\n              \"current\": \"mixed\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Analyze brand mentions in posts with AI","request":{"method":"POST","description":"Answers whether each post is about your brand, the author's attitude toward it & the author's relationship with it. Name the brand in analysis.targets. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","brand"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"response":[{"name":"Analyzed posts, posts without an analysis & their totals","originalRequest":{"method":"POST","description":"Answers whether each post is about your brand, the author's attitude toward it & the author's relationship with it. Name the brand in analysis.targets. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","brand"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"results\": [\n    {\n      \"tweet\": {\n        \"id\": \"1893456789012345678\",\n        \"text\": \"The new headphones sound great. The app keeps crashing.\",\n        \"retweetCount\": 4,\n        \"replyCount\": 2,\n        \"likeCount\": 31,\n        \"quoteCount\": 0,\n        \"viewCount\": 2140,\n        \"bookmarkCount\": 1\n      },\n      \"analysis\": {\n        \"status\": \"succeeded\",\n        \"answers\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"choice\",\n            \"value\": \"mixed\",\n            \"confidence\": 0.88,\n            \"probabilities\": {\n              \"positive\": 0.06,\n              \"negative\": 0.04,\n              \"mixed\": 0.88,\n              \"neutral\": 0.01,\n              \"unclear\": 0.01\n            }\n          },\n          {\n            \"questionId\": \"intensity\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"score\",\n            \"value\": 1,\n            \"confidence\": 0.81,\n            \"probabilities\": {\n              \"0\": 0.05,\n              \"1\": 0.81,\n              \"2\": 0.14\n            },\n            \"levels\": [\n              \"No attitude or a passing mention.\",\n              \"A clear but measured attitude.\",\n              \"An emphatic or emotional attitude with strong wording.\"\n            ]\n          },\n          {\n            \"questionId\": \"sarcasm\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"probability\",\n            \"probability\": 0.03\n          }\n        ],\n        \"questions\": [\n          {\n            \"id\": \"sentiment\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"intensity\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"sarcasm\",\n            \"version\": \"sentiment:2\"\n          }\n        ],\n        \"contextBytes\": 612,\n        \"contextAvailability\": {\n          \"quote\": \"not_applicable\",\n          \"reply\": \"not_applicable\",\n          \"author\": \"available\",\n          \"media\": \"not_supplied\",\n          \"article\": \"not_supplied\",\n          \"postText\": \"full\"\n        }\n      },\n      \"answers\": {\n        \"sentiment\": \"mixed\",\n        \"intensity\": 1,\n        \"sarcasm\": 0.03\n      },\n      \"sourceDomains\": [],\n      \"cashtags\": [],\n      \"monitor\": {\n        \"configurationFingerprint\": \"9f2c4e1b7a5d3c8e6f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6a\",\n        \"baselineDatasetId\": null,\n        \"status\": \"changed\",\n        \"changedQuestionIds\": [\n          \"sentiment\"\n        ],\n        \"changes\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"previous\": \"positive\",\n            \"current\": \"mixed\"\n          }\n        ]\n      }\n    }\n  ],\n  \"unanalyzed\": [\n    {\n      \"id\": \"1893456789012345679\",\n      \"status\": \"skipped\",\n      \"reason\": \"post_unavailable\"\n    }\n  ],\n  \"analysisSummary\": {\n    \"schemaVersion\": 1,\n    \"rows\": {\n      \"analyzed\": 1,\n      \"failed\": 0,\n      \"skipped\": 0\n    },\n    \"engagement\": 37,\n    \"questions\": {\n      \"sentiment\": {\n        \"type\": \"choice\",\n        \"counts\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        },\n        \"shares\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        }\n      }\n    },\n    \"targets\": [],\n    \"cashtags\": [],\n    \"sourceDomains\": [],\n    \"monitor\": {\n      \"statuses\": {\n        \"changed\": 1\n      },\n      \"changedRows\": [\n        {\n          \"tweetId\": \"1893456789012345678\",\n          \"changes\": [\n            {\n              \"questionId\": \"sentiment\",\n              \"previous\": \"positive\",\n              \"current\": \"mixed\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Classify news posts with AI","request":{"method":"POST","description":"Answers each post's format, such as reporting, commentary or speculation, its source attribution & its relevance to your topic. Name the topic in analysis.targets. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","news"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"response":[{"name":"Analyzed posts, posts without an analysis & their totals","originalRequest":{"method":"POST","description":"Answers each post's format, such as reporting, commentary or speculation, its source attribution & its relevance to your topic. Name the topic in analysis.targets. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","news"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"results\": [\n    {\n      \"tweet\": {\n        \"id\": \"1893456789012345678\",\n        \"text\": \"The new headphones sound great. The app keeps crashing.\",\n        \"retweetCount\": 4,\n        \"replyCount\": 2,\n        \"likeCount\": 31,\n        \"quoteCount\": 0,\n        \"viewCount\": 2140,\n        \"bookmarkCount\": 1\n      },\n      \"analysis\": {\n        \"status\": \"succeeded\",\n        \"answers\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"choice\",\n            \"value\": \"mixed\",\n            \"confidence\": 0.88,\n            \"probabilities\": {\n              \"positive\": 0.06,\n              \"negative\": 0.04,\n              \"mixed\": 0.88,\n              \"neutral\": 0.01,\n              \"unclear\": 0.01\n            }\n          },\n          {\n            \"questionId\": \"intensity\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"score\",\n            \"value\": 1,\n            \"confidence\": 0.81,\n            \"probabilities\": {\n              \"0\": 0.05,\n              \"1\": 0.81,\n              \"2\": 0.14\n            },\n            \"levels\": [\n              \"No attitude or a passing mention.\",\n              \"A clear but measured attitude.\",\n              \"An emphatic or emotional attitude with strong wording.\"\n            ]\n          },\n          {\n            \"questionId\": \"sarcasm\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"probability\",\n            \"probability\": 0.03\n          }\n        ],\n        \"questions\": [\n          {\n            \"id\": \"sentiment\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"intensity\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"sarcasm\",\n            \"version\": \"sentiment:2\"\n          }\n        ],\n        \"contextBytes\": 612,\n        \"contextAvailability\": {\n          \"quote\": \"not_applicable\",\n          \"reply\": \"not_applicable\",\n          \"author\": \"available\",\n          \"media\": \"not_supplied\",\n          \"article\": \"not_supplied\",\n          \"postText\": \"full\"\n        }\n      },\n      \"answers\": {\n        \"sentiment\": \"mixed\",\n        \"intensity\": 1,\n        \"sarcasm\": 0.03\n      },\n      \"sourceDomains\": [],\n      \"cashtags\": [],\n      \"monitor\": {\n        \"configurationFingerprint\": \"9f2c4e1b7a5d3c8e6f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6a\",\n        \"baselineDatasetId\": null,\n        \"status\": \"changed\",\n        \"changedQuestionIds\": [\n          \"sentiment\"\n        ],\n        \"changes\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"previous\": \"positive\",\n            \"current\": \"mixed\"\n          }\n        ]\n      }\n    }\n  ],\n  \"unanalyzed\": [\n    {\n      \"id\": \"1893456789012345679\",\n      \"status\": \"skipped\",\n      \"reason\": \"post_unavailable\"\n    }\n  ],\n  \"analysisSummary\": {\n    \"schemaVersion\": 1,\n    \"rows\": {\n      \"analyzed\": 1,\n      \"failed\": 0,\n      \"skipped\": 0\n    },\n    \"engagement\": 37,\n    \"questions\": {\n      \"sentiment\": {\n        \"type\": \"choice\",\n        \"counts\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        },\n        \"shares\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        }\n      }\n    },\n    \"targets\": [],\n    \"cashtags\": [],\n    \"sourceDomains\": [],\n    \"monitor\": {\n      \"statuses\": {\n        \"changed\": 1\n      },\n      \"changedRows\": [\n        {\n          \"tweetId\": \"1893456789012345678\",\n          \"changes\": [\n            {\n              \"questionId\": \"sentiment\",\n              \"previous\": \"positive\",\n              \"current\": \"mixed\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Read stock & crypto signals from posts with AI","request":{"method":"POST","description":"Answers each post's stance on an asset, its content type, its conviction & its relevance. The summary counts bullish & bearish posts per cashtag. Name the asset in analysis.targets. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","market-signals"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"response":[{"name":"Analyzed posts, posts without an analysis & their totals","originalRequest":{"method":"POST","description":"Answers each post's stance on an asset, its content type, its conviction & its relevance. The summary counts bullish & bearish posts per cashtag. Name the asset in analysis.targets. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","market-signals"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"results\": [\n    {\n      \"tweet\": {\n        \"id\": \"1893456789012345678\",\n        \"text\": \"The new headphones sound great. The app keeps crashing.\",\n        \"retweetCount\": 4,\n        \"replyCount\": 2,\n        \"likeCount\": 31,\n        \"quoteCount\": 0,\n        \"viewCount\": 2140,\n        \"bookmarkCount\": 1\n      },\n      \"analysis\": {\n        \"status\": \"succeeded\",\n        \"answers\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"choice\",\n            \"value\": \"mixed\",\n            \"confidence\": 0.88,\n            \"probabilities\": {\n              \"positive\": 0.06,\n              \"negative\": 0.04,\n              \"mixed\": 0.88,\n              \"neutral\": 0.01,\n              \"unclear\": 0.01\n            }\n          },\n          {\n            \"questionId\": \"intensity\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"score\",\n            \"value\": 1,\n            \"confidence\": 0.81,\n            \"probabilities\": {\n              \"0\": 0.05,\n              \"1\": 0.81,\n              \"2\": 0.14\n            },\n            \"levels\": [\n              \"No attitude or a passing mention.\",\n              \"A clear but measured attitude.\",\n              \"An emphatic or emotional attitude with strong wording.\"\n            ]\n          },\n          {\n            \"questionId\": \"sarcasm\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"probability\",\n            \"probability\": 0.03\n          }\n        ],\n        \"questions\": [\n          {\n            \"id\": \"sentiment\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"intensity\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"sarcasm\",\n            \"version\": \"sentiment:2\"\n          }\n        ],\n        \"contextBytes\": 612,\n        \"contextAvailability\": {\n          \"quote\": \"not_applicable\",\n          \"reply\": \"not_applicable\",\n          \"author\": \"available\",\n          \"media\": \"not_supplied\",\n          \"article\": \"not_supplied\",\n          \"postText\": \"full\"\n        }\n      },\n      \"answers\": {\n        \"sentiment\": \"mixed\",\n        \"intensity\": 1,\n        \"sarcasm\": 0.03\n      },\n      \"sourceDomains\": [],\n      \"cashtags\": [],\n      \"monitor\": {\n        \"configurationFingerprint\": \"9f2c4e1b7a5d3c8e6f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6a\",\n        \"baselineDatasetId\": null,\n        \"status\": \"changed\",\n        \"changedQuestionIds\": [\n          \"sentiment\"\n        ],\n        \"changes\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"previous\": \"positive\",\n            \"current\": \"mixed\"\n          }\n        ]\n      }\n    }\n  ],\n  \"unanalyzed\": [\n    {\n      \"id\": \"1893456789012345679\",\n      \"status\": \"skipped\",\n      \"reason\": \"post_unavailable\"\n    }\n  ],\n  \"analysisSummary\": {\n    \"schemaVersion\": 1,\n    \"rows\": {\n      \"analyzed\": 1,\n      \"failed\": 0,\n      \"skipped\": 0\n    },\n    \"engagement\": 37,\n    \"questions\": {\n      \"sentiment\": {\n        \"type\": \"choice\",\n        \"counts\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        },\n        \"shares\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        }\n      }\n    },\n    \"targets\": [],\n    \"cashtags\": [],\n    \"sourceDomains\": [],\n    \"monitor\": {\n      \"statuses\": {\n        \"changed\": 1\n      },\n      \"changedRows\": [\n        {\n          \"tweetId\": \"1893456789012345678\",\n          \"changes\": [\n            {\n              \"questionId\": \"sentiment\",\n              \"previous\": \"positive\",\n              \"current\": \"mixed\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Score how viral posts or drafts read with AI","request":{"method":"POST","description":"Answers each post's hook, clarity, payoff, humor, spam risk & likely reaction, & adds a Viral Score from 0 to 100 with a verdict. The score rates the wording. It does not predict likes or views. Send drafts in texts to score them before posting. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","viral-score"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"response":[{"name":"Analyzed posts, posts without an analysis & their totals","originalRequest":{"method":"POST","description":"Answers each post's hook, clarity, payoff, humor, spam risk & likely reaction, & adds a Viral Score from 0 to 100 with a verdict. The score rates the wording. It does not predict likes or views. Send drafts in texts to score them before posting. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","viral-score"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"results\": [\n    {\n      \"tweet\": {\n        \"id\": \"1893456789012345678\",\n        \"text\": \"The new headphones sound great. The app keeps crashing.\",\n        \"retweetCount\": 4,\n        \"replyCount\": 2,\n        \"likeCount\": 31,\n        \"quoteCount\": 0,\n        \"viewCount\": 2140,\n        \"bookmarkCount\": 1\n      },\n      \"analysis\": {\n        \"status\": \"succeeded\",\n        \"answers\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"choice\",\n            \"value\": \"mixed\",\n            \"confidence\": 0.88,\n            \"probabilities\": {\n              \"positive\": 0.06,\n              \"negative\": 0.04,\n              \"mixed\": 0.88,\n              \"neutral\": 0.01,\n              \"unclear\": 0.01\n            }\n          },\n          {\n            \"questionId\": \"intensity\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"score\",\n            \"value\": 1,\n            \"confidence\": 0.81,\n            \"probabilities\": {\n              \"0\": 0.05,\n              \"1\": 0.81,\n              \"2\": 0.14\n            },\n            \"levels\": [\n              \"No attitude or a passing mention.\",\n              \"A clear but measured attitude.\",\n              \"An emphatic or emotional attitude with strong wording.\"\n            ]\n          },\n          {\n            \"questionId\": \"sarcasm\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"probability\",\n            \"probability\": 0.03\n          }\n        ],\n        \"questions\": [\n          {\n            \"id\": \"sentiment\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"intensity\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"sarcasm\",\n            \"version\": \"sentiment:2\"\n          }\n        ],\n        \"contextBytes\": 612,\n        \"contextAvailability\": {\n          \"quote\": \"not_applicable\",\n          \"reply\": \"not_applicable\",\n          \"author\": \"available\",\n          \"media\": \"not_supplied\",\n          \"article\": \"not_supplied\",\n          \"postText\": \"full\"\n        }\n      },\n      \"answers\": {\n        \"sentiment\": \"mixed\",\n        \"intensity\": 1,\n        \"sarcasm\": 0.03\n      },\n      \"sourceDomains\": [],\n      \"cashtags\": [],\n      \"monitor\": {\n        \"configurationFingerprint\": \"9f2c4e1b7a5d3c8e6f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6a\",\n        \"baselineDatasetId\": null,\n        \"status\": \"changed\",\n        \"changedQuestionIds\": [\n          \"sentiment\"\n        ],\n        \"changes\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"previous\": \"positive\",\n            \"current\": \"mixed\"\n          }\n        ]\n      }\n    }\n  ],\n  \"unanalyzed\": [\n    {\n      \"id\": \"1893456789012345679\",\n      \"status\": \"skipped\",\n      \"reason\": \"post_unavailable\"\n    }\n  ],\n  \"analysisSummary\": {\n    \"schemaVersion\": 1,\n    \"rows\": {\n      \"analyzed\": 1,\n      \"failed\": 0,\n      \"skipped\": 0\n    },\n    \"engagement\": 37,\n    \"questions\": {\n      \"sentiment\": {\n        \"type\": \"choice\",\n        \"counts\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        },\n        \"shares\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        }\n      }\n    },\n    \"targets\": [],\n    \"cashtags\": [],\n    \"sourceDomains\": [],\n    \"monitor\": {\n      \"statuses\": {\n        \"changed\": 1\n      },\n      \"changedRows\": [\n        {\n          \"tweetId\": \"1893456789012345678\",\n          \"changes\": [\n            {\n              \"questionId\": \"sentiment\",\n              \"previous\": \"positive\",\n              \"current\": \"mixed\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]},{"name":"Classify posts with your own AI questions","request":{"method":"POST","description":"Answers 1 to 8 questions you write in analysis.questions. A choice picks a category, such as a topic. A score picks a level. A probability answers yes or no. Without questions it answers the sentiment questions. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","classify"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"response":[{"name":"Analyzed posts, posts without an analysis & their totals","originalRequest":{"method":"POST","description":"Answers 1 to 8 questions you write in analysis.questions. A choice picks a category, such as a topic. A score picks a level. A probability answers yes or no. Without questions it answers the sentiment questions. Each analyzed post costs 2 credits.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","analysis","classify"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"Artemis lang:en\",\n  \"queryType\": \"Latest\",\n  \"sinceTime\": \"2026-09-01T00:00:00Z\",\n  \"untilTime\": \"2026-09-30T23:59:59Z\",\n  \"limit\": 20\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"results\": [\n    {\n      \"tweet\": {\n        \"id\": \"1893456789012345678\",\n        \"text\": \"The new headphones sound great. The app keeps crashing.\",\n        \"retweetCount\": 4,\n        \"replyCount\": 2,\n        \"likeCount\": 31,\n        \"quoteCount\": 0,\n        \"viewCount\": 2140,\n        \"bookmarkCount\": 1\n      },\n      \"analysis\": {\n        \"status\": \"succeeded\",\n        \"answers\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"choice\",\n            \"value\": \"mixed\",\n            \"confidence\": 0.88,\n            \"probabilities\": {\n              \"positive\": 0.06,\n              \"negative\": 0.04,\n              \"mixed\": 0.88,\n              \"neutral\": 0.01,\n              \"unclear\": 0.01\n            }\n          },\n          {\n            \"questionId\": \"intensity\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"score\",\n            \"value\": 1,\n            \"confidence\": 0.81,\n            \"probabilities\": {\n              \"0\": 0.05,\n              \"1\": 0.81,\n              \"2\": 0.14\n            },\n            \"levels\": [\n              \"No attitude or a passing mention.\",\n              \"A clear but measured attitude.\",\n              \"An emphatic or emotional attitude with strong wording.\"\n            ]\n          },\n          {\n            \"questionId\": \"sarcasm\",\n            \"questionVersion\": \"sentiment:2\",\n            \"type\": \"probability\",\n            \"probability\": 0.03\n          }\n        ],\n        \"questions\": [\n          {\n            \"id\": \"sentiment\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"intensity\",\n            \"version\": \"sentiment:2\"\n          },\n          {\n            \"id\": \"sarcasm\",\n            \"version\": \"sentiment:2\"\n          }\n        ],\n        \"contextBytes\": 612,\n        \"contextAvailability\": {\n          \"quote\": \"not_applicable\",\n          \"reply\": \"not_applicable\",\n          \"author\": \"available\",\n          \"media\": \"not_supplied\",\n          \"article\": \"not_supplied\",\n          \"postText\": \"full\"\n        }\n      },\n      \"answers\": {\n        \"sentiment\": \"mixed\",\n        \"intensity\": 1,\n        \"sarcasm\": 0.03\n      },\n      \"sourceDomains\": [],\n      \"cashtags\": [],\n      \"monitor\": {\n        \"configurationFingerprint\": \"9f2c4e1b7a5d3c8e6f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6a\",\n        \"baselineDatasetId\": null,\n        \"status\": \"changed\",\n        \"changedQuestionIds\": [\n          \"sentiment\"\n        ],\n        \"changes\": [\n          {\n            \"questionId\": \"sentiment\",\n            \"previous\": \"positive\",\n            \"current\": \"mixed\"\n          }\n        ]\n      }\n    }\n  ],\n  \"unanalyzed\": [\n    {\n      \"id\": \"1893456789012345679\",\n      \"status\": \"skipped\",\n      \"reason\": \"post_unavailable\"\n    }\n  ],\n  \"analysisSummary\": {\n    \"schemaVersion\": 1,\n    \"rows\": {\n      \"analyzed\": 1,\n      \"failed\": 0,\n      \"skipped\": 0\n    },\n    \"engagement\": 37,\n    \"questions\": {\n      \"sentiment\": {\n        \"type\": \"choice\",\n        \"counts\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        },\n        \"shares\": {\n          \"positive\": 0,\n          \"negative\": 0,\n          \"mixed\": 1,\n          \"neutral\": 0,\n          \"unclear\": 0\n        }\n      }\n    },\n    \"targets\": [],\n    \"cashtags\": [],\n    \"sourceDomains\": [],\n    \"monitor\": {\n      \"statuses\": {\n        \"changed\": 1\n      },\n      \"changedRows\": [\n        {\n          \"tweetId\": \"1893456789012345678\",\n          \"changes\": [\n            {\n              \"questionId\": \"sentiment\",\n              \"previous\": \"positive\",\n              \"current\": \"mixed\"\n            }\n          ]\n        }\n      ]\n    }\n  },\n  \"has_next_page\": false,\n  \"next_cursor\": \"\"\n}","_postman_previewlanguage":"json"}]}]},{"name":"Media","description":"Media upload and download","item":[{"name":"Download images and videos from tweets","request":{"method":"POST","description":"Downloads images and videos attached to selected tweets.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","media","download"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"tweetInput\": \"https://x.com/elonmusk/status/1234567890\"\n}"}},"response":[{"name":"Media download result. A single download returns tweetId, galleryUrl & cacheHit. A bulk download returns galleryUrl, totalTweets & totalMedia.","originalRequest":{"method":"POST","description":"Downloads images and videos attached to selected tweets.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","x","media","download"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"tweetInput\": \"https://x.com/elonmusk/status/1234567890\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tweetId\": \"1234567890\",\n  \"galleryUrl\": \"https://xquik.com/gallery/abc123\",\n  \"cacheHit\": false\n}","_postman_previewlanguage":"json"}]}]},{"name":"Draws","description":"Giveaway draws from tweet replies","item":[{"name":"List draws","request":{"method":"GET","description":"Returns giveaway draws owned by the authenticated account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"Draw list","originalRequest":{"method":"GET","description":"Returns giveaway draws owned by the authenticated account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"draws\": [],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Run giveaway draw","request":{"method":"POST","description":"Checks credits, then draws winners from inspected replies & reposters. Remaining credits cap the candidates.","header":[{"description":"Generate 1 unique value per intended request. Reuse it only to retry the same request. Exact retries return the original result & charge nothing.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"tweetUrl\": \"https://x.com/elonmusk/status/1234567890\",\n  \"winnerCount\": 3,\n  \"backupCount\": 2,\n  \"uniqueAuthorsOnly\": true,\n  \"mustRetweet\": true,\n  \"mustFollowUsername\": \"elonmusk\",\n  \"filterMinFollowers\": 50,\n  \"filterAccountAgeDays\": 30,\n  \"filterLanguage\": \"en\",\n  \"requiredHashtags\": [\n    \"#giveaway\"\n  ],\n  \"requiredKeywords\": [\n    \"entered\"\n  ],\n  \"requiredMentions\": [\n    \"@elonmusk\"\n  ]\n}"}},"response":[{"name":"Draw completed","originalRequest":{"method":"POST","description":"Checks credits, then draws winners from inspected replies & reposters. Remaining credits cap the candidates.","header":[{"description":"Generate 1 unique value per intended request. Reuse it only to retry the same request. Exact retries return the original result & charge nothing.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"tweetUrl\": \"https://x.com/elonmusk/status/1234567890\",\n  \"winnerCount\": 3,\n  \"backupCount\": 2,\n  \"uniqueAuthorsOnly\": true,\n  \"mustRetweet\": true,\n  \"mustFollowUsername\": \"elonmusk\",\n  \"filterMinFollowers\": 50,\n  \"filterAccountAgeDays\": 30,\n  \"filterLanguage\": \"en\",\n  \"requiredHashtags\": [\n    \"#giveaway\"\n  ],\n  \"requiredKeywords\": [\n    \"entered\"\n  ],\n  \"requiredMentions\": [\n    \"@elonmusk\"\n  ]\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Replayed","value":"true"}],"body":"{\n  \"id\": \"f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345\",\n  \"tweetId\": \"1234567890\",\n  \"totalEntries\": 250,\n  \"validEntries\": 200,\n  \"winners\": []\n}","_postman_previewlanguage":"json"}]},{"name":"Get draw details","request":{"method":"GET","description":"Returns draw rules, status, candidates, and selected winners.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws",":id"],"query":[],"variable":[{"description":"(Required) Draw public ID returned by create and list draw responses.","key":"id","value":"f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"}]}},"response":[{"name":"Draw with winners","originalRequest":{"method":"GET","description":"Returns draw rules, status, candidates, and selected winners.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws",":id"],"query":[],"variable":[{"description":"(Required) Draw public ID returned by create and list draw responses.","key":"id","value":"f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"draw\": {\n    \"id\": \"f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345\",\n    \"tweetUrl\": \"https://x.com/elonmusk/status/1234567890\",\n    \"tweetId\": \"1234567890\",\n    \"tweetText\": \"Giving away 3 Tesla Model 3s!\",\n    \"tweetAuthorUsername\": \"elonmusk\",\n    \"status\": \"completed\",\n    \"totalEntries\": 250,\n    \"validEntries\": 200,\n    \"tweetLikeCount\": 50000,\n    \"tweetRetweetCount\": 25000,\n    \"tweetReplyCount\": 10000,\n    \"tweetQuoteCount\": 5000,\n    \"createdAt\": \"2025-01-15T12:00:00Z\"\n  },\n  \"winners\": []\n}","_postman_previewlanguage":"json"}]},{"name":"Export draw data","request":{"method":"GET","description":"Downloads draw evidence in the requested format.","header":[{"key":"Accept","value":"application/octet-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws",":id","export"],"query":[{"description":"(Required) Export output format. PDF entry exports include up to 10,000 rows. Other entry formats include up to 100,000 rows.","key":"format","value":"csv","disabled":false},{"description":"Export winners or all entries","key":"type","value":"winners","disabled":true}],"variable":[{"description":"(Required) Draw public ID returned by create and list draw responses.","key":"id","value":"f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"}]}},"response":[{"name":"Exported draw file","originalRequest":{"method":"GET","description":"Downloads draw evidence in the requested format.","header":[{"key":"Accept","value":"application/octet-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","draws",":id","export"],"query":[{"description":"(Required) Export output format. PDF entry exports include up to 10,000 rows. Other entry formats include up to 100,000 rows.","key":"format","value":"csv","disabled":false},{"description":"Export winners or all entries","key":"type","value":"winners","disabled":true}],"variable":[{"description":"(Required) Draw public ID returned by create and list draw responses.","key":"id","value":"f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/octet-stream"}],"body":"string","_postman_previewlanguage":"text"}]}]},{"name":"Composition","description":"AI tweet composition, drafts, writing styles, and radar","item":[{"name":"Build, refine, or check a post draft","request":{"method":"POST","description":"Uses xai-org/x-algorithm facts to compose and refine text. The score step checks text. It never predicts reach or engagement.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","compose"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"step\": \"compose\",\n  \"topic\": \"PostgreSQL query planning\",\n  \"goal\": \"engagement\",\n  \"styleUsername\": \"example_user\"\n}"}},"response":[{"name":"Result for the requested workflow step","originalRequest":{"method":"POST","description":"Uses xai-org/x-algorithm facts to compose and refine text. The score step checks text. It never predicts reach or engagement.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","compose"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"step\": \"compose\",\n  \"topic\": \"PostgreSQL query planning\",\n  \"goal\": \"engagement\",\n  \"styleUsername\": \"example_user\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"checklist\": [\n    {\n      \"factor\": \"Draft contains text\",\n      \"passed\": true\n    }\n  ],\n  \"nextStep\": \"Draft accepted. Publish through POST /api/v1/x/tweets or use intentUrl.\\n\",\n  \"passed\": true,\n  \"passedCount\": 1,\n  \"topSuggestion\": \"No deterministic ranking score exists. Ranking uses per-viewer predictions.\",\n  \"totalChecks\": 1,\n  \"intentUrl\": \"https://x.com/intent/tweet?text=PostgreSQL%2018%20reduced%20query%20latency\"\n}","_postman_previewlanguage":"json"}]},{"name":"List saved drafts","request":{"method":"GET","description":"Lists private Xquik drafts. It cannot access native X drafts.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Cursor for pagination. The after alias also works.","key":"afterCursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"Draft list","originalRequest":{"method":"GET","description":"Lists private Xquik drafts. It cannot access native X drafts.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts"],"query":[{"description":"Maximum items per page, from 1 to 100. Default 50. A low credit balance can return fewer paid results. When it covers none, the answer is 402 insufficient_credits.","key":"limit","value":"50","disabled":true},{"description":"Cursor for pagination. The after alias also works.","key":"afterCursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"drafts\": [],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Save a tweet draft","request":{"method":"POST","description":"Stores a private Xquik draft. It never publishes or creates native X drafts.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"text\": \"AI is the future of productivity\",\n  \"topic\": \"AI trends\",\n  \"goal\": \"engagement\"\n}"}},"response":[{"name":"Draft created","originalRequest":{"method":"POST","description":"Stores a private Xquik draft. It never publishes or creates native X drafts.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"text\": \"AI is the future of productivity\",\n  \"topic\": \"AI trends\",\n  \"goal\": \"engagement\"\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"text\": \"AI is the future of productivity\",\n  \"topic\": \"AI trends\",\n  \"goal\": \"engagement\",\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"updatedAt\": \"2025-01-16T09:30:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get draft by ID","request":{"method":"GET","description":"Returns 1 private Xquik draft. It cannot access native X drafts.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Draft details","originalRequest":{"method":"GET","description":"Returns 1 private Xquik draft. It cannot access native X drafts.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"id\": \"42\",\n  \"text\": \"AI is the future of productivity\",\n  \"topic\": \"AI trends\",\n  \"goal\": \"engagement\",\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"updatedAt\": \"2025-01-16T09:30:00Z\"\n}","_postman_previewlanguage":"json"}]},{"name":"Delete a draft","request":{"method":"DELETE","description":"Deletes 1 Xquik draft, not native X drafts or published posts.","header":[],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"response":[{"name":"Deleted","originalRequest":{"method":"DELETE","description":"Deletes 1 Xquik draft, not native X drafts or published posts.","header":[],"url":{"host":["{{baseUrl}}"],"path":["api","v1","drafts",":id"],"query":[],"variable":[{"description":"(Required) Resource ID returned by the matching create or list endpoint.","key":"id","value":""}]}},"status":"No Content","code":204,"header":[],"body":"","_postman_previewlanguage":"text"}]},{"name":"List cached style profiles","request":{"method":"GET","description":"Returns cached writing style profiles for the account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"Style profile list","originalRequest":{"method":"GET","description":"Returns cached writing style profiles for the account.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"styles\": [],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Analyze writing style from recent tweets","request":{"method":"POST","description":"Builds a writing style profile from recent public posts.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"username\": \"elonmusk\"\n}"}},"response":[{"name":"Fresh cached style profile returned","originalRequest":{"method":"POST","description":"Builds a writing style profile from recent public posts.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"username\": \"elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"xUsername\": \"elonmusk\",\n  \"tweetCount\": 50,\n  \"isOwnAccount\": true,\n  \"fetchedAt\": \"2025-01-15T12:00:00Z\",\n  \"tweets\": [\n    {\n      \"id\": \"1234567890\",\n      \"text\": \"Just launched our new feature!\"\n    }\n  ]\n}","_postman_previewlanguage":"json"},{"name":"Style profile created or refreshed","originalRequest":{"method":"POST","description":"Builds a writing style profile from recent public posts.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"username\": \"elonmusk\"\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"xUsername\": \"elonmusk\",\n  \"tweetCount\": 50,\n  \"isOwnAccount\": true,\n  \"fetchedAt\": \"2025-01-15T12:00:00Z\",\n  \"tweets\": [\n    {\n      \"id\": \"1234567890\",\n      \"text\": \"Just launched our new feature!\"\n    }\n  ]\n}","_postman_previewlanguage":"json"}]},{"name":"Compare 2 style profiles","request":{"method":"GET","description":"Compares language and engagement signals across 2 style profiles.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles","compare"],"query":[{"description":"(Required) First username to compare","key":"username1","value":"","disabled":false},{"description":"(Required) Second username to compare","key":"username2","value":"","disabled":false}],"variable":[]}},"response":[{"name":"Style comparison","originalRequest":{"method":"GET","description":"Compares language and engagement signals across 2 style profiles.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles","compare"],"query":[{"description":"(Required) First username to compare","key":"username1","value":"","disabled":false},{"description":"(Required) Second username to compare","key":"username2","value":"","disabled":false}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"style1\": {\n    \"xUsername\": \"elonmusk\",\n    \"tweetCount\": 50,\n    \"isOwnAccount\": true,\n    \"fetchedAt\": \"2025-01-15T12:00:00Z\",\n    \"tweets\": [\n      {\n        \"id\": \"1234567890\",\n        \"text\": \"Just launched our new feature!\"\n      }\n    ]\n  },\n  \"style2\": {\n    \"xUsername\": \"BillGates\",\n    \"tweetCount\": 40,\n    \"isOwnAccount\": false,\n    \"fetchedAt\": \"2025-01-15T12:00:00Z\",\n    \"tweets\": [\n      {\n        \"id\": \"9876543210\",\n        \"text\": \"Climate change is a global challenge.\"\n      }\n    ]\n  }\n}","_postman_previewlanguage":"json"}]},{"name":"Get cached style profile","request":{"method":"GET","description":"Returns 1 cached writing style profile.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]}},"response":[{"name":"Style profile","originalRequest":{"method":"GET","description":"Returns 1 cached writing style profile.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"xUsername\": \"elonmusk\",\n  \"tweetCount\": 50,\n  \"isOwnAccount\": true,\n  \"fetchedAt\": \"2025-01-15T12:00:00Z\",\n  \"tweets\": [\n    {\n      \"id\": \"1234567890\",\n      \"text\": \"Just launched our new feature!\"\n    }\n  ]\n}","_postman_previewlanguage":"json"}]},{"name":"Save style profile with custom tweets","request":{"method":"PUT","description":"Creates or replaces a style profile from supplied posts.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"label\": \"Professional Voice\",\n  \"tweets\": [\n    {\n      \"text\": \"Excited to share our latest research.\"\n    }\n  ]\n}"}},"response":[{"name":"Style profile saved","originalRequest":{"method":"PUT","description":"Creates or replaces a style profile from supplied posts.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"label\": \"Professional Voice\",\n  \"tweets\": [\n    {\n      \"text\": \"Excited to share our latest research.\"\n    }\n  ]\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"xUsername\": \"professional voice\",\n  \"tweetCount\": 1,\n  \"isOwnAccount\": false,\n  \"fetchedAt\": \"2026-08-02T18:30:00.000Z\",\n  \"tweets\": [\n    {\n      \"id\": \"0\",\n      \"text\": \"Excited to share our latest research.\",\n      \"authorUsername\": \"professional voice\",\n      \"createdAt\": \"2026-08-02T18:30:00.000Z\"\n    }\n  ]\n}","_postman_previewlanguage":"json"}]},{"name":"Delete a style profile","request":{"method":"DELETE","description":"Permanently removes 1 cached style profile.","header":[],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]}},"response":[{"name":"Deleted","originalRequest":{"method":"DELETE","description":"Permanently removes 1 cached style profile.","header":[],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]}},"status":"No Content","code":204,"header":[],"body":"","_postman_previewlanguage":"text"}]},{"name":"Get engagement metrics for style tweets","request":{"method":"GET","description":"Returns engagement metrics for an analyzed public X profile.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id","performance"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]}},"response":[{"name":"Performance metrics","originalRequest":{"method":"GET","description":"Returns engagement metrics for an analyzed public X profile.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","styles",":id","performance"],"query":[],"variable":[{"description":"(Required) Style profile ID or X username. Case and a leading @ are ignored.","key":"id","value":""}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"xUsername\": \"elonmusk\",\n  \"tweetCount\": 5,\n  \"tweets\": [\n    {\n      \"id\": \"1234567890\",\n      \"text\": \"Excited to share our latest research.\",\n      \"likeCount\": 120,\n      \"retweetCount\": 15,\n      \"replyCount\": 8,\n      \"quoteCount\": 3,\n      \"bookmarkCount\": 42,\n      \"viewCount\": 5000\n    }\n  ]\n}","_postman_previewlanguage":"json"}]},{"name":"Get trending topics from curated sources","request":{"method":"GET","description":"Returns current topics and sources for writing research.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","radar"],"query":[{"description":"Cursor for pagination, from the prior response's nextCursor. A cursor the radar can't read gets 400 `invalid_input`.","key":"after","value":"","disabled":true},{"description":"Filter by category.","key":"category","value":"general","disabled":true},{"description":"Lookback window in hours (1-72, default 6).","key":"hours","value":"6","disabled":true},{"description":"Number of items to return (1-100, default 50).","key":"limit","value":"50","disabled":true},{"description":"Region filter. Use `global` or a region code such as `US`, `GB`, `TR`, or `ES`.","key":"region","value":"global","disabled":true},{"description":"Source filter. One of github, google_trends, hacker_news, polymarket, reddit, trustmrr or wikipedia.","key":"source","value":"github","disabled":true}],"variable":[]}},"response":[{"name":"Radar items","originalRequest":{"method":"GET","description":"Returns current topics and sources for writing research.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","radar"],"query":[{"description":"Cursor for pagination, from the prior response's nextCursor. A cursor the radar can't read gets 400 `invalid_input`.","key":"after","value":"","disabled":true},{"description":"Filter by category.","key":"category","value":"general","disabled":true},{"description":"Lookback window in hours (1-72, default 6).","key":"hours","value":"6","disabled":true},{"description":"Number of items to return (1-100, default 50).","key":"limit","value":"50","disabled":true},{"description":"Region filter. Use `global` or a region code such as `US`, `GB`, `TR`, or `ES`.","key":"region","value":"global","disabled":true},{"description":"Source filter. One of github, google_trends, hacker_news, polymarket, reddit, trustmrr or wikipedia.","key":"source","value":"github","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"hasMore\": false,\n  \"items\": []\n}","_postman_previewlanguage":"json"}]}]},{"name":"Account","description":"Account info and settings","item":[{"name":"Get account info","request":{"method":"GET","description":"Returns plan, credit, monitoring, and account settings for the authenticated user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","account"],"query":[],"variable":[]}},"response":[{"name":"Account info","originalRequest":{"method":"GET","description":"Returns plan, credit, monitoring, and account settings for the authenticated user.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","account"],"query":[],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Deprecation","value":"@1777420800"},{"key":"Link","value":"<https://xquik.com/deprecation-policy.md>; rel=\"deprecation\"; type=\"text/markdown\""}],"body":"{\n  \"plan\": \"active\",\n  \"subscription\": {\n    \"status\": \"active\",\n    \"tier\": \"pro\",\n    \"currentPeriodStart\": \"2026-09-01T00:00:00.000Z\",\n    \"currentPeriodEnd\": \"2026-10-01T00:00:00.000Z\"\n  },\n  \"monitorsUsed\": 3,\n  \"monitorsAllowed\": 9007199254740991,\n  \"monitorBilling\": {\n    \"activeDailyEstimate\": \"2160\",\n    \"activeHourlyBurn\": \"90\",\n    \"creditsPerActiveMonitorDay\": \"720\",\n    \"creditsPerActiveMonitorHour\": \"30\",\n    \"eventsIncluded\": true,\n    \"instantCheckIntervalSeconds\": 1,\n    \"unlimitedSlots\": true\n  },\n  \"creditInfo\": {\n    \"balance\": \"50000\",\n    \"lifetimePurchased\": \"140000\",\n    \"lifetimeUsed\": \"90000\",\n    \"autoTopupEnabled\": false,\n    \"autoTopupStopped\": false,\n    \"autoTopupAmountDollars\": 10,\n    \"autoTopupThreshold\": \"50000\"\n  },\n  \"xUsername\": \"elonmusk\"\n}","_postman_previewlanguage":"json"}]},{"name":"Update account locale","request":{"method":"PATCH","description":"Changes the locale used for account responses and notifications.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","account"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"locale\": \"en\"\n}"}},"response":[{"name":"Locale updated","originalRequest":{"method":"PATCH","description":"Changes the locale used for account responses and notifications.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","account"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"locale\": \"en\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true\n}","_postman_previewlanguage":"json"}]},{"name":"Set linked X username","request":{"method":"PUT","description":"Links an X username to the authenticated Xquik account.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","account","x-identity"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"username\": \"elonmusk\"\n}"}},"response":[{"name":"X identity linked","originalRequest":{"method":"PUT","description":"Links an X username to the authenticated Xquik account.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","account","x-identity"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"username\": \"elonmusk\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"success\": true,\n  \"xUsername\": \"elonmusk\"\n}","_postman_previewlanguage":"json"}]}]},{"name":"Agent Discovery","description":"Public agent discovery and documentation search","item":[{"name":"Search Xquik documentation with NLWeb","request":{"method":"POST","description":"Search public Xquik docs with NLWeb 0.55. This read-only route accepts flat and structured requests. Never send secrets or private data.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["ask"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"How does MCP OAuth work?\",\n  \"site\": \"docs.xquik.com\",\n  \"streaming\": false,\n  \"response_format\": \"conversational_search\",\n  \"mode\": \"list\",\n  \"context\": {\n    \"previous_query\": \"How does OAuth work?\"\n  },\n  \"meta\": {\n    \"api_version\": \"0.55\"\n  }\n}"},"auth":{"type":"noauth"}},"response":[{"name":"Documentation results.","originalRequest":{"method":"POST","description":"Search public Xquik docs with NLWeb 0.55. This read-only route accepts flat and structured requests. Never send secrets or private data.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["ask"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"query\": \"How does MCP OAuth work?\",\n  \"site\": \"docs.xquik.com\",\n  \"streaming\": false,\n  \"response_format\": \"conversational_search\",\n  \"mode\": \"list\",\n  \"context\": {\n    \"previous_query\": \"How does OAuth work?\"\n  },\n  \"meta\": {\n    \"api_version\": \"0.55\"\n  }\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"_meta\": {\n    \"response_format\": \"conversational_search\",\n    \"response_type\": \"answer\",\n    \"version\": \"0.55\"\n  },\n  \"results\": []\n}","_postman_previewlanguage":"json"}]},{"name":"Search Xquik documentation with query parameters","request":{"method":"GET","description":"Send a flat NLWeb 0.55 request through query parameters.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["ask"],"query":[{"description":"(Required) Natural-language docs query.","key":"query","value":"","disabled":false},{"description":"Optional docs host.","key":"site","value":"docs.xquik.com","disabled":true},{"description":"List result mode.","key":"mode","value":"list","disabled":true},{"description":"NLWeb response shape.","key":"response_format","value":"conversational_search","disabled":true},{"description":"Return SSE when true.","key":"streaming","value":"false","disabled":true}],"variable":[]},"auth":{"type":"noauth"}},"response":[{"name":"Documentation results.","originalRequest":{"method":"GET","description":"Send a flat NLWeb 0.55 request through query parameters.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["ask"],"query":[{"description":"(Required) Natural-language docs query.","key":"query","value":"","disabled":false},{"description":"Optional docs host.","key":"site","value":"docs.xquik.com","disabled":true},{"description":"List result mode.","key":"mode","value":"list","disabled":true},{"description":"NLWeb response shape.","key":"response_format","value":"conversational_search","disabled":true},{"description":"Return SSE when true.","key":"streaming","value":"false","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"_meta\": {\n    \"response_format\": \"conversational_search\",\n    \"response_type\": \"answer\",\n    \"version\": \"0.55\"\n  },\n  \"results\": []\n}","_postman_previewlanguage":"json"}]}]},{"name":"Guest Wallets","description":"Accountless prepaid access for paid read endpoints","item":[{"name":"Create an accountless prepaid wallet checkout","request":{"method":"POST","description":"Create a one-use hosted checkout after the user confirms $10-$250 USD. The request creates no charge. It returns a paid-read API key without an Xquik account. Idempotent replays return the same key.\n","header":[{"description":"(Required) Generate a cryptographically random UUID v4. Reuse it only to retry the same wallet and amount request. Initial wallet creation can recover the API key from this value, so store it as a secret and never log it.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","guest-wallets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"amount_minor\": 1000,\n  \"currency\": \"usd\"\n}"},"auth":{"type":"noauth"}},"response":[{"name":"Hosted checkout, guest API key, and API status URL.","originalRequest":{"method":"POST","description":"Create a one-use hosted checkout after the user confirms $10-$250 USD. The request creates no charge. It returns a paid-read API key without an Xquik account. Idempotent replays return the same key.\n","header":[{"description":"(Required) Generate a cryptographically random UUID v4. Reuse it only to retry the same wallet and amount request. Initial wallet creation can recover the API key from this value, so store it as a secret and never log it.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","guest-wallets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"amount_minor\": 1000,\n  \"currency\": \"usd\"\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Cache-Control","value":"no-store, private"},{"key":"Idempotent-Replayed","value":"true"}],"body":"{\n  \"account_required\": false,\n  \"amount\": {\n    \"amount_minor\": 1000,\n    \"currency\": \"usd\"\n  },\n  \"api_key\": \"xq_example_returned_once\",\n  \"authorization\": {\n    \"header\": \"Authorization\",\n    \"scheme\": \"Bearer\"\n  },\n  \"checkout_url\": \"https://checkout.example/guest/example\",\n  \"credential_notice\": \"Store api_key and the Idempotency-Key securely before sharing checkout_url. No email recovery is available.\",\n  \"credits\": \"66666\",\n  \"expires_at\": \"2026-07-13T13:00:00.000Z\",\n  \"instructions\": \"Give checkout_url to the user. They must complete payment on the hosted checkout page. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.\",\n  \"poll_after_seconds\": 2,\n  \"purchase_id\": \"gp_example\",\n  \"requires_user_interaction\": true,\n  \"status\": \"pending\",\n  \"status_url\": \"https://xquik.com/api/v1/guest-wallets/status\",\n  \"wallet_id\": \"gw_example\"\n}","_postman_previewlanguage":"json"}]},{"name":"Create another guest wallet checkout","request":{"method":"POST","description":"Create a one-use hosted checkout after the user confirms a $10-$250 USD amount for an existing paid-read guest key. The key remains the same. This request creates no charge and never redirects through Xquik.\n","header":[{"description":"(Required) Generate a cryptographically random UUID v4. Reuse it only to retry the same wallet and amount request. Initial wallet creation can recover the API key from this value, so store it as a secret and never log it.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","guest-wallets","topups"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"amount_minor\": 1000,\n  \"currency\": \"usd\"\n}"}},"response":[{"name":"Hosted checkout and API status URL.","originalRequest":{"method":"POST","description":"Create a one-use hosted checkout after the user confirms a $10-$250 USD amount for an existing paid-read guest key. The key remains the same. This request creates no charge and never redirects through Xquik.\n","header":[{"description":"(Required) Generate a cryptographically random UUID v4. Reuse it only to retry the same wallet and amount request. Initial wallet creation can recover the API key from this value, so store it as a secret and never log it.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","guest-wallets","topups"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"amount_minor\": 1000,\n  \"currency\": \"usd\"\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Cache-Control","value":"no-store, private"},{"key":"Idempotent-Replayed","value":"true"}],"body":"{\n  \"account_required\": false,\n  \"amount\": {\n    \"amount_minor\": 1000,\n    \"currency\": \"usd\"\n  },\n  \"checkout_url\": \"https://checkout.example/guest/example\",\n  \"credits\": \"66666\",\n  \"expires_at\": \"2026-07-13T13:00:00.000Z\",\n  \"instructions\": \"Give checkout_url to the user. They must complete payment on the hosted checkout page. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.\",\n  \"poll_after_seconds\": 2,\n  \"purchase_id\": \"gp_example\",\n  \"requires_user_interaction\": true,\n  \"status\": \"pending\",\n  \"status_url\": \"https://xquik.com/api/v1/guest-wallets/status\",\n  \"wallet_id\": \"gw_example\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get guest wallet and payment status","request":{"method":"GET","description":"Poll after payment. Use usable to decide whether paid reads can run. An active wallet can remain usable while a top-up is pending. A new wallet becomes usable only after Xquik verifies payment. Send the guest key as `Authorization: Bearer xq_...`\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","guest-wallets","status"],"query":[],"variable":[]}},"response":[{"name":"Guest wallet status without exposing the API key.","originalRequest":{"method":"GET","description":"Poll after payment. Use usable to decide whether paid reads can run. An active wallet can remain usable while a top-up is pending. A new wallet becomes usable only after Xquik verifies payment. Send the guest key as `Authorization: Bearer xq_...`\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","guest-wallets","status"],"query":[],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Cache-Control","value":"no-store, private"}],"body":"{\n  \"balance\": \"66666\",\n  \"latest_purchase\": {\n    \"amount\": {\n      \"amount_minor\": 1000,\n      \"currency\": \"usd\"\n    },\n    \"checkout_url\": null,\n    \"credits\": \"66666\",\n    \"expires_at\": \"2026-07-13T13:00:00.000Z\",\n    \"purchase_id\": \"gp_example\",\n    \"status\": \"paid\"\n  },\n  \"poll_after_seconds\": null,\n  \"scope\": \"paid_reads\",\n  \"status\": \"active\",\n  \"top_up\": {\n    \"method\": \"POST\",\n    \"path\": \"/api/v1/guest-wallets/topups\"\n  },\n  \"usable\": true,\n  \"wallet_id\": \"gw_example\"\n}","_postman_previewlanguage":"json"}]}]},{"name":"Subscribe","description":"Subscription, billing, and credits","item":[{"name":"Create subscription checkout","request":{"method":"POST","description":"Create a subscription checkout URL or a billing page link only after the user confirms. The request never completes payment by itself. An account with a plan gets the dashboard billing page, where the user signs in to manage billing.\n","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","subscribe"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"tier\": \"pro\"\n}"}},"response":[{"name":"Billing URL","originalRequest":{"method":"POST","description":"Create a subscription checkout URL or a billing page link only after the user confirms. The request never completes payment by itself. An account with a plan gets the dashboard billing page, where the user signs in to manage billing.\n","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","subscribe"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"tier\": \"pro\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"url\": \"https://xquik.com/billing/session\",\n  \"status\": \"checkout_created\",\n  \"message\": \"Billing session created\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get credits balance","request":{"method":"GET","description":"Returns the account credit balance and usage context.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","credits"],"query":[],"variable":[]}},"response":[{"name":"Credits balance and usage","originalRequest":{"method":"GET","description":"Returns the account credit balance and usage context.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","credits"],"query":[],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"auto_topup_amount_dollars\": 10,\n  \"auto_topup_enabled\": false,\n  \"auto_topup_stopped\": false,\n  \"auto_topup_threshold\": \"50000\",\n  \"balance\": \"50000\",\n  \"lifetime_purchased\": \"200000\",\n  \"lifetime_used\": \"150000\"\n}","_postman_previewlanguage":"json"}]},{"name":"Create credit top-up checkout","request":{"method":"POST","description":"Create a hosted checkout only after the user confirms. The request never completes payment or adds credits.\n","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","credits","topup"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"dollars\": 10,\n  \"locale\": \"en\"\n}"}},"response":[{"name":"Top-up checkouts","originalRequest":{"method":"POST","description":"Create a hosted checkout only after the user confirms. The request never completes payment or adds credits.\n","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","credits","topup"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"dollars\": 10,\n  \"locale\": \"en\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"redirect_url\": \"https://xquik.com/api/v1/credits/topup/redirect?session_id=checkout_example\",\n  \"url\": \"https://xquik.com/api/v1/credits/topup/redirect?session_id=checkout_example\"\n}","_postman_previewlanguage":"json"}]},{"name":"Get top-up billing status","request":{"method":"GET","description":"Returns verification status for a credit top-up.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","credits","topup","status"],"query":[{"description":"(Required) Top-up session ID to inspect.","key":"session_id","value":"","disabled":false}],"variable":[]}},"response":[{"name":"Top-up billing status","originalRequest":{"method":"GET","description":"Returns verification status for a credit top-up.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","credits","topup","status"],"query":[{"description":"(Required) Top-up session ID to inspect.","key":"session_id","value":"","disabled":false}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"amount_dollars\": 25,\n  \"credits\": \"166666\",\n  \"status\": \"paid\"\n}","_postman_previewlanguage":"json"}]}]},{"name":"Support","description":"Support ticket management","item":[{"name":"Download support ticket media","request":{"method":"GET","description":"Streams an authenticated user's support image or video. Video requests support 1 standard byte range for seeking and resumable playback.\n","header":[{"description":"Optional single byte range. Each position takes up to 19 digits.","key":"Range","value":"bytes=0-1048575"},{"key":"Accept","value":"application/octet-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","attachments",":id"],"query":[],"variable":[{"description":"(Required) Support attachment public ID. Another shape gets 400 `invalid_id`.","key":"id","value":"att_a1b2c3d4e5f6a1b2c3d4e5f6"}]}},"response":[{"name":"Complete image or video bytes","originalRequest":{"method":"GET","description":"Streams an authenticated user's support image or video. Video requests support 1 standard byte range for seeking and resumable playback.\n","header":[{"description":"Optional single byte range. Each position takes up to 19 digits.","key":"Range","value":"bytes=0-1048575"},{"key":"Accept","value":"application/octet-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","attachments",":id"],"query":[],"variable":[{"description":"(Required) Support attachment public ID. Another shape gets 400 `invalid_id`.","key":"id","value":"att_a1b2c3d4e5f6a1b2c3d4e5f6"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/octet-stream"}],"body":"string","_postman_previewlanguage":"text"},{"name":"Requested partial video bytes","originalRequest":{"method":"GET","description":"Streams an authenticated user's support image or video. Video requests support 1 standard byte range for seeking and resumable playback.\n","header":[{"description":"Optional single byte range. Each position takes up to 19 digits.","key":"Range","value":"bytes=0-1048575"},{"key":"Accept","value":"application/octet-stream"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","attachments",":id"],"query":[],"variable":[{"description":"(Required) Support attachment public ID. Another shape gets 400 `invalid_id`.","key":"id","value":"att_a1b2c3d4e5f6a1b2c3d4e5f6"}]}},"status":"Partial Content","code":206,"header":[{"key":"Content-Type","value":"application/octet-stream"}],"body":"string","_postman_previewlanguage":"text"}]},{"name":"Create a support ticket","request":{"method":"POST","description":"Creates a support ticket with an initial message.","header":[{"description":"Generate 1 random value per ticket or reply. Reuse it only when retrying identical text and attachments. Never log this value.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"subject\": \"Cannot connect X account\",\n  \"body\": \"I am unable to connect my X account. Please help.\"\n}"}},"response":[{"name":"Original ticket replayed after a safe retry","originalRequest":{"method":"POST","description":"Creates a support ticket with an initial message.","header":[{"description":"Generate 1 random value per ticket or reply. Reuse it only when retrying identical text and attachments. Never log this value.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"subject\": \"Cannot connect X account\",\n  \"body\": \"I am unable to connect my X account. Please help.\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Replayed","value":"true"}],"body":"{\n  \"publicId\": \"tkt_a1b2c3d4e5f6a1b2c3d4e5f6\",\n  \"attachments\": []\n}","_postman_previewlanguage":"json"},{"name":"Ticket created","originalRequest":{"method":"POST","description":"Creates a support ticket with an initial message.","header":[{"description":"Generate 1 random value per ticket or reply. Reuse it only when retrying identical text and attachments. Never log this value.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets"],"query":[],"variable":[]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"subject\": \"Cannot connect X account\",\n  \"body\": \"I am unable to connect my X account. Please help.\"\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"publicId\": \"tkt_a1b2c3d4e5f6a1b2c3d4e5f6\",\n  \"attachments\": []\n}","_postman_previewlanguage":"json"}]},{"name":"List user's support tickets","request":{"method":"GET","description":"Returns support tickets owned by the authenticated user, latest activity first.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"response":[{"name":"List of tickets","originalRequest":{"method":"GET","description":"Returns support tickets owned by the authenticated user, latest activity first.\n","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets"],"query":[{"description":"Maximum items per page, from 1 to 200. Default 200. Pass nextCursor as cursor for the next page.","key":"limit","value":"200","disabled":true},{"description":"Previous nextCursor. The after alias also works. Offset pagination is not supported.","key":"cursor","value":"","disabled":true}],"variable":[]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"tickets\": [\n    {\n      \"publicId\": \"tkt_a1b2c3d4e5f6a1b2c3d4e5f6\",\n      \"subject\": \"Cannot connect X account\",\n      \"status\": \"open\",\n      \"messageCount\": 2,\n      \"createdAt\": \"2025-01-15T12:00:00Z\",\n      \"updatedAt\": \"2025-01-16T09:30:00Z\"\n    }\n  ],\n  \"hasMore\": false\n}","_postman_previewlanguage":"json"}]},{"name":"Get ticket with all messages","request":{"method":"GET","description":"Returns 1 support ticket with its message history.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets",":id"],"query":[],"variable":[{"description":"(Required) Support ticket public ID. Another shape gets 400 `invalid_id`.","key":"id","value":"tkt_a1b2c3d4e5f6a1b2c3d4e5f6"}]}},"response":[{"name":"Ticket detail","originalRequest":{"method":"GET","description":"Returns 1 support ticket with its message history.","header":[{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets",":id"],"query":[],"variable":[{"description":"(Required) Support ticket public ID. Another shape gets 400 `invalid_id`.","key":"id","value":"tkt_a1b2c3d4e5f6a1b2c3d4e5f6"}]}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"publicId\": \"tkt_a1b2c3d4e5f6a1b2c3d4e5f6\",\n  \"subject\": \"Cannot connect X account\",\n  \"status\": \"open\",\n  \"createdAt\": \"2025-01-15T12:00:00Z\",\n  \"updatedAt\": \"2025-01-16T09:30:00Z\",\n  \"messages\": [\n    {\n      \"body\": \"I am unable to connect my X account.\",\n      \"sender\": \"user\",\n      \"createdAt\": \"2025-01-15T12:00:00Z\",\n      \"attachments\": []\n    }\n  ]\n}","_postman_previewlanguage":"json"}]},{"name":"Update ticket status","request":{"method":"PATCH","description":"Changes the open or closed state of a support ticket.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets",":id"],"query":[],"variable":[{"description":"(Required) Support ticket public ID to update. Another shape gets 400 `invalid_id`.","key":"id","value":"tkt_a1b2c3d4e5f6a1b2c3d4e5f6"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"status\": \"resolved\"\n}"}},"response":[{"name":"Status updated","originalRequest":{"method":"PATCH","description":"Changes the open or closed state of a support ticket.","header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets",":id"],"query":[],"variable":[{"description":"(Required) Support ticket public ID to update. Another shape gets 400 `invalid_id`.","key":"id","value":"tkt_a1b2c3d4e5f6a1b2c3d4e5f6"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"status\": \"resolved\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"publicId\": \"tkt_a1b2c3d4e5f6a1b2c3d4e5f6\",\n  \"status\": \"resolved\"\n}","_postman_previewlanguage":"json"}]},{"name":"Reply to a support ticket","request":{"method":"POST","description":"Adds a message to an existing support ticket.","header":[{"description":"Generate 1 random value per ticket or reply. Reuse it only when retrying identical text and attachments. Never log this value.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets",":id","messages"],"query":[],"variable":[{"description":"(Required) Support ticket public ID for the reply. Another shape gets 400 `invalid_id`.","key":"id","value":"tkt_a1b2c3d4e5f6a1b2c3d4e5f6"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"body\": \"Thank you for the update.\"\n}"}},"response":[{"name":"Original message replayed after a safe retry","originalRequest":{"method":"POST","description":"Adds a message to an existing support ticket.","header":[{"description":"Generate 1 random value per ticket or reply. Reuse it only when retrying identical text and attachments. Never log this value.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets",":id","messages"],"query":[],"variable":[{"description":"(Required) Support ticket public ID for the reply. Another shape gets 400 `invalid_id`.","key":"id","value":"tkt_a1b2c3d4e5f6a1b2c3d4e5f6"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"body\": \"Thank you for the update.\"\n}"}},"status":"OK","code":200,"header":[{"key":"Content-Type","value":"application/json"},{"key":"Idempotency-Replayed","value":"true"}],"body":"{\n  \"publicId\": \"tkt_a1b2c3d4e5f6a1b2c3d4e5f6\",\n  \"attachments\": []\n}","_postman_previewlanguage":"json"},{"name":"Message added","originalRequest":{"method":"POST","description":"Adds a message to an existing support ticket.","header":[{"description":"Generate 1 random value per ticket or reply. Reuse it only when retrying identical text and attachments. Never log this value.","key":"Idempotency-Key","value":"{{$guid}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"host":["{{baseUrl}}"],"path":["api","v1","support","tickets",":id","messages"],"query":[],"variable":[{"description":"(Required) Support ticket public ID for the reply. Another shape gets 400 `invalid_id`.","key":"id","value":"tkt_a1b2c3d4e5f6a1b2c3d4e5f6"}]},"body":{"mode":"raw","options":{"raw":{"language":"json"}},"raw":"{\n  \"body\": \"Thank you for the update.\"\n}"}},"status":"Created","code":201,"header":[{"key":"Content-Type","value":"application/json"}],"body":"{\n  \"publicId\": \"tkt_a1b2c3d4e5f6a1b2c3d4e5f6\",\n  \"attachments\": []\n}","_postman_previewlanguage":"json"}]}]}]}