Thingiverse Scraper
Pricing
from $0.50 / 1,000 3d models
Thingiverse Scraper
Collect public Thingiverse 3D models from keywords, search URLs, model URLs, or thing IDs. Export creators, categories, tags, images, engagement metrics, licenses, dates, and file metadata.
Pricing
from $0.50 / 1,000 3d models
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
🧩 Collect structured Thingiverse model data
Thingiverse Scraper helps 3D-printing creators, researchers, and developers collect public model data from Thingiverse. Search by keyword or submit known models to export titles, creators, categories, tags, images, engagement metrics, licenses, dates, and file metadata.
- Thingiverse model search — find public 3D models from a keyword.
- Thingiverse search URL scraping — collect models from an existing Thingiverse search URL.
- Thingiverse model URL lookup — retrieve metadata for a known model page.
- Thingiverse thing ID lookup — retrieve a known model by numeric ID.
- Thingiverse category export — collect source-supplied model categories.
- Thingiverse engagement analysis — compare likes, collections, comments, downloads, makes, and remixes.
- Thingiverse file metadata export — collect available file names, source links, and sizes without downloading model files.
📦 Returned data
Each dataset row represents one successfully collected public model and can include:
thingId,modelUrl,title, anddescriptioncreatorName,creatorUsername, andcreatorProfileUrlsearchQueryandsearchPositionfor models found through searchpublishedAt,updatedAt, andlicensecategoriesandtagslikeCount,collectCount,commentCount,downloadCount,makeCount, andremixCounttrendScore, based on likes relative to model age when the needed values are availableimageUrlsandfileswith file names, source links, and available sizes
Optional values remain null or empty when Thingiverse does not expose them. The Actor emits no error, status, or diagnostic rows.
🚀 Running the Actor
- Add one or more Thingiverse targets.
- Mix plain search terms, search URLs, model URLs, and numeric thing IDs as needed.
- Set the maximum number of rows for search targets and optional search filters.
- Run the Actor and open the default dataset.
⚙️ Input
targets accepts one or more search terms, Thingiverse search URLs, model URLs, or numeric thing IDs. maxItems limits rows collected from search targets; direct model targets are each processed once. Search targets can also use sort, maxAgeDays, and minLikes to control ordering and filter models.
{"targets": ["phone stand"],"maxItems": 25,"sort": "likes","minLikes": 100}
Search ordering supports relevance, popularity, newest, most likes, most makes, and trend score. You can collect up to 10,000 search rows per run.
🧾 Output
A typical row looks like this:
{"thingId": "2120591","modelUrl": "https://www.thingiverse.com/thing:2120591","title": "Phone Stand","description": "A simple phone stand for desk use.","creatorName": "GoAftens","creatorUsername": "GoAftens","creatorProfileUrl": "https://www.thingiverse.com/GoAftens","searchQuery": "phone stand","searchPosition": 1,"publishedAt": "2017-02-18T22:33:56.000Z","updatedAt": "2017-02-18T22:33:56.000Z","license": {"name": "Creative Commons - Attribution","url": "https://creativecommons.org/licenses/by/4.0/"},"categories": ["Mobile Phone"],"tags": ["desk", "phone", "stand"],"likeCount": 37691,"collectCount": 40091,"commentCount": 145,"downloadCount": 410003,"makeCount": 226,"remixCount": 156,"trendScore": 10.5,"imageUrls": ["https://cdn.thingiverse.com/assets/12/eb/52/8e/15/Phone_stand03.jpg"],"files": [{"name": "Phone_Stand03.STL","downloadUrl": "https://www.thingiverse.com/download:3339522","sizeBytes": 72784}]}
💳 Pricing
This Actor uses pay-per-event pricing. The scraped-model event is charged once for each successfully saved public model row. Skipped targets, duplicates, no-result searches, and internal diagnostics are not charged as model outcomes. The applicable unit price depends on your Apify plan.
🔌 Integrations
Use the dataset with the Apify API, schedules, webhooks, and supported integrations to automate exports and downstream processing.
❓ FAQ
Why can a model have no categories?
The Actor collects source-supplied categories, including categories Thingiverse exposes separately from its main model details. The array stays empty when Thingiverse supplies no category or that optional category data is unavailable; the Actor does not infer categories from tags or descriptions.
Can I combine searches and known models in one run?
Yes. Put keywords, search URLs, model URLs, and numeric thing IDs in the same targets list. Overlapping discoveries are deduplicated by thingId.
Does it download STL or 3MF files?
No. It returns available file metadata and source links but does not download, archive, host, or mirror model files.
Do I need a Thingiverse account or API key?
No user-provided Thingiverse login, cookie, or API key is required for this public model workflow.
What happens to private, removed, or unavailable models?
They are reported in run logs and are not emitted as dataset rows. Other valid targets can still produce rows.
How can I export the data?
Open the Apify dataset to export JSON, CSV, Excel, XML, RSS, or HTML, or access results through the Apify API.
📝 Changelog
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- DeviantArt Scraper — collect public artwork, creator details, image URLs, and visible contact data.
- Unsplash Image Scraper — collect image search results for visual research and creative briefs.
- Web Images Scraper — extract image URLs and metadata from public webpages.
- Image Resizer API — resize or convert image assets referenced by your workflows.
- Artbreeder AI Image Creator — generate image concepts from text prompts for design exploration.
Made with ❤️ by Maxime Dupré