# Cults3D Scraper: 3D Model Prices & Designer Data (`getascraper/cults3d-scraper`) Actor

Scrape Cults3D 3D-printable model listings: price, currency, creator, tags, category, license, ratings, and download/like/view/collection counts. Clean JSON, CSV, or Excel export. No browser, no login. Skip manual page-by-page checks. $1.76 per 1,000 records.

- **URL**: https://apify.com/getascraper/cults3d-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.32 / 1,000 model listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🖨️ Cults3D Scraper: 3D Model Marketplace Data

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#FFF7ED;border:1px solid #FED7AA;border-top:4px solid #EA580C;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every Cults3D model, priced and tagged in minutes</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Pull structured listings straight from cults3d.com, the 3D-printable model marketplace. Get price, creator, category, tags, rating, and download and like counts for every model you target.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FED7AA;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">⚡ Built for speed</span><br>
<span style="font-size:12px;color:#57534E">Runs on plain page requests, so it's fast and cheap to operate.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FED7AA;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">🔓 No login needed</span><br>
<span style="font-size:12px;color:#57534E">Reads public listings only. No account, password, or session required.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FED7AA;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">🎯 Crawl your way</span><br>
<span style="font-size:12px;color:#57534E">Target by category, by tag, or paste direct model and designer URLs.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FED7AA;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A3412">📊 Accurate by design</span><br>
<span style="font-size:12px;color:#57534E">Price, rating, and stats are read from the page's own structured data.</span>
</td>
</tr>
</table>

