Skip to main content
GET
/
draws
/
{id}
/
export
Export draw
curl --request GET \
  --url https://xquik.com/api/v1/draws/{id}/export \
  --header 'x-api-key: <api-key>'
import requests

url = "https://xquik.com/api/v1/draws/{id}/export"

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/{id}/export', 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/{id}/export"

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/f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345/export?format=csv&type=winners" \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -o draw-winners-f4bd00a2.csv
const drawId = "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345";
const response = await fetch(
  `https://xquik.com/api/v1/draws/${drawId}/export?format=csv&type=winners`,
  {
    headers: { "x-api-key": "xq_YOUR_KEY_HERE" },
  }
);
const blob = await response.blob();
// Save to file or process as needed
import requests

draw_id = "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"
response = requests.get(
    f"https://xquik.com/api/v1/draws/{draw_id}/export",
    headers={"x-api-key": "xq_YOUR_KEY_HERE"},
    params={"format": "csv", "type": "winners"},
)
with open(f"draw-winners-{draw_id}.csv", "wb") as f:
    f.write(response.content)
package main

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

func main() {
  drawID := "f4bd00a2-7b4e-4e59-8e1b-72e2c9f12345"
	req, err := http.NewRequest("GET", "https://xquik.com/api/v1/draws/"+drawID+"/export?format=csv&type=winners", 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()

	file, err := os.Create("draw-winners-" + drawID + ".csv")
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	if _, err := io.Copy(file, resp.Body); err != nil {
		log.Fatal(err)
	}
}

Headers

x-api-key
string
required
Your API key. Session cookie authentication is also supported.

Path parameters

id
string
required
The draw public ID. Returned when you create a draw or list draws.

Query parameters

format
string
required
Export file format. Must be one of csv, json, md, md-document, pdf, txt, xlsx.
type
string
Data to export. winners exports the selected winners, entries exports all collected replies. Default winners.

Response

Returns a file download. The response includes a Content-Disposition header with the filename.

CSV

format=csv returns text/csv; charset=utf-8 with filenames like draw-winners-*.csv.

JSON

format=json returns application/json; charset=utf-8 with filenames like draw-winners-*.json.

Markdown

format=md returns text/markdown; charset=utf-8 with filenames like draw-winners-*.md.

Markdown document

format=md-document returns text/markdown; charset=utf-8 with filenames like draw-winners-*.md.

PDF

format=pdf returns application/pdf with filenames like draw-winners-*.pdf.

TXT

format=txt returns text/plain; charset=utf-8 with filenames like draw-winners-*.txt.

XLSX

format=xlsx returns application/vnd.openxmlformats-officedocument.spreadsheetml.sheet with filenames like draw-winners-*.xlsx.
Entry exports use the same suffix pattern with draw-entries-* filenames.Winner export columns: Position, Username, Text, BackupEntry export columns: Username, Text, Passed Filter, LanguageEntry exports are capped at 100,000 rows (10,000 for PDF).
Next steps: Get Draw to retrieve draw details and winners as JSON · List Draws to find draw IDs.
Last modified on May 13, 2026