Printables API — List 3D Design Contests
Documentation menu
FetchLayer FetchLayer API

List design contests

The Printables design contests, each with its id, name, slug, URL, rules and prize list as authored by the organiser, and entry count. Contests are where Prusa points the community for a month at a time, so the entry counts are a clean read on what themes pull makers in. The ids returned here are what /contest-detail takes.

POST /contests Contests
https://api.fetchlayer.dev/printables/contests
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

format string optional

json, or markdown to get the result rendered as text. (default: json)

timeoutMs number optional

Per-request time limit in milliseconds (max 600000).

Response Fields

contests

List design contests

contests object[]

The design contests.

contests[].id string

Contest id — the handle for /contest-detail.

contests[].name string | null

Contest name.

contests[].url string

Public contest permalink.

contests[].descriptionHtml string | null

Rules and prize list, as authored by the organiser.

contests[].entryCount number | null

Models entered into the contest.

contestCount number

Contests in this response.

notes string[]

Caveats about this specific result — a truncated walk, a listing that may be incomplete, an upstream limit. Read it before treating a result set as complete.

requestedUrl string

The Printables page this result corresponds to.

scrapedAt string

ISO 8601 timestamp of when the data was collected.

resultType string

Which shape this response is, e.g. model-search or contest-detail.

blocked boolean

Always false on a successful response.

Request

curl -X POST "https://api.fetchlayer.dev/printables/contests" \
  -H "Authorization: Bearer ss-your-key"

Response

{
  "resultType": "contests",
  "contestCount": 42,
  "notes": [],
  "contests": [
    {
      "id": "312",
      "name": "Kitchen Helpers",
      "url": "https://www.printables.com/contest/312-kitchen-helpers",
      "entryCount": 486
    }
  ]
}