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

# Get extraction results

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

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
    - `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
    - `xVerified` boolean
    - `xProfileImageUrl` string, uri
    - `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` integer[] — Video width and height ratio.
      - `availabilityReason` string — Availability reason.
      - `availabilityStatus` string — Availability state.
      - `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
        - `y` integer, required
        - `w` integer, required
        - `h` integer, required
      - `grokPostId` string — Grok post ID associated with the media.
      - `graphicViolence` boolean — Graphic-violence warning.
      - `height` integer — Original height.
      - `id` string — Media entity ID.
      - `indices` integer[] — 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.
      - `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
        - `contentType` string, required
        - `url` string, required
      - `watchNowUrl` string — Public media action URL.
      - `visitSiteUrl` string — Public destination URL.
      - `width` integer — Original width.
    - `bookmarkCount` integer
    - `likeCount` integer
    - `quoteCount` integer
    - `replyCount` integer
    - `retweetCount` integer
    - `viewCount` integer
    - `enrichmentData` PublicMetadata — Public metadata whose fields are defined by X.
  - `hasMore` boolean, required
  - `pollAfterMs` integer, required
  - `waitUrl` string, required
  - `nextCursor` string

## Other responses

- `400` — Invalid input
- `401` — Unauthenticated
- `404` — Not found
- `429` — Xquik tier rate limit exceeded. The response includes a `Retry-After` header with the number of seconds to wait before retrying.
- `default` — Unexpected error.

## Changes

- **2026-09-01** `a7c412e112e8` — 1 info
  - added the optional property `results/items/media` to the response with the `200` status
- **2026-08-31** `73f46a2af801` — 1 breaking
  - for the `query` request parameter `limit`, default value was changed from `1000` to `100`
- **2026-08-28** `f23b15f4dac2` — 3 warning
  - added the new `deadline_reached` enum value to the `job/completionReason` response property for the response status `200`
  - added the new `pagination_safety_limit` enum value to the `job/completionReason` response property for the response status `200`
  - added the new `partial_failure` enum value to the `job/completionReason` response property for the response status `200`
- **2026-08-25** `21827353271b` — 22 info
  - added the new optional `query` request parameter `wait`
  - added the optional property `results/items/bookmarkCount` to the response with the `200` status
  - added the optional property `results/items/enrichmentData` to the response with the `200` status
  - added the optional property `results/items/likeCount` to the response with the `200` status
  - …18 more
- **2026-08-24** `d6cb34aefa9f` — 1 breaking
  - for the `query` request parameter `limit`, default value was changed from `10` to `1000`

[Full history](https://skmtc.dev/xquik-dev/apis/xquik-api-2/changes/api/v1/extractions/:id/get.md)

---

[API](https://skmtc.dev/xquik-dev/apis/xquik-api-2.md) · [All operations](https://skmtc.dev/xquik-dev/apis/xquik-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xquik-dev/xquik-api-2/revisions/a7c412e112e8/schema)
