---
title: "GET /api/v1/x/tweets/{id}/retweeters"
method: GET
path: "/api/v1/x/tweets/{id}/retweeters"
tags: ["Tweets"]
---

# GET /api/v1/x/tweets/{id}/retweeters

`GET /api/v1/x/tweets/{id}/retweeters`

## Request

- Base URL: `https://xquik.com`
- URL: `https://xquik.com/api/v1/x/tweets/{id}/retweeters`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
  - none

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.

## Path parameters

- `id` string, required

## Query parameters

- `cursor` string
- `includeRetweetTimestamp` boolean
- `pageSize` integer
- `minFollowers` integer: Whole number from 0.
- `maxFollowers` integer: Whole number from 0.
- `minFollowing` integer: Whole number from 0.
- `maxFollowing` integer: Whole number from 0.
- `minStatuses` integer: Whole number from 0.
- `maxStatuses` integer: Whole number from 0.
- `minAccountAgeDays` integer: Whole number from 0.
- `verifiedOnly` boolean
- `blueVerifiedOnly` boolean
- `verifiedType` string
- `hasWebsite` boolean
- `hasLocation` boolean
- `hasEmail` boolean
- `businessEmailOnly` boolean
- `emailDomains` string
- `bioContains` string
- `locationContains` string
- `usernameContains` string
- `enrichProfiles` boolean
- `fields` string
- `omit` string

## Response `200`

List of retweeters

