FilamentColors 3D Filament Database
FilamentColors 3D Filament Database Scraper
Scrape the full FilamentColors.xyz swatch database — 2,200+ physical 3D-printing filament samples with manufacturer, material type, color name, hex code, recommended print temperatures, translucency, and purchase links. Pulled straight from the site's public REST API and returned as clean JSON.
FilamentColors Scraper Features
- Extracts 2,200+ filament swatches across PLA, PETG, ABS, TPU, ASA, and every other material indexed on the site
- Returns the actual hex color code measured from the physical swatch card, not the marketing photo
- Includes recommended hotend and bed temperatures, plus translucency density (TD) for each material
- Returns Amazon and manufacturer purchase URLs where the swatch is buyable
- Pulls availability flag so you can filter out discontinued colors
- Cursor-paginated API consumption — runs to completion without babysitting
- Routes through residential proxies to bypass the Cloudflare challenge on the source site
Who Uses FilamentColors Data?
- 3D printing app developers — Build filament-comparison features or in-app color pickers backed by real swatch data
- Slicer profile creators — Pre-fill print profiles with manufacturer-recommended hotend and bed temperatures
- E-commerce indexers — Map your filament SKUs to a canonical color database with hex codes and material attributes
- Print-shop operators — Maintain an internal catalog of available filaments with purchase links and color matching
- 3D print communities — Power "find a similar filament" tools or material-substitution search
How FilamentColors Scraper Works
- Set maxItems — Pick how many records you want, or leave it at 0 to pull the entire database
- Run with residential proxy enabled — The source site uses Cloudflare's IP-reputation gate, which datacenter IPs don't survive
- The scraper cursor-paginates through the public DRF API — 15 records per page, ~150 pages for the full catalog
- Returns one normalized record per swatch with hex code, material specs, and purchase links
The scraper hits a single JSON endpoint, transforms the response, and writes one record per swatch. No HTML parsing, no headless browser, no flaky selectors to maintain.
Input
{
"maxItems": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
| Field | Type | Default | Description |
|---|---|---|---|
| maxItems | integer | 10 | Maximum number of swatches to fetch. Set to 0 to pull the entire ~2,200-swatch database. |
| proxyConfiguration | object | residential | Proxy settings. Residential is required — datacenter IPs hit a Cloudflare challenge. |
FilamentColors Output Fields
{
"swatch_id": 3057,
"slug": "creality-black-pla-3057",
"manufacturer_name": "Creality",
"manufacturer_website": "https://www.creality.com",
"filament_type": "PLA",
"color_name": "Black",
"hex_color": "#313130",
"is_available": true,
"hotend_temp": 210,
"bed_temp": 60,
"td": 0.0,
"amazon_purchase_url": "https://www.amazon.com/dp/B08...",
"mfr_purchase_url": "https://www.creality.com/products/...",
"date_published": "2023-04-12T14:23:00Z",
"swatch_url": "https://filamentcolors.xyz/swatch/creality-black-pla-3057/",
"card_img": "https://filamentcolors.xyz/media/swatches/creality-black-pla.jpg"
}
| Field | Type | Description |
|---|---|---|
| swatch_id | integer | Unique numeric swatch ID assigned by FilamentColors. |
| slug | string | URL slug for this swatch. |
| manufacturer_name | string | Manufacturer brand name (Hatchbox, eSUN, Polymaker, etc.). |
| manufacturer_website | string | Manufacturer's website URL. |
| filament_type | string | Material type (PLA, PETG, ABS, TPU, ASA, etc.). |
| color_name | string | Color name as labeled by the manufacturer. |
| hex_color | string | Hex color code with # prefix, derived from the physical swatch. |
| is_available | boolean | Whether the swatch is currently marked as available for purchase. |
| hotend_temp | integer | Recommended hotend temperature in °C. |
| bed_temp | integer | Recommended bed temperature in °C. |
| td | number | Translucency density (0 = opaque, higher = more translucent). |
| amazon_purchase_url | string | Amazon purchase link, or null if none. |
| mfr_purchase_url | string | Manufacturer direct purchase link, or null if none. |
| date_published | string | ISO 8601 timestamp when the swatch was added to the database. |
| swatch_url | string | Full URL to the swatch detail page on FilamentColors.xyz. |
| card_img | string | URL to the thumbnail image of the physical swatch card. |
FAQ
How do I scrape FilamentColors.xyz?
FilamentColors Scraper hits the public DRF REST API at /api/swatch/ and cursor-paginates until the catalog is exhausted. The site is behind Cloudflare — residential proxies are required to clear the IP-reputation challenge — but otherwise no auth or captcha is involved.
What data does the FilamentColors API return?
FilamentColors Scraper returns 16 fields per swatch including manufacturer, filament type, hex color (measured from the physical sample, not RGB-from-photo), recommended hotend and bed temperatures, translucency density, availability, and direct purchase links.
Why do I need residential proxies?
FilamentColors Scraper needs residential proxies because the source site routes datacenter IPs to a Cloudflare managed challenge that returns HTML instead of JSON. The actor defaults to Apify residential proxies, which are sufficient.
How much does the FilamentColors Scraper cost to run?
FilamentColors Scraper is priced per record returned via the pay-per-event model. Full-catalog runs (~2,200 records) cost less than buying a single spool of premium PLA, which is one way to think about it.
Can I filter by material type?
FilamentColors Scraper returns the full catalog, but every record includes filament_type so you can filter PLA, PETG, ABS, TPU, ASA, or anything else downstream. The source API doesn't accept material-type filters at the endpoint level.
Need More Features?
Need a filter for specific manufacturers, color families, or temperature ranges? File an issue or get in touch.
Why Use the FilamentColors Scraper?
- Physical swatch hex codes — Hex values are scanned from the printed sample, not pulled from marketing copy. That puts the data closer to what your print will actually look like.
- Complete catalog — All 2,200+ swatches, every manufacturer, every material type, in one run
- Clean JSON — Structured output with consistent field names, ready to drop into a slicer profile generator or color picker