MakerWorld API — Full Model Detail & Print Profiles
Documentation menu
FetchLayer FetchLayer API

Get one model in full

Read everything MakerWorld publishes about a single model: description, designer, license and remix permission, categories and tags, popularity counts, the file manifest with types and sizes, gallery images and renders, remix lineage, contest placement, and each published print profile with its printer, nozzle size, estimated print time, filament use and rating.

POST /model-detail Models
https://api.fetchlayer.dev/makerworld/model-detail
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

model string required

Model id, or a MakerWorld model URL.

printProfileLimit number optional

Maximum print profiles to include (max 200), or -1 for all of them. (default: 20)

timeoutMs number optional

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

format string optional

json or markdown. (default: json)

Response Fields

model-detail

Get one model in full

modelId string

The resolved model id.

model object

The full model record.

model.description string

The model description, as HTML.

model.license string

License code, with model.allowsRemixing and model.licenseNote alongside it.

model.categories object[]

Categories the model sits in, with their ids.

model.files object[]

The file manifest: name, type (3mf, stl…), sizeBytes and updatedAt.

model.images object[]

Gallery images and renders, with URLs you can stream through GET /media.

model.printProfiles object[]

Published print profiles: printer model, nozzle diameter, layer height, wall loops, infill, plate count, AMS requirement, print time, filament grams and rating.

model.printProfileCount number

How many profiles exist, which can exceed the number returned when printProfileLimit truncates the list.

model.originals object[]

Remix lineage — the models this one was derived from.

model.contest object

Contest entry and placement, when the model was entered in one.

model.stats object

Downloads, likes, collections, prints, comments, shares and boosts.

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/model-detail" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"https://makerworld.com/en/models/412809-under-desk-cable-tray","printProfileLimit":20}'

Response

{
  "modelId": "412809",
  "notes": [
    "Print profile list truncated at 20 of 34."
  ],
  "model": {
    "title": "Under-desk cable tray",
    "license": "CC0",
    "allowsRemixing": true,
    "fileCount": 3,
    "printProfileCount": 34,
    "printProfiles": [
      {
        "title": "0.4mm nozzle, 0.2mm layer",
        "printerModel": "Bambu Lab P1S",
        "printTimeSeconds": 9420,
        "filamentGrams": 61.4,
        "ratingScore": 4.8
      }
    ]
  }
}