Blooket Link Maker API

by mini_worthy2 · affiliated by DuckMath

Public, no auth required. CORS is open, so you can call it from any origin.

POST /api/public/upload

Send multipart/form-data. Each copy is an independent Blooket CDN upload yielding 1 fresh link.

Fields

  • file — required. Max 25 MB.
  • copies — optional integer 1–4000 (default 1). Number of independent Blooket uploads.
  • directory — optional string (default uploads). Letters, numbers, . - _ /

Request

curl -X POST https://jacorn.is.sped.dumb.today/api/public/upload \
  -F "file=@photo.png" \
  -F "copies=3"

Response 200

{
  "ok": true,
  "file": { "name": "photo.png", "size": 20481, "contentType": "image/png" },
  "copies": 3,
  "count": 3,
  "mirrors": [
    { "label": "Blooket #1", "url": "https://..." },
    { "label": "Blooket #2", "url": "https://..." }
  ],
  "errors": {}
}

Errors

  • 400 — missing file or invalid directory.
  • 413 — file larger than 25 MB.
  • 502 — every mirror upload failed; see errors.

Partial failures still return 200 with the mirrors that succeeded and an errors map.

JavaScript

const form = new FormData();
form.set("file", file);
form.set("copies", "5");

const res = await fetch("/api/public/upload", { method: "POST", body: form });
const { mirrors, count } = await res.json();