- PaginatedUsers: Profile coverage preserves shape, billing, aliases, and filters. Follow next_cursor while the response reports more pages. Unprefixed cursors remain legacy.
  - `filtered_count` integer: Whole number from 0.
  - `users` UserProfile[], required
    - `id` string, required
    - `username` string, required
    - `name` string, required
    - `description` string
    - `followers` integer: Omitted when X sends no count, as for the account that first posted reused media.
    - `following` integer
    - `verified` boolean
    - `isBlueVerified` boolean: Whether X shows a blue verification badge
    - `isVerified` boolean: Whether X marks the profile as verified
    - `profilePicture` string: Profile picture at 48 px, as X sends it.
    - `profilePictureOriginal` string: The same profile picture at full size, as the account uploaded it. Download this one for the image.
    - `coverPicture` string
    - `profileBannerUrl` string: Original X profile banner field when available
    - `location` string: Account owner's public profile location text
    - `accountBasedIn` AccountBasedIn: X's best-effort public label inferred from aggregated account-access IP addresses. It does not state nationality, residence, identity, registration, post location, or exact location.
      - `value` string, required
      - `level` 'country' | 'region', required
      - `observedAt` string, date-time, required
    - `accountBasedInUnavailable` boolean: True when X withheld accountBasedIn from this read. Retry later.
    - `accountBasedInAccurate` boolean: False when X notes accountBasedIn may be inaccurate.
    - `connectedVia` string: How the account first connected to X.
    - `connectedViaAccurate` boolean: False when X notes that country may be inaccurate.
    - `affiliateUsername` string: Handle of the organization X shows the account is affiliated with, from its About page.
    - `email` string: First email the account publishes on its profile, lowercased. Omitted when it publishes none.
    - `contactInfo` ProfileContactInfo: Emails, phone numbers & links the account publishes on its own profile. Omitted when it publishes none.
      - `emails` object[]: Emails in the bio, name or location, lowercased.
        - `value` string, required: The email address.
        - `domain` string, required: The part after the @ sign.
        - `source` 'bio' | 'name' | 'location', required: Profile field that holds the email.
        - `writtenAs` string: The account's own spelling, sent when it spelled the email out.
      - `phones` object[]: Phone numbers on the profile. Only a spelling that can be nothing else counts.
        - `value` string, required: The digits, with a leading + when the account wrote a country code.
        - `source` 'bio' | 'name' | 'location' | 'url', required: Profile field that holds the number.
        - `writtenAs` string: The account's own spelling of the number.
      - `links` object[]: The profile's website & the links in its bio.
        - `url` string, required: The link, as X expands it.
        - `network` string, required: Site the link belongs to, such as `linkedin`, `github` or `telegram`. Any other site is `website`.
        - `source` 'url' | 'bio', required: `url` for the website field, `bio` for a bio link.
    - `usernameChanges` object: How often the account changed its username.
      - `count` integer, required: Whole number from 0.
      - `lastChangedAt` string, date-time: Time of the latest change, omitted when there is none.
    - `birthdate` object: The parts of the birthday the account made public.
      - `day` integer
      - `month` integer
      - `year` integer
    - `retweetedAt` string, date-time, nullable: UTC repost time with includeRetweetTimestamp. Null if the newest profile page has no match or lookup failed. Otherwise omitted.
    - `createdAt` string: Account creation time.
    - `statusesCount` integer
    - `mediaCount` integer
    - `protected` boolean: Whether the profile protects its posts
    - `url` string
    - `favouritesCount` integer
    - `hasCustomTimelines` boolean
    - `isTranslator` boolean
    - `withheldInCountries` string[]
    - `withheldScope` string: Whether X withholds a post or user
    - `possiblySensitive` boolean
    - `professional` PublicMetadata: Public metadata whose fields X defines.
    - `grokTranslatedBio` PublicMetadata: Public metadata whose fields X defines.
    - `pinnedTweetIds` string[]
    - `isAutomated` boolean
    - `automatedBy` string
    - `unavailable` boolean
    - `unavailableReason` string
    - `verifiedType` string
    - `affiliatesHighlightedLabel` UserAffiliateLabel: Organization affiliation label shown on an X profile.
      - `badgeUrl` string
      - `description` string
      - `longDescription` PublicMetadata: Public metadata whose fields X defines.
      - `url` string
      - `urlType` string
      - `userLabelDisplayType` string
      - `userLabelType` string
    - `businessAccountAffiliatesCount` integer: Whole number from 0.
    - `creatorSubscriptionsCount` integer: Whole number from 0.
    - `hasGraduatedAccess` boolean
    - `hasHiddenSubscriptionsOnProfile` boolean
    - `highlightsInfo` UserHighlightsInfo: Profile highlight availability and count metadata.
      - `canHighlightTweets` boolean
      - `highlightedTweets` string
    - `identityVerification` UserIdentityVerification: Identity verification X shows on the profile & its About page.
      - `description` string
      - `isIdentityVerified` boolean: Whether the owner verified their ID with X.
      - `overrideVerifiedYear` integer: The year X shows as the start of verification, in place of verifiedSinceMsec.
      - `verifiedSinceMsec` string: When X verified the account, in milliseconds since 1970, as text.
    - `isProfileTranslatable` boolean
    - `parodyCommentaryFanLabel` string
    - `profileDescriptionLanguage` string
    - `profileImageShape` string
    - `profileInterstitialType` string
    - `profileSortEnabled` boolean
    - `profileTranslatorType` string
    - `redirectsToUsername` string: Handle x.com sends this profile's visitors to, such as the new handle of a renamed account whose old handle now holds a placeholder. Missing when x.com shows the profile itself.
    - `superFollowEligible` boolean
    - `superFollowsUserProfileActive` boolean: Whether X marks the subscription profile as active.
    - `tipJar` UserTipJar: Public payment and creator-support handles shown on X.
      - `bandcampHandle` string
      - `bitcoinHandle` string
      - `cashAppHandle` string
      - `ethereumHandle` string
      - `gofundmeHandle` string
      - `isEnabled` boolean
      - `patreonHandle` string
      - `payPalHandle` string
      - `venmoHandle` string
    - `listedCount` integer: Public lists that include the profile.
    - `fastFollowersCount` integer: Followers X counts as fast followers.
    - `normalFollowersCount` integer: Followers minus fast followers.
    - `defaultProfile` boolean: Whether the profile keeps X's default theme.
    - `defaultProfileImage` boolean: Whether the profile keeps X's default avatar.
    - `hasExtendedProfile` boolean: Whether the profile filled X's extended fields, such as a birth date. True or false.
    - `isTranslationEnabled` boolean: Whether the account turned on X's translation of its posts. True or false.
    - `geoEnabled` boolean: Whether the profile may add a location to posts.
    - `advertiserAccountType` string: The account's X Ads type. `none` for an account without ads, or `promotable_user` for one that may run them.
    - `advertiserAccountServiceLevels` string[]: X Ads services the account uses, such as `analytics`, `media_studio` or `smb`. Empty for an account without ads.
    - `businessProfileState` string: Whether X treats the profile as a business profile. `none` or `enabled`.
    - `subscribersCount` integer: Accounts subscribed to the profile's paid Subscriptions. 0 when it has none.
    - `verificationReason` object: X's text on why the profile is verified, with its links.
      - `text` string
      - `entities` object[]: Links inside the text, by character range.
        - `fromIndex` integer: Whole number from 0.
        - `toIndex` integer: Whole number from 0.
        - `url` string
        - `urlType` string
    - `communityRole` string: Community role when returned by community member reads
    - `profile_bio` PublicMetadata: Public metadata whose fields X defines.
  - `has_next_page` boolean, required
  - `next_cursor` string, required: Cursor for the next page. Send it unchanged.

