Search Creative Fabrica's 20M+ font, graphic, craft, and POD catalog from your terminal — with file-format and commercial-license filters the web UI lacks, plus designer tracking.
Creative Fabrica's web UI is heavy, upsell-laden, and gives you only the facets it wants to. This CLI talks straight to the same catalog index the site uses and adds the filters crafters and print-on-demand sellers actually need: file format (svg/dxf/png/eps), commercial-license (POD), subscription-free, and real discount depth. It also tracks designers and surfaces what is new since your last run — all agent-native with --json, --csv, and --select.
Created by @vcolombo (Vincent Colombo).
Contributors: @cathrynlavery (Cathryn Lavery).
Other contributors: @tmchow (Trevin Chow).
Catalog options are checked before a search. new-since accepts a tracking limit from 20 to 100 and saves its snapshot only after output and any requested delivery succeed. doctor checks whether the catalog search key can reach the catalog, except in --dry-run, and respects --timeout during retries. which rejects combinations of --json or --agent with --plain or --quiet so the output format is unambiguous.
Why this exists
Creative Fabrica has no official API. Its site search is powered by a public Algolia index, and this CLI queries that same index directly over plain HTTPS — no browser, no scraping, no Cloudflare at runtime. That unlocks things the web UI simply does not offer:
- File-format filtering. Creative Fabrica has no "SVG only" facet.
find --format svg,dxf matches the format in tags and titles, so Cricut/Silhouette crafters stop wading through subscription-locked previews of the wrong format.
- Commercial-license sourcing. Print-on-demand sellers can filter to
--pod (commercial use) and --no-subscription (usable without an active plan) and export candidates to CSV.
- Real discount depth.
deals ranks by the actual regular→sale percentage, cutting through discount theater.
- Designer intelligence.
designer-stats and designer-compare use catalog-wide Algolia facets for free/POD/sale/type counts when available, and label price/newest as a sample when --max-scan-pages does not cover the catalog; new-since reports only what's new since your last run.
Who it's for: Cricut/Silhouette crafters hunting cut files, print-on-demand sellers sourcing license-safe assets, designers and budget crafters chasing genuine free/discounted items, and AI agents that need structured catalog data without parsing a heavy web page.
Quick Start
# Confirm the CLI is wired and the catalog index is reachable.
creativefabrica-pp-cli doctor --dry-run
# Search the catalog the way the website does.
creativefabrica-pp-cli find "watercolor flowers" --limit 10
# Find commercial-license SVG cut files — a filter the web UI can't express.
creativefabrica-pp-cli find "mandala" --format svg --pod --agent
# List the newest genuinely-free fonts.
creativefabrica-pp-cli free --type Fonts --limit 20
# Profile a designer's whole catalog at a glance.
creativefabrica-pp-cli designer-stats "DigiArt"
Unique Features
These capabilities aren't available in any other tool for this API.
Filters the web UI doesn't have
-
find — Narrow craft results to a specific cut/print file format (SVG, DXF, PNG, EPS, PES) that Creative Fabrica has no facet for.
Reach for this when a crafter needs a machine-ready format the web UI can't filter on.
creativefabrica-pp-cli find "mandala" --format svg,dxf --agent
-
find — Keep only assets usable outside an active subscription.
Use this when you need standalone-licensable assets, distinct from free or POD.
creativefabrica-pp-cli find "valentine svg" --no-subscription --agent
Local synthesis
-
deals — Rank on-sale items by their actual regular-to-sale price drop, not just whether they are flagged on sale.
Use this to surface the deepest genuine discounts instead of discount-theater.
creativefabrica-pp-cli deals "font bundle" --agent
-
designer-stats — Profile a designer's catalog: product-type mix, price band, free count, POD count, and newest release.
Pick this when you need a one-shot read on a creator instead of scrolling their page.
creativefabrica-pp-cli designer-stats "DigiArt" --agent
-
designer-compare — Compare two designers head-to-head: catalog size, type mix, price band, free/POD share, and popularity.
Use this for competitor research when sourcing or scouting creators.
creativefabrica-pp-cli designer-compare "DigiArt" "CraftLab" --agent
Local state that compounds
-
new-since — Show only catalog items added since your last sync for a tracked query or designer.
Reach for this to track fresh drops without re-scanning the whole catalog.
creativefabrica-pp-cli new-since "watercolor flowers" --agent
-
tags — Show the top tags and categories that co-occur with a query, to refine the next search.
Use this to discover better refinement terms before a deep search.
creativefabrica-pp-cli tags "christmas" --agent
Recipes
Commercial-license cut files
creativefabrica-pp-cli find "floral monogram" --format svg --pod --limit 25 --csv
POD-safe SVG candidates exported as CSV for a sourcing sheet.
Newest free fonts
creativefabrica-pp-cli free --type Fonts --sort newest --limit 30 --agent
The latest genuinely-free fonts in machine-readable form.
Deepest real discounts
creativefabrica-pp-cli deals "bundle" --agent --select name,price,regular_price,discount_pct
On-sale items ranked by actual discount depth, narrowed to the price fields.
Track a designer's drops
creativefabrica-pp-cli new-since --designer 2880714 --agent
Only the items this designer added since your last sync.
Refine a broad search
creativefabrica-pp-cli tags "christmas" --select tag,count --agent
Top co-occurring tags to sharpen a vague query before a deep search.
Workflows
Print-on-demand sourcing
Build a license-safe candidate list for a product idea, narrow it to a format and price, and export for a sourcing sheet:
# 1. See what tags a vague idea maps to
creativefabrica-pp-cli tags "summer t-shirt" --agent
# 2. Source POD-safe SVGs under $3, newest first, as CSV
creativefabrica-pp-cli find "summer beach" --pod --no-subscription --format svg --max-price 3 --sort newest --csv > candidates.csv
# 3. Vet a promising designer before buying in bulk
creativefabrica-pp-cli designer-stats "DigiArt" --agent
Freebie hunting on a schedule
Track new free assets in a category without re-scanning the whole catalog:
# First run seeds the tracker; later runs report only what's new
creativefabrica-pp-cli new-since "watercolor florals" --agent
creativefabrica-pp-cli new-since --designer 2880714 --agent
# Browse today's newest free fonts
creativefabrica-pp-cli free --type Fonts --limit 30
Deal scouting
Find the deepest genuine discounts across a theme and compare two designers' pricing:
creativefabrica-pp-cli deals "font bundle" --agent --select name,price,regular_price,discount_pct
creativefabrica-pp-cli designer-compare "DigiArt" "CraftLab" --agent
Usage
Run creativefabrica-pp-cli --help for the full command reference and flag list.
Commands
Search & browse
find [query] — Live catalog search with filters: --type, --category, --designer, --format svg,dxf,..., --pod, --free, --no-subscription, --on-sale, --max-price, --sort relevance|newest, --page, --limit.
free [query] — Free assets, newest first (--type, --category).
pod [query] — Print-on-demand / commercial-license assets (--max-price, --free).
designer <id|name> — Browse one designer's catalog.
product <objectID> — A single product's catalog metadata.
Browse facets
categories [query] — All 724 categories with counts (--limit).
types [query] — Product types (Graphics, Fonts, Crafts, ...) with counts.
Insight (only possible with the local store)
deals [query] — On-sale items ranked by true regular→sale discount depth.
designer-stats <id|name> — Aggregate a designer's catalog: type mix, price band, free/POD counts, newest. Free/POD/type counts use catalog-wide facets when available; price/newest are labeled as a sample when scanned < total.
designer-compare <A> <B> — Two designers side-by-side.
new-since [query|--designer <id>] — Only what the catalog added since your last run.
tags <query> — Top tags/categories co-occurring with a query, to refine it.
Setup & health
auth set-key <key> / auth status — Configure the public catalog search key.
doctor — Verify the CLI is wired and the catalog index is reachable.
The low-level products command is an Algolia multi-query passthrough; prefer the commands above.
Output Formats
# Human-readable table (default in terminal, JSON when piped)
creativefabrica-pp-cli find "watercolor flowers"
# JSON for scripting and agents
creativefabrica-pp-cli find "watercolor flowers" --json
# Filter to specific fields (use the JSON field names: name, price, designer, url, ...)
creativefabrica-pp-cli find "logo" --json --select name,price,designer,url
# CSV for spreadsheets / sourcing sheets
creativefabrica-pp-cli pod "t-shirt" --csv
# Dry run — show the request without sending
creativefabrica-pp-cli find "x" --dry-run
# Agent mode — JSON + compact + no prompts in one flag
creativefabrica-pp-cli find "x" --agent
Agent Usage
This CLI is designed for AI agent consumption:
- Non-interactive - never prompts, every input is a flag
- Pipeable -
--json output to stdout, errors to stderr
- Filterable -
--select id,name returns only fields you need
- Previewable -
--dry-run shows the request without sending
- Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
- Agent-safe by default - no colors or formatting unless
--human-friendly is set
Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.
Health Check
creativefabrica-pp-cli doctor
Verifies configuration and connectivity to the API.
Configuration
Config file: ~/.config/creativefabrica-cli/config.toml
Static request headers can be configured under headers; per-command header overrides take precedence.
Troubleshooting
Not found errors (exit code 3)
- Check the resource ID is correct
- Run the
list command to see available items
API-specific
- Search returns zero results for everything — Run 'creativefabrica-pp-cli doctor' — the public search key may have rotated; the CLI re-discovers it automatically, or set CREATIVEFABRICA_ALGOLIA_API_KEY / CREATIVEFABRICA_ALGOLIA_APP_ID to override.
- HTTP 403 from the search backend — The catalog key is referer-restricted; the CLI sends the required Origin/Referer headers automatically — upgrade if you see this on an old build.
- --format returns nothing — Format is matched against tags and titles, not a server facet; broaden the query or try a sibling format (png vs svg).