Skip to main content
GET
/
draws
List draws
curl --request GET \
  --url https://xquik.com/api/v1/draws \
  --header 'x-api-key: <api-key>'
import requests

url = "https://xquik.com/api/v1/draws"

headers = {"x-api-key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};

fetch('https://xquik.com/api/v1/draws', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main

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

func main() {

url := "https://xquik.com/api/v1/draws"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("x-api-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
Free - does not consume credits
curl "https://xquik.com/api/v1/draws?limit=10" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
const response = await fetch(
  "https://xquik.com/api/v1/draws?limit=10",
  {
    headers: { "x-api-key": "xq_YOUR_KEY_HERE" },
  }
);
const data = await response.json();
console.log(data);
import requests

response = requests.get(
    "https://xquik.com/api/v1/draws",
    headers={"x-api-key": "xq_YOUR_KEY_HERE"},
    params={"limit": 10},
)
data = response.json()
print(data)
package main

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

func main() {
	req, err := http.NewRequest("GET", "https://xquik.com/api/v1/draws?limit=10", 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))
}

Query parameters

limit
number
Results per page. Default 50, max 100.
after
string
Cursor for pagination. Pass the nextCursor value from a previous response to fetch the next page.

Headers

x-api-key
string
required
Your API key. This endpoint also accepts session cookie authentication.

Response

draws
array
List of draw objects ordered by creation date (newest first).
hasMore
boolean
true if additional pages exist beyond this result set.
nextCursor
string
Pagination cursor. Pass as the after query parameter to fetch the next page. Present only when hasMore is true.
{
  "draws": [
    {
      "id": "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345",
      "tweetUrl": "https://x.com/xquik/status/1893456789012345678",
      "status": "completed",
      "totalEntries": 847,
      "validEntries": 312,
      "createdAt": "2026-02-24T10:00:00.000Z",
      "drawnAt": "2026-02-24T10:05:00.000Z"
    },
    {
      "id": "9a78ce15-2f3d-4f90-a86b-1049c7a26e92",
      "tweetUrl": "https://x.com/xquik/status/1893456789012340000",
      "status": "completed",
      "totalEntries": 1240,
      "validEntries": 980,
      "createdAt": "2026-02-23T16:30:00.000Z",
      "drawnAt": "2026-02-23T16:35:00.000Z"
    }
  ],
  "hasMore": true,
  "nextCursor": "MjAyNi0wMi0yM1QxNjozMDowMC4wMDBafDY2NjY1"
}

Pagination

Draws use cursor-based pagination. Each response includes hasMore and (when true) a nextCursor value. Pass nextCursor as the after query parameter to retrieve the next page.
curl "https://xquik.com/api/v1/draws?limit=10" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
curl "https://xquik.com/api/v1/draws?limit=10&after=MjAyNi0wMi0yM1QxNjozMDowMC4wMDBafDY2NjY1" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
Continue fetching pages until hasMore is false. Cursors are opaque strings. Do not parse or construct them manually.
Related: Get Draw to retrieve full details for a specific draw · Create Draw to run a new giveaway draw.
Last modified on May 6, 2026