MakerWorld API — Search Curated Collections
Documentation menu
FetchLayer FetchLayer API

Search collections by keyword

Search curated MakerWorld collections by keyword, ordered by relevance or likes. Each result carries the collection owner, how many models it holds, how many likes it has, its tags and its cover image — a fast read on how the community itself is grouping models around a theme.

POST /search-collections Collections
https://api.fetchlayer.dev/makerworld/search-collections
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

query string required

Keyword or phrase to search collections for.

sortBy string optional

relevance or likes. (default: relevance)

limit number optional

Maximum collections returned (max 500), or -1 for everything available. (default: 30)

pages number optional

Requests made while collecting results. One request returns up to 100 items (max 100), or -1 for the maximum allowed. (default: 1)

cursor string optional

Resume from a previous response's nextCursor.

delayMs number optional

Milliseconds to wait between pages (max 30000).

timeoutMs number optional

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

format string optional

json or markdown. (default: json)

Response Fields

search-collections

Search collections by keyword

collections object[]

Matching collections.

collections[].collectionId string

Collection id — the handle for /collection-detail.

collections[].title string

Collection title.

collections[].modelCount number

Models in the collection, including any the owner has hidden.

collections[].likeCount number

Likes the collection has received.

collections[].owner object

The designer who curated it.

collectionCount number

Number of collections in this response.

nextCursor string

Pass back as cursor to continue, or null when the listing is exhausted.

hasNextPage boolean

Whether more results exist beyond this response.

pagesScraped number

Requests actually made. Each one counts against your plan.

totalAvailable number

Roughly how many results exist. Approximate — it varies with the ordering, drifts between identical requests, and stops rising past 10000. Use it for orientation, not as a count, and page until hasNextPage is false.

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/search-collections" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"query":"desk organisation","sortBy":"likes","limit":20}'

Response

{
  "collectionCount": 20,
  "hasNextPage": true,
  "notes": [],
  "collections": [
    {
      "collectionId": "5512",
      "title": "Desk tidy essentials",
      "modelCount": 34,
      "likeCount": 812,
      "owner": {
        "handle": "benchylab"
      }
    }
  ]
}