sketchfab.com APIsketchfab.com ↗
Access Sketchfab's 3D model catalog via API. Search models by category, license, and tags. Retrieve metadata, thumbnails, user profiles, and collections.
curl -X GET 'https://api.parse.bot/scraper/7958d03f-bece-4819-bd6f-8b0ad71f3158/search_models?limit=3&query=robot' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for 3D models on Sketchfab with various filters including category, license, animation, staff picks, and downloadability. Returns paginated results with cursor-based pagination.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of results per page (max 24). |
| query | string | Search keyword to filter models by name or description. |
| cursor | string | Pagination cursor from a previous response's cursors.next value. |
| license | string | Filter by license slug: 'by', 'by-sa', 'by-nd', 'by-nc', 'by-nc-sa', 'by-nc-nd', 'cc0', 'free-st', 'st', 'ed'. |
| sort_by | string | Sort order: '-likeCount', '-viewCount', '-createdAt', '-publishedAt'. |
| animated | boolean | Filter for animated models only. |
| categories | string | Filter by category slug (e.g. 'animals-pets', 'architecture', 'characters'). |
| staffpicked | boolean | Filter for staff-picked models only. |
| downloadable | boolean | Filter for downloadable models only. |
{
"type": "object",
"fields": {
"next": "string URL for the next page or null",
"cursors": "object with next and previous cursor strings for pagination",
"results": "array of model summary objects with uid, name, viewCount, likeCount, thumbnails, user, etc.",
"previous": "string URL for the previous page or null"
},
"sample": {
"data": {
"next": "https://api.sketchfab.com/v3/models?count=3&cursor=bz0z&q=robot",
"cursors": {
"next": "bz0z",
"previous": null
},
"results": [
{
"uid": "9006d26492f44177b4151ce18a4a506c",
"name": "W54 Qty 1",
"user": {
"uid": "2198d6e53bdb46fabbc1e9e566e69561",
"username": "balakrishna.t"
},
"faceCount": 876,
"likeCount": 0,
"viewCount": 8,
"thumbnails": {
"images": [
{
"uid": "368425b6b7a6453da2cc41a08e9963ab",
"url": "https://media.sketchfab.com/models/9006d26492f44177b4151ce18a4a506c/thumbnails/00a06ca9f753413fbb2030ed987671d6/1d188160aa094a00affa0fd5a376b1d4.jpeg",
"width": 1920,
"height": 1080
}
]
},
"vertexCount": 424,
"isDownloadable": false
}
],
"previous": null
},
"status": "success"
}
}About the sketchfab.com API
This API provides 12 endpoints covering Sketchfab's public 3D model catalog, from keyword search to detailed model metadata. Use search_models to filter by category, license, animation status, or staff-pick flag, and get_model to retrieve geometry stats like faceCount, tag arrays, creator info, and license details for any specific model UID. User profiles, collections, tags, and viewer configuration options are also accessible.
Search and Filter 3D Models
The search_models endpoint accepts up to eight parameters including query, categories, license, animated, and staffpicked. Results are paginated using cursor-based pagination — the cursors.next value from one response feeds into the cursor parameter of the next call. Each result object includes uid, name, viewCount, likeCount, thumbnails, and a user summary. Sort order is controlled via sort_by with options including -likeCount, -viewCount, and -createdAt. Maximum page size is 24 results.
Model Detail and Viewer Options
get_model returns a full metadata record for a model UID: geometry stats (faceCount), full tags and categories arrays, license object, and nested thumbnails. For 3D viewer integration, get_model_3d_options returns scene-level configuration including camera position and constraints, lighting with a light configuration array, shading renderer settings, and per-material materials channel definitions. Response shape varies per model since many of these fields are optional.
Users and Collections
get_user_profile returns a user's biography, skills, followerCount, modelCount, and avatar image URLs given a UID or username string. get_user_models and get_collections both support cursor-based pagination and filter results to a single username. get_collection_models then lists the models inside any collection UID returned by get_collections.
Reference Lookups
list_categories returns the complete set of category objects with slug values usable directly in search_models. get_licenses returns all license types with slug, label, fullName, requirements, and a link URL. list_tags returns tag records with name, slug, and uri, ordered by most recently created.
- Build a 3D asset discovery tool filtered by license type (e.g. CC0) for commercial reuse workflows
- Aggregate staff-picked models by category to populate a curated gallery or newsletter
- Retrieve faceCount and geometry metadata to pre-screen models before importing into a pipeline
- Map user profiles with followerCount and modelCount to identify prolific creators in a niche
- Enumerate all models in a collection to synchronize a local asset library with a Sketchfab curator's picks
- Extract viewer configuration from get_model_3d_options to replicate camera and lighting presets in a custom renderer
- Index tag slugs via list_tags to power autocomplete in a 3D model search interface
| 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 | 250 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 Sketchfab have an official developer API?+
What does get_model_3d_options return, and does it vary between models?+
scene object with field-of-view and post-processing settings, a camera object with position and constraint data, lighting with an array of individual light configs, shading renderer type, and a materials map keyed by material ID. Because many fields are optional and depend on how the model was configured by its creator, the response schema is not uniform across models.Is pagination reliable across all endpoints?+
cursors.next works consistently for search_models, get_user_models, get_collections, get_collection_models, and list_tags. The get_model_comments endpoint documents that cursor pagination may not be reliable and should be used with that caveat in mind.Does the API expose download URLs or 3D file data for models?+
Can I retrieve likes or followers for a specific model or user over time (historical stats)?+
get_model returns current likeCount and viewCount as point-in-time integers, and get_user_profile returns the current followerCount. No historical time-series data is exposed. You can fork this API on Parse and revise it to add periodic polling and store snapshots externally.