## Other responses

- `400`: Invalid input returns invalid_input. A cursor X cannot read, or one past its maxLength, returns invalid_cursor. Start again without it. Both are free.
- `401`: Non-MPP paid reads require Bearer authentication. Without credentials, the answer offers a guest checkout but does not create it. Invalid credentials return a plain error. Confirm before using any offered action.
- `402`: Payment required. MPP reads include `WWW-Authenticate`. Authenticated reads include balances, plus checkout when the key can open it. A key that reads only gets the account page instead. A failed request never creates checkout. A caller on a plan gets top-up only, plus `credits_renew_at` when the plan renews. Guest keys offer top-up.
- `404`: X shows no post with this ID. `reason` says why when X's answer named it. It is `deleted` with the message "The author deleted this post.", `author_suspended` with "X suspended this post's author.", or `protected` with "This post's author limits who can see it." Without `reason`, X named no cause, and the message is "Tweet not found. Check the tweet ID."
- `424`: Dependency unavailable, unauthorized, or limited. Default v1 uses 502. Best-practice responses use 424 for transparent dependency failures. Search answers 424 `search_unavailable` when X fails the query itself, or when its filters matched none of the last 3,000 posts read. The message says how far back the search read.
- `429`: Too many requests right now. Each user gets 500 reads a second. Each minute allows 120 writes & 60 deletes. `x_api_rate_limited` means X limits this read for now. Neither answer costs anything. Wait for the seconds in `Retry-After`, then retry.
- `500`: Unexpected error.
- `502`: Dependency unavailable, unauthorized, or limited. Default v1 uses 502. Best-practice responses use 424 for transparent dependency failures. Search answers 424 `search_unavailable` when X fails the query itself, or when its filters matched none of the last 3,000 posts read. The message says how far back the search read.
- `503`: Retry x_api_unavailable after Retry-After. With X-Xquik-Busy, retry until your deadline.
- `default`: Unexpected error.

## Changes

- **2026-10-20** `45942c75fdc2`: 20 warning
  - added the new `topup_in_progress` enum value to the `allOf[#/components/schemas/Error]/error/oneOf[subschema #1: LegacyErrorCode]/` response property for the response status `429`
  - added the new `topup_in_progress` enum value to the `allOf[#/components/schemas/Error]/error/oneOf[subschema #2: StructuredError]/code` response property for the response status `429`
  - added the new `topup_in_progress` enum value to the `error/oneOf[subschema #1: LegacyErrorCode]/` response property for the response status `400`
  - added the new `topup_in_progress` enum value to the `error/oneOf[subschema #1: LegacyErrorCode]/` response property for the response status `404`
  - …16 more

[Operation history](https://skmtc.dev/xquik-dev/apis/xquik-api/changes/api/v1/x/tweets/:id/retweeters/get.md)

---

[API](https://skmtc.dev/xquik-dev/apis/xquik-api.md) · [All operations](https://skmtc.dev/xquik-dev/apis/xquik-api/llms.txt) · [OpenAPI document](https://skmtc.dev/xquik-dev/apis/xquik-api/revisions/45942c75fdc2?raw)