**Cults3D Scraper** extracts model listings and designer profiles from [cults3d.com](https://cults3d.com), the marketplace where designers sell and share 3D-printable files. Give it a few categories, tags, or direct URLs and it returns a clean dataset: title, description, price, currency, creator name and profile link, category, tags, license, publish date, rating, and download, like, view, and collection counts for every model.

It runs on the Apify platform, so you get scheduling, an API, one-click exports, and proxy rotation handled for you. No coding required.

### 🤔 Why use Cults3D Scraper?

- **Indie makers and 3D-print resellers** track pricing and demand signals across categories before deciding what to model or restock.
- **Marketplace researchers and analysts** build datasets on designer output, pricing spread, and popular tags without opening hundreds of tabs.
- **No-code Apify users** connect the dataset straight into Sheets, Airtable, or a BI tool through Apify's built-in integrations.

There is already one other Cults3D scraper on the Apify Store. This one is priced lower per run and per record (see [Pricing](#-pricing) below), and it's built without a browser, which means fewer moving parts and fewer runs that stall or time out.

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FFF7ED;border:1px solid #FED7AA;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#EA580C;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick your scope</span><br>
<span style="font-size:12px;color:#57534E">Paste model or designer URLs, or choose categories and tags to crawl instead.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF7ED;border:1px solid #FED7AA;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#EA580C;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set a limit</span><br>
<span style="font-size:12px;color:#57534E">Cap the run with Max items, however many records you need.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF7ED;border:1px solid #FED7AA;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#EA580C;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Get your dataset</span><br>
<span style="font-size:12px;color:#57534E">Download clean JSON, CSV, or Excel with every field ready to use.</span>
</td>
</tr>
</table>

1. Open the Actor and go to the **Input** tab.
2. Add **Start URLs** for specific models, designers, or category pages, and/or list **Categories** and **Tags** to crawl.
3. Set **Max items** to control how many records the run collects.
4. Click **Start** and watch results land in the dataset in real time.
5. Export to JSON, CSV, Excel, or push straight into Sheets or another integration.

### 📥 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `startUrls` | array of URLs | No | Direct Cults3D URLs: model pages, designer profile pages, or category listing pages. |
| `categories` | array of strings | No | Top-level categories to crawl, such as `art`, `game`, `home`, `tool`, `gadget`, `jewelry`, `fashion`, `architecture`, `various`. |
| `tags` | array of strings | No | Tags to crawl, such as `bambulab`, `miniature`, or `articulated`. Each is crawled at its own tag page. |
| `maxItems` | integer | No | Maximum number of model records to collect in this run. Defaults to 50. |
| `proxyConfiguration` | object | No | Apify Proxy settings. Datacenter proxy is the default and recommended tier. |

At least one of `startUrls`, `categories`, or `tags` should be set, or the run has nothing to crawl.

### 📤 Output

Each dataset item is one 3D model listing:

```json
{
  "url": "https://cults3d.com/en/3d-model/art/example-model",
  "modelId": "1234567",
  "slug": "example-model",
  "category": "art",
  "title": "Example Articulated Figure",
  "description": "A fully articulated print-in-place figure.",
  "imageUrl": "https://files.cults3d.com/uploaders/example.jpg",
  "creatorName": "examplemaker",
  "creatorUrl": "https://cults3d.com/en/users/examplemaker/3d-models",
  "price": 5.0,
  "currency": "EUR",
  "isFree": false,
  "availability": "https://schema.org/InStock",
  "encodingFormat": "3MF et ZIP",
  "license": null,
  "datePublished": "2026-03-14",
  "ratingValue": 4.8,
  "ratingCount": 32,
  "downloadCount": 262,
  "likeCount": 91,
  "viewCount": 4310,
  "collectionCount": 18,
  "tags": ["articulated", "figure", "print-in-place"],
  "scrapedAt": "2026-08-24T12:00:00.000Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

#### Data table

| Field | Type | Description |
|---|---|---|
| `url` | string | Canonical model page URL. |
| `modelId` | string | Cults3D's internal numeric model ID. |
| `slug` | string | URL slug for the model. |
| `category` | string | Top-level category, taken from the URL path. |
| `title` | string | Model title. |
| `description` | string | Model description text. |
| `imageUrl` | string | Thumbnail image URL. |
| `creatorName` | string | Designer's display name. |
| `creatorUrl` | string | Designer's profile URL. |
| `price` | number | Listed price, or `0` for free models. |
| `currency` | string | Currency code for `price`. |
| `isFree` | boolean | Whether the model is free to download. |
| `availability` | string | Schema.org availability value. |
| `encodingFormat` | string | File format(s) offered, e.g. STL, 3MF. |
| `license` | string | License terms, when a structured license badge is present. |
| `datePublished` | string | Publish date. |
| `ratingValue` | number | Average rating. |
| `ratingCount` | number | Number of ratings. |
| `downloadCount` | number | Total downloads. |
| `likeCount` | number | Total likes. |
| `viewCount` | number | Total views. |
| `collectionCount` | number | Number of collections the model appears in. |
| `tags` | array of strings | Tags attached to the model. |
| `scrapedAt` | string | Timestamp when the record was scraped. |

### 💰 Pricing

Cults3D Scraper is pay per event: you pay a small run fee plus a per-record price. Empty runs and failed requests never get charged for records they didn't return. There are no subscriptions and no minimum spend.

### ⭐ Enjoying Cults3D Scraper?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#FFF7ED;border:1px solid #FED7AA;border-left:5px solid #EA580C;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Skip the manual copy-pasting from Cults3D listings.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other makers, resellers, and marketplace researchers find this Actor. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#EA580C;border:1px solid #FED7AA;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/cults3d-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### 💡 Tips and advanced options

- Start with a low **Max items** value (10-20) to preview the field set before running a full crawl.
- Combine **Categories** and **Tags** in one run to widen coverage without pasting individual URLs.
- Schedule recurring runs on Apify to track price and popularity changes on the same models over time.
- Datacenter proxy is enough for this target. Only switch to residential if a run starts seeing blocks.

### ❓ FAQ

**Does this Actor need a Cults3D account or login?**
No. Every field it collects is available on public, unauthenticated pages.

**Will this scraper get blocked?**
It's built without a browser, which keeps it simple and less prone to the stalled or timed-out runs that browser-based scrapers can hit. If Cults3D temporarily rate-limits requests, the Actor retries automatically.

**Can I scrape a single designer's full catalog?**
Yes. Add the designer's profile URL to Start URLs, or use their category and tag combination.

**What if a field is missing on a listing?**
Fields that aren't present on the page (for example, a license badge many sellers don't set) are left empty rather than guessed, so the dataset stays accurate.

**Is scraping Cults3D legal?**
This Actor only reads publicly available listing pages and respects Cults3D's `robots.txt`, including its crawl-delay setting. You're responsible for how you use the data. If you have questions about a specific use case, reach out via the Issues tab.

Have a request or ran into an issue? Open a ticket on the Issues tab, or reach out about a custom build.

### 🔗 Other actors

- [ShopGoodwill Scraper: Sold Comps & Auction Monitor](https://apify.com/getascraper/shopgoodwill-scraper) ↗ - tracks sold prices and live auctions on ShopGoodwill.
- [ThriftBooks Scraper: Cheap books, conditions, pricing and inventory specs](https://apify.com/getascraper/thriftbooks-scraper) ↗ - extracts book listings, pricing, and condition data.
- [Mercari US Scraper: Sold Prices, Conditions & Sellers](https://apify.com/getascraper/mercari-us-scraper) ↗ - pulls sold listing prices and seller data from Mercari US.
- [Mercari Seller Scraper: Shop Listings, Ratings & Item History](https://apify.com/getascraper/mercari-seller-scraper) ↗ - collects a Mercari seller's full shop inventory and ratings.

# Actor input Schema

## `startUrls` (type: `array`):

Direct Cults3D URLs to crawl: model detail pages (/en/3d-model/<category>/<slug>), designer profile pages (/en/users/<username>/3d-models), or category listing pages (/en/3d-models/<category>). Leave empty and use the category/tag filters below instead. Do not paste /en/search?q=... URLs (disallowed by robots.txt).

## `categories` (type: `array`):

Cults3D top-level categories to crawl (e.g. art, game, home, tool, gadget, jewelry, fashion, architecture, various). Leave empty to skip category-based discovery and rely on Start URLs only.

## `tags` (type: `array`):

Cults3D tags to crawl (e.g. bambulab, miniature, articulated). Each tag is crawled at /en/tags/<tag>.

## `maxItems` (type: `integer`):

Maximum number of 3D model records to scrape in this run. Set low (e.g. 10) for a quick test.

## `proxyConfiguration` (type: `object`):

Cults3D has no observed IP-reputation gating; datacenter proxy is the default and recommended tier. Only switch to residential if you start seeing blocks.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://cults3d.com/en/3d-models/art"
    }
  ],
  "categories": [],
  "tags": [],
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://cults3d.com/en/3d-models/art"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/cults3d-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://cults3d.com/en/3d-models/art" }],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/cults3d-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://cults3d.com/en/3d-models/art"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/cults3d-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/cults3d-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/qUwmdryd8EEgPxyBB/builds/DamSyd5ODQWaQwtQQ/openapi.json
