MyMiniFactory APImyminifactory.com ↗
Access MyMiniFactory data via API: search 3D models, get object details, comments, categories, user profiles, trending designs, and Tribes posts.
What is the MyMiniFactory API?
The MyMiniFactory API exposes 8 endpoints covering 3D printable model data from MyMiniFactory.com, including search, full object details, comments, user profiles, and trending rankings. The search_objects endpoint lets you query by keyword and sort by relevance or popularity, returning paginated results with fields like id, name, views, likes, tags, and categories per item. The get_trending_objects endpoint delivers the current trending list without requiring a query string.
curl -X GET 'https://api.parse.bot/scraper/87aed83d-810e-4622-8d01-76452fb99476/search_objects?page=1&query=dragon&sort_by=relevance&per_page=5' \ -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 myminifactory-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.
"""MyMiniFactory SDK — search 3D models, explore creators, browse categories and tribes."""
from parse_apis.myminifactory_api import MyMiniFactory, Sort, NotFoundError_
client = MyMiniFactory()
# Search for dragon models sorted by relevance, capped at 5 total items.
for model in client.models.search(query="dragon", sort_by=Sort.RELEVANCE, limit=5):
print(model.name, model.views, model.likes)
# Fetch full details for a single model by ID.
detail = client.models.get(object_id="443150")
print(detail.name, detail.description, detail.tags)
# Look up a creator and list their uploaded models.
user = client.users.get(username="CraftyKid3D")
print(user.name, user.object_count, user.followers)
for m in user.models.list(limit=3):
print(m.name, m.views)
# Browse top-level categories in one fetch.
for cat in client.categories.list(limit=5):
print(cat.name, cat.slug)
# Typed error handling for a non-existent user.
try:
client.users.get(username="nonexistent_user_xyz_99999")
except NotFoundError_ as exc:
print(f"expected error: {exc}")
# Recent tribe posts from creators.
for post in client.tribeposts.list(limit=3):
print(post.title, post.username, post.published_at)
print("exercised: models.search / models.get / users.get / user.models.list / categories.list / tribeposts.list")
Full-text search over 3D printable models. query matches object names, descriptions, and tags. Results are paginated and sortable. Omitting query returns all public objects. Each result is a summary; use get_object for full details including file info and prints.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| query | string | Search keyword (e.g. 'dragon', 'miniature'). Omitting returns all objects. |
| sort_by | string | Sort order for results. |
| per_page | integer | Number of results per page. |
{
"type": "object",
"fields": {
"items": "array of object summaries with id, url, name, description, images, views, likes, tags, categories",
"total_count": "integer total number of matching results"
},
"sample": {
"data": {
"items": [
{
"id": 443150,
"url": "https://www.myminifactory.com/object/3d-print-articulated-thorny-dragon-flexi-thorny-dragon-443150",
"name": "Articulated Thorny Dragon | Flexi Thorny Dragon",
"tags": [
"stl",
"creature",
"dragon"
],
"likes": 12,
"views": 5933,
"images": [
{
"id": 2303309,
"thumbnail": {
"url": "https://dl2.myminifactory.com/object-assets/67607245353b06.42418695/images/230X230-Thorny Dragon Remb Studios 6.png",
"width": 230,
"height": 230
},
"is_primary": true
}
],
"categories": {
"items": [
{
"id": 60,
"name": "Toys & Games",
"slug": "toys-and-games"
}
],
"total_count": 3
}
}
],
"total_count": 59428
},
"status": "success"
}
}About the MyMiniFactory API
Object Search and Detail
The search_objects endpoint accepts a query string, a sort_by value (relevance, popularity, date, or trending), and page/per_page pagination controls. It returns an items array of object summaries and a total_count integer. Note that sort_by values of trending and date may return empty items when combined with a search query — relevance and popularity are the safe choices when filtering by keyword. For full detail on a single model, get_object takes a numeric object_id and returns richer fields including a description, multiple image size variants in the images array, and a nested categories object.
Users and Collections
The get_user endpoint returns a public profile by username, exposing fields like bio, followers, objects (count of uploaded models), views, and a social_networks items array. To enumerate a specific designer's uploads, get_user_objects accepts the same username plus page and per_page, returning the same object summary shape as search results. Both endpoints return input_not_found for non-existent usernames.
Comments, Categories, and Tribes
get_object_comments retrieves paginated comments for any model, with each comment item carrying the comment text, date_posted, a user info block, and a likes count. Many objects have zero comments, so total_count of 0 is a normal response. list_categories returns the full category tree in one unpaginated response — each category object includes id, name, slug, url, and a children array for nested subcategories. The list_tribes endpoint returns paginated creator subscription posts with fields title, body (HTML), tags, username, publishedAt, and coverImageUrl. Unlike other endpoints, list_tribes does not include a total_count.
The MyMiniFactory API is a managed, monitored endpoint for myminifactory.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when myminifactory.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 myminifactory.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 print discovery app that surfaces trending models via
get_trending_objectssorted by trending score. - Index a searchable catalog of printable miniatures by querying
search_objectswith keywords like 'miniature' or 'dragon'. - Display a designer's full portfolio by combining
get_userprofile data with theirget_user_objectsuploads. - Aggregate community engagement data by collecting
likesandviewsfields across model listings. - Map the full MyMiniFactory category taxonomy using
list_categoriesto build a nested browse UI. - Monitor Tribes creator posts for new content releases using
list_tribeswith pagination. - Enrich a 3D model database with tags, image variants, and category metadata from
get_object.
| 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 MyMiniFactory have an official developer API?+
What does `search_objects` return, and which sort options work reliably?+
search_objects returns an items array of object summaries — each with id, name, url, description, images, views, likes, tags, and categories — plus a total_count. When combining a query string with sort_by, only relevance and popularity reliably return results. The trending and date sort values may return an empty items array when a query is also supplied.Does the API expose download files or print-ready STL links for 3D models?+
images, tags, categories, views, and likes, but does not expose direct file download URLs or STL asset links. You can fork this API on Parse and revise it to add an endpoint that retrieves file data for a given object ID.Are there any quirks to the `list_tribes` endpoint compared to others?+
list_tribes does not return a total_count field, unlike every other paginated endpoint in this API. It returns an array of post objects with title, body (HTML content), tags, username, publishedAt, and coverImageUrl. The coverImageUrl field may be an empty string if no cover image is set for a post.