Thingiverse 3D Model Scraper
Pricing
from $10.00 / 1,000 results
Go to Apify Store
Thingiverse 3D Model Scraper
Scrape 3D printable models from Thingiverse. Extract names, creators, likes, downloads, comments, tags, files, license info and more. Search by keyword or provide direct thing URLs.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
lulz bot
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape 3D printable models from Thingiverse, the world's largest 3D printing model database. Extract model names, creators, likes, comments, descriptions, tags, files, license information, and more.
Features
- Search by keyword -- Find models matching your search terms (e.g., "raspberry pi case", "phone stand")
- Direct URLs -- Scrape specific models by providing Thingiverse thing URLs or IDs
- Rich JSON-LD extraction -- Parses structured data embedded in each model page
- API enrichment -- Attempts to enhance data with download counts, tags, and file lists via the Thingiverse API
- Proxy support -- Built-in proxy configuration for reliable scraping
Input
| Field | Type | Description | Default |
|---|---|---|---|
searchQueries | string[] | Search terms to find 3D models | ["raspberry pi case"] |
thingUrls | string[] | Direct thing URLs or numeric IDs | [] |
maxListings | integer | Max models to scrape per search query | 50 |
scrapeDetails | boolean | Visit each model page for full details | true |
proxyConfiguration | object | Proxy settings | Apify Proxy |
Example Input
{"searchQueries": ["raspberry pi case", "phone stand"],"maxListings": 20,"scrapeDetails": true}
Or scrape specific models:
{"thingUrls": ["https://www.thingiverse.com/thing:2187167","5968394"]}
Output
Each result contains:
| Field | Type | Description |
|---|---|---|
thingName | string | Name of the 3D model |
thingId | integer | Thingiverse thing ID |
creator | string | Creator username |
creatorUrl | string | Link to creator's profile |
category | string | Model category (e.g., "3D Printing, Parts") |
likes | integer | Number of likes/collects |
downloads | integer | Number of downloads (when available) |
makes | integer | Number of makes (when available) |
remixes | integer | Number of remixes (when available) |
comments | integer | Number of comments |
description | string | Full model description |
tags | string[] | Tags (when available via API) |
imageUrl | string | Main thumbnail image URL |
files | object[] | Downloadable files list (when available via API) |
publishedDate | string | Date the model was published |
license | string | License type (CC BY, CC BY-SA, etc.) |
sourceUrl | string | Direct link to the model on Thingiverse |
scrapedAt | string | ISO timestamp of when data was scraped |
Example Output
{"thingName": "Parametric Hinge","thingId": 2187167,"creator": "rohingosling","creatorUrl": "https://www.thingiverse.com/rohingosling","category": "3D Printing, Parts","likes": 51753,"downloads": null,"makes": null,"remixes": null,"comments": 227,"description": "Parametric Butt Hinge. This is a parametric butt hinge designed in OpenSCAD...","tags": [],"imageUrl": "https://resize.thingiverse.com/...","files": [],"publishedDate": "2017-03-19 02:12:25","license": "CC BY","sourceUrl": "https://www.thingiverse.com/thing:2187167","scrapedAt": "2026-04-26T12:00:00.000Z"}
How It Works
- Token extraction -- Dynamically extracts the Thingiverse API bearer token from page HTML
- Search -- Tries API-based search first, falls back to HTML scraping and tag pages
- Detail scraping -- Parses JSON-LD structured data from each model's detail page
- API enrichment -- Optionally enriches data with download counts, tags, and files via the API
Notes
- Thingiverse's API requires a dynamic bearer token that changes periodically. The scraper extracts this automatically.
- Some fields (downloads, makes, remixes, tags, files) are only available when the API is accessible.
- The
scrapeDetailsoption controls whether the scraper visits each model's individual page. Disabling it produces faster but less complete results. - Use Apify Proxy for reliable results and to avoid rate limiting.
Cost
This scraper uses pay-per-event pricing. You are charged $0.005 per result scraped.