List design contests
Return MakerWorld's design contests — past, running and upcoming — with each one's theme, brief, start and end dates, entry and participant counts, view count, allowed licenses, remix-only flag, and which phase it is in. Filter by status, or pass `contest` to get a single one. Contests are what drive upload spikes on MakerWorld, so a running contest is the best single predictor of what is about to be published.
/contests Discovery https://api.fetchlayer.dev/makerworld/contests Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
contest string optional Return only this contest, by id or contest URL.
status string optional Return only contests in this phase: upcoming, running, judging, or finished.
limit number optional Maximum contests returned (max 200), or -1 for everything available. (default: 20)
timeoutMs number optional Per-request time limit in milliseconds (max 600000).
format string optional json or markdown. (default: json)
Response Fields
contests
List design contests
contests object[] The contests matching the filter.
contests[].contestId string Contest id — pass it back as contest to read one on its own.
contests[].theme string The contest theme, with name and contestUrl alongside it.
contests[].rules string The contest brief, as HTML.
contests[].status string upcoming, running, judging, or finished.
contests[].startsAt string Start date, with endsAt alongside it.
contests[].entryCount number Models entered.
contests[].participantCount number Distinct designers who entered.
contests[].allowedLicenses string[] Licenses an entry is allowed to carry.
contests[].isRemixOnly boolean Whether entries must be remixes.
contestCount number Number of contests in this response.
notes string[] Caveats about this specific result — a walk that stopped early, a listing MakerWorld truncated, an upstream ceiling that was hit. Read it: an empty array means the result is complete, a non-empty one means it is not.
requestedUrl string The MakerWorld page this result corresponds to.
scrapedAt string ISO timestamp of when the data was retrieved.
blocked boolean Always false on a successful response.
Request
curl -X POST "https://api.fetchlayer.dev/makerworld/contests" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"status":"running","limit":20}'Response
{
"contestCount": 3,
"notes": [],
"contests": [
{
"contestId": "188",
"name": "Desk Upgrade Contest",
"theme": "Workspace",
"status": "running",
"startsAt": "2026-09-01",
"endsAt": "2026-09-30",
"entryCount": 412,
"participantCount": 288,
"allowedLicenses": [
"CC0",
"BY"
]
}
]
}