---
title: "GET /api/v1/extractions/{id}"
method: GET
path: "/api/v1/extractions/{id}"
tags: ["Extractions"]
---

# GET /api/v1/extractions/{id}

`GET /api/v1/extractions/{id}`

## Request

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

Returns status and up to 1,000 results. Follow nextCursor when hasMore is true.

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer
- `cursor` string
- `wait` integer
- `outputMode` 'compact' | 'full' | 'raw'
- `outputPreset` 'nested' | 'flat'
- `fieldStyle` 'source' | 'camelCase' | 'snake_case'
- `includeRaw` boolean

## Response `200`

Extraction job with results

- object
  - `job` ExtractionJob, required: Extraction job tracking status, tool type, and result count.
    - `id` string, required
    - `toolType` 'article_extractor' | 'community_extractor' | 'community_moderator_explorer' | 'community_post_extractor' | 'community_search' | 'favoriters' | 'follower_explorer' | 'following_explorer' | 'list_follower_explorer' | 'list_member_extractor' | 'list_post_extractor' | 'mention_extractor' | 'people_search' | 'post_extractor' | 'quote_extractor' | 'reply_extractor' | 'repost_extractor' | 'space_explorer' | 'thread_extractor' | 'tweet_search_extractor' | 'user_likes' | 'user_media' | 'verified_follower_explorer', required: Identifier for the extraction tool used to run a job.
    - `status` 'pending' | 'running' | 'canceled' | 'completed' | 'failed', required
    - `totalResults` integer, required: Whole number from 0.
    - `resultsLimit` integer: Requested result limit.
    - `effectiveResultsLimit` integer: Result limit after affordability checks.
    - `completionReason` 'budget_limited' | 'canceled' | 'deadline_reached' | 'failed' | 'pagination_safety_limit' | 'partial_failure' | 'requested_limit_reached' | 'source_exhausted': Why a terminal job stopped.
    - `errorMessage` string: Safe error code for a failed job.
    - `createdAt` string, date-time, required
    - `completedAt` string, date-time
  - `results` ExtractionResult[], required
    - `id` string, required
    - `xUserId` string, required
    - `xUsername` string
    - `xDisplayName` string
    - `xFollowersCount` integer: Followers of the account. Absent when X sends no count, as for the hosts & speakers of a Space, and never 0 in its place.
    - `xVerified` boolean
    - `xProfileImageUrl` string, uri
    - `email` string: First email the account publishes on its profile, with outputPreset=flat. Default nested output uses enrichmentData.user.email, beside enrichmentData.user.contactInfo. Absent when the profile publishes none.
    - `tweetId` string
    - `tweetUrl` string, uri
    - `tweetText` string
    - `tweetCreatedAt` string, date-time
    - `createdAt` string, date-time, required
    - `media` TweetMedia[]: Attached media with outputPreset=flat. Default nested output uses enrichmentData.tweet.media.
      - `mediaUrl` string, required: Preview URL.
      - `type` 'photo' | 'video' | 'animated_gif', required
      - `url` string, required: Tweet media link.
      - `adultContent` boolean: Adult-content warning.
      - `allowDownload` boolean: Direct download permission.
      - `altText` string: Accessibility text.
      - `aspectRatio` WholeNumber[]: Video width and height ratio.
      - `availabilityReason` string: Why X made the media unavailable, such as `Dmcaed` after a copyright report. Omitted on available media.
      - `availabilityStatus` string: Availability state, such as `Available` or `Unavailable`.
      - `description` string: Media description.
      - `displayUrl` string: Display URL.
      - `durationMillis` integer: Video duration in milliseconds.
      - `expandedUrl` string: Expanded media URL.
      - `embeddable` boolean: Embeddable status.
      - `faceRects` object: Face crop rectangles by size.
      - `focusRects` object[]: Suggested image crops.
        - `x` integer, required: Whole number from 0.
        - `y` integer, required: Whole number from 0.
        - `w` integer, required: Whole number from 0.
        - `h` integer, required: Whole number from 0.
      - `grokImageAnnotation` object: Prompt a Grok image came from. Absent on other media & when X sends no prompt.
        - `prompt` string: Prompt the image came from.
        - `upsampledPrompt` string: Grok's longer rewrite of the prompt.
      - `grokPostId` string: Grok post ID associated with the media.
      - `graphicViolence` boolean: Graphic-violence warning.
      - `height` integer: Original height.
      - `id` string: Media entity ID.
      - `indices` WholeNumber[]: Tweet text offsets.
      - `mediaKey` string: Stable X media key.
      - `monetizable` boolean: Monetization status.
      - `otherSensitiveContent` boolean
      - `sizes` object: Named media renditions and resize modes.
      - `sourceStatusId` string: Source tweet ID for copied media.
      - `sourceUser` UserProfile: Public X profile.
        - `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.
      - `sourceUserId` string: Source profile ID for copied media.
      - `tags` object[]: Public profiles tagged in the media.
        - `name` string
        - `screen_name` string
        - `type` string
        - `user_id` string
      - `title` string: Media title.
      - `videoVariants` object[]: Video encodings in source order.
        - `bitrate` integer: Whole number from 0.
        - `contentType` string, required
        - `url` string, required
      - `watchNowUrl` string: Public media action URL.
      - `visitSiteUrl` string: Public destination URL.
      - `width` integer: Original width.
    - `bookmarkCount` integer: Whole number from 0.
    - `likeCount` integer: Whole number from 0.
    - `quoteCount` integer: Whole number from 0.
    - `replyCount` integer: Whole number from 0.
    - `retweetCount` integer: Whole number from 0.
    - `viewCount` integer: Whole number from 0.
    - `enrichmentData` PublicMetadata: Public metadata whose fields X defines.
  - `hasMore` boolean, required
  - `pollAfterMs` integer, required
  - `waitUrl` string, required
  - `nextCursor` string

## Other responses

- `400`: Invalid input. A value past its maxLength gets this answer, & the message names the field & its limit.
- `401`: Unauthenticated
- `404`: Not found
- `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.
- `default`: Unexpected error.

## Changes

- **2026-10-20** `45942c75fdc2`: 12 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 `401`
  - …8 more

[Operation history](https://skmtc.dev/xquik-dev/apis/xquik-api/changes/api/v1/extractions/:id/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)
