> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xquik.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get draw

> Retrieve draw details including winners and tweet metadata

<blockquote className="agent-llms-directive">
  For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
</blockquote>

<Callout icon="circle-check" color="#16a34a">
  **Free** - does not consume credits
</Callout>

<CodeGroup>
  ```bash cURL theme={null}
  curl https://xquik.com/api/v1/draws/f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345 \
    -H "x-api-key: xq_YOUR_KEY_HERE" | jq
  ```

  ```javascript Node.js theme={null}
  const drawId = "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345";
  const response = await fetch(`https://xquik.com/api/v1/draws/${drawId}`, {
    headers: { "x-api-key": "xq_YOUR_KEY_HERE" },
  });
  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  draw_id = "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"
  response = requests.get(
      f"https://xquik.com/api/v1/draws/{draw_id}",
      headers={"x-api-key": "xq_YOUR_KEY_HERE"},
  )
  data = response.json()
  print(data)
  ```

  ```go Go theme={null}
  package main

  import (
  	"fmt"
  	"io"
  	"log"
  	"net/http"
  )

  func main() {
    drawID := "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"
  	req, err := http.NewRequest("GET", "https://xquik.com/api/v1/draws/"+drawID, nil)
  	if err != nil {
  		log.Fatal(err)
  	}
  	req.Header.Set("x-api-key", "xq_YOUR_KEY_HERE")

  	resp, err := http.DefaultClient.Do(req)
  	if err != nil {
  		log.Fatal(err)
  	}
  	defer resp.Body.Close()

  	body, err := io.ReadAll(resp.Body)
  	if err != nil {
  		log.Fatal(err)
  	}
  	fmt.Println(string(body))
  }
  ```
</CodeGroup>

## Path parameters

<ParamField path="id" type="string" required>
  The draw public ID. Returned when you [create a draw](/api-reference/draws/create) or [list draws](/api-reference/draws/list).
</ParamField>

## Headers

<ParamField header="x-api-key" type="string" required>
  Your API key. This endpoint also accepts session cookie authentication.
</ParamField>

## Response

<Tabs>
  <Tab title="200 OK">
    <ResponseField name="draw" type="object">
      Draw details including tweet metadata.

      <Expandable title="draw object">
        <ResponseField name="id" type="string">Draw public ID returned by Xquik.</ResponseField>
        <ResponseField name="tweetId" type="string">X tweet ID.</ResponseField>
        <ResponseField name="tweetUrl" type="string">Original tweet URL.</ResponseField>
        <ResponseField name="tweetText" type="string">Full text content of the tweet.</ResponseField>
        <ResponseField name="tweetAuthorUsername" type="string">Username of the tweet author.</ResponseField>
        <ResponseField name="tweetLikeCount" type="number">Like count at time of draw.</ResponseField>
        <ResponseField name="tweetRetweetCount" type="number">Retweet count at time of draw.</ResponseField>
        <ResponseField name="tweetReplyCount" type="number">Reply count at time of draw.</ResponseField>
        <ResponseField name="tweetQuoteCount" type="number">Quote tweet count at time of draw.</ResponseField>
        <ResponseField name="status" type="string">Draw status (e.g. `completed`).</ResponseField>
        <ResponseField name="totalEntries" type="number">Total replies collected.</ResponseField>
        <ResponseField name="validEntries" type="number">Entries that passed all filters.</ResponseField>
        <ResponseField name="createdAt" type="string">ISO 8601 creation timestamp.</ResponseField>
        <ResponseField name="drawnAt" type="string">ISO 8601 timestamp of when winners were selected. Present only for completed draws.</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="winners" type="array">
      Selected winners and backup winners ordered by position.

      <Expandable title="winner object">
        <ResponseField name="position" type="number">Winner position (1-indexed).</ResponseField>
        <ResponseField name="authorUsername" type="string">X username of the winner.</ResponseField>
        <ResponseField name="tweetId" type="string">Tweet ID of the winning reply.</ResponseField>
        <ResponseField name="isBackup" type="boolean">`true` if this is a backup winner.</ResponseField>
      </Expandable>
    </ResponseField>

    ```json theme={null}
    {
      "draw": {
        "id": "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345",
        "tweetId": "1893456789012345678",
        "tweetUrl": "https://x.com/xquik/status/1893456789012345678",
        "tweetText": "Giveaway time! Reply to enter. 3 winners get a free month of Xquik Pro.",
        "tweetAuthorUsername": "xquik",
        "tweetLikeCount": 2450,
        "tweetRetweetCount": 1820,
        "tweetReplyCount": 847,
        "tweetQuoteCount": 95,
        "status": "completed",
        "totalEntries": 847,
        "validEntries": 312,
        "createdAt": "2026-02-24T10:00:00.000Z",
        "drawnAt": "2026-02-24T10:05:00.000Z"
      },
      "winners": [
        {
          "position": 1,
          "authorUsername": "alice_web3",
          "tweetId": "1893456789012345700",
          "isBackup": false
        },
        {
          "position": 2,
          "authorUsername": "bob_dev",
          "tweetId": "1893456789012345701",
          "isBackup": false
        },
        {
          "position": 3,
          "authorUsername": "charlie_nft",
          "tweetId": "1893456789012345702",
          "isBackup": false
        }
      ]
    }
    ```
  </Tab>

  <Tab title="401 Unauthenticated">
    ```json theme={null}
    { "error": "unauthenticated" }
    ```

    Missing or invalid API key / session cookie.
  </Tab>

  <Tab title="404 Not Found">
    ```json theme={null}
    { "error": "not_found" }
    ```

    No draw exists with this ID, or it belongs to a different account.
  </Tab>

  <Tab title="429 Rate Limited">
    ```json theme={null}
    { "error": "rate_limit_exceeded", "message": "Too many requests. Try again later.", "retryAfter": 1 }
    ```

    Too many requests. Wait for the `Retry-After` header before retrying.
  </Tab>
</Tabs>

<Note>
  **Related:** [Export Draw](/api-reference/draws/export) to download results as CSV/XLSX/Markdown · [List Draws](/api-reference/draws/list) to see all draws · [Create Draw](/api-reference/draws/create) to run a new draw.
</Note>
