MakerWorld API Guide: Modell-Detail-, Sammlungs- & Such-Endpunkte (2026)
Gibt es eine öffentliche MakerWorld API?
Kurze Antwort: keine offizielle. MakerWorld veröffentlicht keine API mit Schlüsseln, Kontingenten oder Dokumentation. Was existiert — und worauf sich jedes Drittanbieter-Tool, einschließlich dieser Plattform, stützt — sind die internen JSON-Endpunkte, die MakerWorlds eigene Web-App und Bambu Handy aufrufen.
Dieser Guide dokumentiert die beiden Endpunkte, die in der Produktion von MakerWorld Estimator genutzt werden, die Antwortfelder, auf die du dich verlassen kannst, und die Suchpfade, die für Entwickler tatsächlich funktionieren. Behandle alles hier als undokumentiert, aber beobachtbar: Endpunkte können sich ohne Ankündigung ändern, also cache immer und degradiere sauber.
Endpunkt 1: Modell-Detail
GET https://makerworld.com/api/v1/design-service/design/{modelId}?handle=en
Die modelId ist die Zahl in jeder Modell-URL:
https://makerworld.com/en/models/1717122-statue-of-liberty
└── modelId = 1717122
Eine minimale curl-Anfrage sieht so aus:
curl 'https://makerworld.com/api/v1/design-service/design/1717122?handle=en' \
-H 'accept: application/json, text/plain, */*' \
-H 'referer: https://makerworld.com/' \
-H 'origin: https://makerworld.com' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36'
Antwortfelder, die man kennen sollte
| Feld | Typ | Bedeutung |
|---|---|---|
title |
string | Modellname |
coverUrl |
string | URL des Titelbilds |
defaultInstanceId |
number | ID des Standard-Druckprofils |
instances |
array | Alle Druckprofile (siehe unten) |
creator.name / creator.avatar |
string | Identität des Designers |
likeCount, downloadCount, printCount |
number | Engagement-Statistiken |
license |
string | Lizenz-Tag (CC BY, Standard Digital File License, …) |
needAms |
boolean | Ob Mehrfarb-/3D Printing Glossary">AMS-Druck erforderlich ist |
ratingScore |
number | Durchschnittsbewertung |
description |
string | Modellbeschreibung (kann HTML enthalten) |
Das instances[]-Array
Jede Instanz ist ein Druckprofil — die nützliche Einheit für die Kostenschätzung:
| Feld | Typ | Bedeutung |
|---|---|---|
id |
number | Profil-ID (#profileId-XXXX in URLs) |
title |
string | Profilname |
prediction |
number | Druckzeit in Sekunden (durch 3600 teilen für Stunden) |
weight |
number | Gesamtes Filamentgewicht in Gramm |
cover |
string | Profilbild |
instanceFilaments |
array | [{ type, color, usedG, usedM }] pro Filament |
extention.modelInfo.plates |
array | Aufschlüsselung pro Platte: { index, name, thumbnail, prediction, weight, filaments } |
Das plates-Array ermöglicht die Kalkulation pro Platte — Plattenanzahl, Plattgewichte, Platt-Druckzeiten und Farben pro Platte. Wenn plates fehlt, falle auf die Summen auf Profilebene zurück.
Endpunkt 2: Sammlungen (Favoriten)
GET https://makerworld.com/api/v1/design-service/favorites/{collectionId}?handle=en
Die Sammlungs-ID ist die Zahl in einer Sammlungs-URL:
https://makerworld.com/en/collections/27910720-large-prints
└── collectionId = 27910720
Dieser Endpunkt gibt Sammlungs-Metadaten zurück (Name, Ersteller, Beschreibung, Titelbild) plus die darin enthaltene Designliste. Er ist die Grundlage für die Batch-Schätzung — einmal abrufen, dann jedes Design mit dem Modell-Detail-Endpunkt auflösen (oder gecachte Daten wiederverwenden).
Unser eigener Batch-Flow ist im Sammlungspreis-Guide dokumentiert; das API-seitige Äquivalent ist GET /api/scrape/collection?url={collectionUrl} auf der Estimator-API.
Suche: Was stattdessen funktioniert
Die Abfrage „MakerWorld search models endpoint“ impliziert eine öffentliche Such-API. Es gibt keine dokumentierte. Die Suche der Site ist ein interner Aufruf, den MakerWorlds eigene Clients nutzen, ohne veröffentlichten Vertrag.
Für die programmatische Suche nutze Pfade, die stabil und innerhalb der Bedingungen sind:
- Estimator-Verzeichnissuche —
GET /api/models?q={query}&sort={sort}&page={n}gibt bereits gecachte Modelle mit vorberechneten Kosten zurück. Schnell, dokumentiert und cache-freundlich. Siehe die API-Referenz. - MCP
list_models— derselbe Katalog für KI-Agenten über den MCP-Server. - Dein eigener Index — wenn du den vollen MakerWorld-Katalog brauchst, baue ihn aus Modell-IDs auf, die du legitim sammelst (deine eigenen Uploads, öffentliche Links, die deine Nutzer bereitstellen) und cache aggressiv.
Vermeide es, die internen Such-Endpunkte zu überlasten: Sie sind undokumentiert, in der Praxis ratenbegrenzt und fragil.
Zuverlässigkeit, Header und Etikette
- Sende browserähnliche Header.
Referer,Origin,acceptund ein echteruser-agentsind wichtig. Einige Umgebungen werden fingerprinted und von Cloudflare unabhängig davon blockiert — der lokale Dev-Server dieser Plattform fällt aus genau diesem Grund sogar aufcurlzurück. - Wiederhole mit Backoff. Behandle
403,429und5xxmit mindestens einem verzögerten Retry; exponentielles Backoff ist besser. - Cache alles. Modelldaten ändern sich selten. Unser Produktionscache speichert Zeilen pro Profil und bedient wiederholte Anfragen aus Speicher/Datenbank; eine sinnvolle TTL ist Tage, nicht Minuten.
- Timeout hart. 10-sekündige Request-Timeouts verhindern, dass ein hängender Upstream deine Worker blockiert.
- Sei ein guter Bürger. Kein Massen-Crawling von Nutzerprofilen oder Suchseiten; rufe nur ab, was für eine nutzerinitiierte Aktion nötig ist.
API-Daten in Kosten verwandeln
Rohe Gramm und Sekunden werden mit einem Preismodell zu Geld — Filamentsatz pro Gramm, Maschinensatz pro Stunde, Rüstung pro Platte, Purge-Gebühren für Mehrfarbdruck und Marge. Genau das berechnet diese Plattform:
- REST:
GET /api/scrape?url={makerworld_url}gibt das Modell plus eine vollständige Kostenaufschlüsselung zurück (Referenz). - MCP: Das Tool
scrape_modeltut dasselbe für KI-Agenten (Setup). - Browser: Füge jede MakerWorld-URL in den Rechner ein für das Ergebnis Platte für Platte.
- Lizenzierung: Prüfe das
license-Feld gegen die Lizenzreferenz, bevor du kommerzielle Arbeit anbietest.
Die vollständige feldgenaue Dokumentation unserer API (Parameter, Antworten, Auth, Credits) findest du unter /api, mit der maschinenlesbaren Spezifikation unter /openapi.yaml.