Cults3D APIcults3d.com ↗
Access 3D printable models, creator profiles, categories, and engagement data from Cults3D via a structured JSON API. Search, filter, and browse listings.
What is the Cults3D API?
The Cults3D API provides access to the Cults3D marketplace through 5 endpoints covering model search, detailed creation metadata, creator profiles, category listings, and batch browsing. The search_creations endpoint accepts keyword queries and returns creation objects with pricing, publication date, like counts, and category data. Whether you need to index free models, track designer output, or filter editor's picks by category, the endpoints expose the fields required to do it.
curl -X GET 'https://api.parse.bot/scraper/169fdf69-3188-4e01-aaa1-3911b5753c25/search_creations?limit=5&query=dragon&offset=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace cults3d-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.cults3d_api import Cults3D, Sort, Creation, CreationSummary, Creator, Category
cults = Cults3D()
# List all categories
for category in cults.categories.list():
print(category.name, category.slug)
# Search for creations by keyword
for creation in cults.creations.search(query="dragon", limit=5):
print(creation.name, creation.slug, creation.likes_count, creation.price.formatted)
# Get full details for a specific creation
detail = cults.creations.get(slug="dragon-theminitednews-3")
print(detail.name, detail.description, detail.downloads_count)
print(detail.license.name, detail.tags)
# Navigate from a creation to its creator's full profile
creator = detail.creator.details()
print(creator.nick, creator.followers_count, creator.creations_count)
for c in creator.creations:
print(c.name, c.price.value)
# Browse creations sorted by downloads with filtering
for item in cults.creationsummaries.browse(sort=Sort.BY_DOWNLOADS, only_free=True, limit=3):
print(item.name, item.views_count, item.downloads_count, item.category.name)
Full-text search over all 3D models on the platform. Matches against creation names, descriptions, and tags. Returns results sorted by relevance. Each result includes basic metadata (name, slug, price, creator, category, stats). Use the slug from results to fetch full details via get_creation_detail.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results to return (max 100). |
| queryrequired | string | Search keyword (e.g. 'dragon', 'vase', 'miniature'). |
{
"type": "object",
"fields": {
"total": "integer total number of matching creations",
"results": "array of creation objects with name, slug, url, description, price, publishedAt, illustrationImageUrl, creator, category, likesCount, viewsCount, downloadsCount"
},
"sample": {
"data": {
"total": 70188,
"results": [
{
"url": "https://cults3d.com/en/3d-model/game/dragon-theminitednews-3",
"name": "Dragon",
"slug": "dragon-theminitednews-3",
"price": {
"value": 0,
"currency": "EUR",
"formatted": "€ 0"
},
"creator": {
"nick": "WowManRandoManEatPeople"
},
"category": {
"name": "Game",
"slug": "game"
},
"likesCount": 66,
"viewsCount": 19282,
"description": "#TABLETOPXLYCHEE",
"publishedAt": "2025-01-10T00:48:00Z",
"downloadsCount": 2500,
"illustrationImageUrl": "https://images.cults3d.com/example.png"
}
]
},
"status": "success"
}
}About the Cults3D API
What the API Covers
The API exposes five endpoints against the Cults3D 3D model marketplace. search_creations accepts a query string plus optional limit and offset parameters and returns a total count alongside an array of creation objects — each including name, slug, url, description, price, publishedAt, illustrationImageUrl, creator, category, and likesCount. This is the right starting point for keyword-driven discovery. The slug values in those results feed directly into get_creation_detail.
Creation Detail and Creator Profiles
get_creation_detail takes a slug and returns the full record for a single model: tags, license (with name and code), makes (community prints, each with its own creator and image), price broken into formatted, value, and currency fields, and a details string for printing notes. get_creator_profile takes a creator's nick and returns their bio, followersCount, followeesCount, creationsCount, and an array of their 10 most recent creations with name, slug, price, and thumbnail.
Batch Browsing and Categories
get_creations_batch is the primary listing endpoint. It supports sort (BY_PUBLICATION or BY_POPULARITY), only_free, only_priced, selected (editor's picks), category_slug, limit, and offset. Results include viewsCount and likesCount alongside the standard creation fields. get_categories takes no inputs and returns the full list of top-level category objects — each with a name and slug — suitable for populating a filter UI or iterating over the taxonomy systematically.
The Cults3D API is a managed, monitored endpoint for cults3d.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cults3d.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official cults3d.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a 3D model search engine filtered by category slug and sorted by popularity using
get_creations_batch - Track designer activity by polling
get_creator_profilefor follower count and recent creation arrays - Aggregate free model listings across categories using the
only_freefilter inget_creations_batch - Collect license metadata from
get_creation_detailto flag models safe for commercial remixing - Index editor's picks by setting
selected: trueinget_creations_batchfor curated model feeds - Display community makes (real-world prints) for a model using the
makesarray fromget_creation_detail - Map the full Cults3D category tree by calling
get_categoriesand iterating slugs into downstream queries
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Cults3D have an official developer API?+
What does `get_creation_detail` return beyond what `search_creations` provides?+
get_creation_detail adds fields not present in search results: tags (array of strings), license (with name and code), a details string for printing notes, and a makes array listing community prints of that model — each with its own creator nick, description, and image URL.Can I retrieve all creations by a specific creator, not just the 10 most recent?+
get_creator_profile returns up to 10 recent creations and a creationsCount integer showing the total. Full paginated access to a creator's complete catalog is not currently covered. You can fork this API on Parse and revise it to add a creator-scoped listing endpoint.Does the API expose download counts for models?+
likesCount and viewsCount as engagement signals, but download counts are not currently exposed. You can fork this API on Parse and revise it to add that field if it becomes available in the source data.How does pagination work across endpoints?+
search_creations and get_creations_batch both accept offset and limit integer parameters, and each response includes a total field so you can calculate the number of pages. get_creator_profile does not support pagination — it always returns the 10 most recent creations for that creator.