Get the ids the filters take
The filter vocabulary a model search needs: the category tree with each node’s path and children, the licences, the materials, the printers, and the design tools — each with the id to pass. Every id-shaped filter on /search-models and /browse-models takes an id, never a name, and an id that does not exist returns an empty result set rather than an error. There are 639 valid printer values alone, so guessing "Prusa MK4" instead of its id is the single most common way to get zero results from a query that looks correct. Call this once, cache it, and map names to ids yourself. It does not consume a credit.
/filter-values Utility https://api.fetchlayer.dev/printables/filter-values 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
filter-values
Get the ids the filters take
categories object[] The category tree. Each node carries its id, name, English name, ancestor path, depth level, and immediate children.
categories[].id string Pass as categoryId on a search or browse.
categories[].level number | null Depth in the tree; 0 is a top-level category.
licenses object[] Licences, with the ids to pass as licenseIds.
materials object[] Filaments and resins, with the ids to pass as materialIds.
printers object[] Printers a model’s sliced files can be filtered by, with id, name, family, and whether it is a Prusa machine. This is the long list — 639 values.
modelingApps object[] Design tools, with the ids to pass as modelingAppIds.
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/filter-values" \
-H "Authorization: Bearer ss-your-key"Response
{
"resultType": "taxonomy",
"notes": [],
"categories": [
{
"id": "1",
"name": "Art & design",
"nameEn": "Art & design",
"level": 0,
"children": [
{
"id": "14",
"name": "Sculptures"
}
]
}
],
"licenses": [
{
"id": "7",
"name": "CC BY-NC-SA 4.0"
}
],
"materials": [
{
"id": "1",
"name": "PLA"
}
],
"printers": [
{
"id": "287",
"name": "Original Prusa MK4",
"family": "Original Prusa",
"isPrusa": true
}
],
"modelingApps": [
{
"id": "3",
"name": "Fusion 360"
}
]
}