TurboSquid APIturbosquid.com ↗
Access TurboSquid's 3D model marketplace via API. Search models and textures, get polygon counts, file formats, pricing, and free model listings.
What is the TurboSquid API?
The TurboSquid API covers 5 endpoints for searching and inspecting assets from TurboSquid's 3D model marketplace. The get_model_details endpoint returns per-model technical specs including polygon count, vertex count, geometry type, available file formats, and materials info. Companion endpoints handle keyword search across paid models, textures, and free models, plus a category listing for browsing by asset type.
curl -X GET 'https://api.parse.bot/scraper/e8180ba5-6b95-4c95-8770-2243e7d43e38/search_models?page=1&query=car&category=vehicles' \ -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 turbosquid-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.turbosquid_api import TurboSquid, ModelSummary
ts = TurboSquid()
# List available categories
for cat in ts.categories.list():
print(cat.name, cat.slug)
# Search for 3D models
for model in ts.modelsummaries.search(query="sports car"):
print(model.title, model.sku, model.price, model.url)
# Drill into full detail for each model
detail = model.details()
print(detail.title, detail.formats, detail.polygons, detail.geometry)
# Search for free models
for free_model in ts.modelsummaries.free(query="box"):
print(free_model.title, free_model.sku, free_model.thumbnail)
# Search textures
for texture in ts.textures.search(query="wood"):
print(texture.title, texture.price, texture.url)
# Direct model lookup by SKU
car_model = ts.models.get(sku="1244267")
print(car_model.title, car_model.price, car_model.formats, car_model.materials)
Search for 3D models on TurboSquid by keyword. Returns paginated results with model title, SKU, price, URL, and thumbnail. Results are ordered by relevance. Each page returns up to 50 items.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| query | string | Search keyword for 3D models. |
{
"type": "object",
"fields": {
"items": "array of model objects with keys: title, product_id, sku, url, price, thumbnail",
"total": "integer total number of results returned on this page"
},
"sample": {
"data": {
"items": [
{
"sku": "1244267",
"url": "https://www.turbosquid.com/3d-models/3d-cars-games-model-1244267",
"price": "199",
"title": "Complete Vehicle Pack EA",
"thumbnail": "https://p.turbosquid.com/ts-thumb/Uh/1oSPAM/B1/00/jpg/1759354305/300x300/sharp_fit_q85/e983ca791560928f632d69e1bb2bb09e827aa051/00.jpg",
"product_id": "1694388027972912901"
}
],
"total": 50
},
"status": "success"
}
}About the TurboSquid API
Search and Browse Endpoints
The search_models endpoint accepts a query string and optional page integer, returning up to 50 results per page. Each item in the items array includes title, product_id, sku, url, price, and thumbnail. The total field reflects how many results were returned on the current page. The search_textures endpoint works the same way but scopes results to texture assets. The get_free_models endpoint also accepts query and page but filters to free assets and returns up to 96 items per page.
Model Detail Specs
get_model_details accepts either a product_sku (the trailing numeric segment from a product URL, e.g. 1244267) or a full product_url. The response exposes the technical fields that matter for pipeline compatibility: formats (array of available file format strings), geometry (geometry type), polygons, and vertices (both returned as descriptive strings). It also returns materials, price, title, sku, and url.
Categories
The list_categories endpoint takes no inputs and returns a static categories array. Each element contains a name and slug suitable for constructing browse URLs or filtering queries. This is useful for enumerating the top-level asset taxonomy without running a search.
The TurboSquid API is a managed, monitored endpoint for turbosquid.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when turbosquid.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 turbosquid.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?+
- Check file format availability (e.g. FBX, OBJ, GLTF) for a batch of models before purchasing, using
formatsfromget_model_details. - Build a price-comparison tool across 3D asset categories by querying
search_modelsand extracting thepricefield. - Populate a free-asset library by programmatically paginating through
get_free_modelsresults filtered by keyword. - Automate polygon-count validation for game-ready assets by pulling
polygonsandverticesfromget_model_details. - Generate a taxonomy-aware browsing interface using category names and slugs from
list_categories. - Monitor new texture listings in a specific niche by regularly querying
search_textureswith a relevant keyword. - Build a dataset of SKUs, titles, and thumbnail URLs for a 3D asset recommendation or tagging system.
| 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 TurboSquid have an official developer API?+
What technical fields does `get_model_details` return, and how granular are they?+
get_model_details returns polygons, vertices, geometry, formats, and materials alongside price, title, sku, and url. The polygon and vertex counts are returned as descriptive strings (e.g. '12,450') rather than integers, so you may want to parse them before numeric comparisons. You can supply either a product_sku or a full product_url — you do not need both.Can I filter `search_models` results by price range, file format, or polygon count?+
search_models endpoint accepts only a query keyword and a page number. Server-side filtering by price range or format is not currently exposed. The API returns price and sku per item, so client-side filtering is possible, and you can call get_model_details per SKU for format data. You can fork this API on Parse and revise it to add format or price filter parameters if needed.Are user reviews or ratings available for individual models?+
How does pagination work, and is there a way to know the total number of results across all pages?+
search_models, search_textures, and get_free_models endpoints all return a total field, but this reflects the count of items returned on the current page, not the global result count for the query. Use the page parameter to step through subsequent pages. search_models and search_textures return up to 50 items per page; get_free_models returns up to 96.