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
- Clears the source site's Cloudflare challenge automatically
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 it — the source site's Cloudflare gate is handled for you
- 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. |
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 pages through the full swatch catalog until it is exhausted. The site is behind Cloudflare, which the actor clears; there is no auth or captcha 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.
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