Every other feature on BrickPicker — the deal feed, the retirement classifier, the part-out math, the price guide, the appraisal certificates, the sales ledger, even the public API — answers some version of the same question. What does this mean for what I own?
Brickfolio is the answer to "what do I own."
It's the holdings layer. Everything else joins back to it. A fifteen-set personal collection or 800 sets of resale inventory — same shape, math turned up.
This post is the tour: the recent UI rebuild, how the imports work, what the export and API give you, how Brickfolio feeds the appraisal and sales-ledger workflows.
What a Brickfolio actually is
A Brickfolio is a named portfolio of LEGO holdings. Each holding has a set number, a quantity, a condition (sealed or used), a cost basis (what you paid), a purchase date, and an optional note. From those inputs the platform calculates the live current value against the monthly price guide, unrealized P&L, time in position, and per-cohort breakdowns by theme, year, and license.
You can have more than one Brickfolio. A serious collector usually has at least two mental buckets — "sealed and keep" and "everything else" — and a working reseller has more. Sealed warehouse stock, opened display pieces, sets earmarked for a holiday flip, sets the kid's allowed to play with. Mash all of that into one list and the math goes wrong: cost-basis averages get blended, theme breakdowns lie about concentration, retirement signals from inventory drown out signals from display.
Multiple Brickfolios let each bucket carry its own number. Each one prices independently, with its own performance, theme mix, and export. Move a holding between them in one click when your intention changes — inventory becomes display, display becomes inventory.
How many Brickfolios depends on the tier:
- Free: 1 Brickfolio, up to 25 holdings.
- Collector ($9.99/mo): 3 Brickfolios, up to 250 holdings each.
- Reseller ($39.99/mo): 10 Brickfolios, up to 2,500 holdings each.
Free is genuinely useful — a starter collection with live valuation against the same price guide a paying user sees. Where the tiers diverge most is here, in Brickfolio: how many books you can run and how big each one can get.
The page, after the rebuild
The Brickfolio landing page used to be a tab-heavy thing — five tabs across the top, a chart somewhere, a holdings table fighting a Health Score panel for screen space. It worked. It was busy.
We rebuilt the page around a single idea: the holdings list is the document, the analysis is the margin. A clean, scannable list of what you own runs down the page. A sticky right rail keeps the summary panels visible while you scroll — three short tabs: Overview (total value, total cost, unrealized P&L, count, top performer), Themes (theme mix with concentration percentages), and Years (release-year distribution). The numbers stay with you; you don't lose the totals when you scroll to the long tail.
Each row in the holdings list now carries an inline insight badge — a retirement-signal flag if the set has moved toward end-of-life, a "comp jump" badge if the sealed median moved past a threshold in the last week, a subtle marker on the highest-conviction performers in this Brickfolio. Glanceable. You don't have to drill into a set page to find out something interesting changed.
Above the list, a personalized Findings panel surfaces the two or three things in this Brickfolio that probably warrant a closer look — usually a mix of "your biggest gain is X, you might consider listing" and "this holding's retirement signal just transitioned." Not every Brickfolio has findings every day. When there's nothing to say, the panel goes quiet.
A table-view toggle is there for users who prefer the spreadsheet shape — same data, denser layout, more columns at once. Advanced filters sit next to it: theme, year, condition, retirement status, P&L direction, license. Filter combinations save to the URL so a view you build ("all sealed Modular Buildings with >20% unrealized gain") is shareable.
Two dropdowns at the top hold the action verbs. Brickfolio Actions is the operating menu — add a holding, import, export, generate a certificate, share a public link, view the monthly story. Brickfolio Settings is configuration — rename, privacy, archive, delete, switch between Brickfolios. The two are tinted differently so action and configuration don't get confused.
Deep analysis lives on /analyze/[id]
The old page tried to put HealthScore, theme deep-dives, performer leaderboards, and concentration heat maps onto the same screen as the holdings list. It got crowded fast.
That work moved onto a dedicated /analyze/[id] route, one per Brickfolio. The analyze view is where the HealthScore breakdown lives — the full score with its component sub-scores (diversification, liquidity, retirement exposure, cost-basis quality, theme balance) and the explanations behind each number. It's where the leaderboard ranks your top and bottom performers with the context that justifies the ranking. It's where theme-level intelligence lights up — how Modulars in your Brickfolio compare to the broader market, where you're long the right themes, where you're concentrated in ways that might surprise you.
Not a separate product — the same Brickfolio, opened up. The link sits in the right rail. Go there when you want to know "how am I really doing?" Come back to the landing page when you want to manage the list.
Imports: the switching-cost killer
If you're already tracking your collection somewhere, you don't want to retype it. We took that seriously. There are now four import paths, presented as a single grid of cards on the import screen.
BrickEconomy account import. Sign in, authorize, and we pull your owned-set list straight into a new Brickfolio — set numbers, quantities, condition flags, stored notes. Populated in under a minute.
Brickset account import. Same flow for Brickset users. Owned list comes in with quantity, condition, and "want to buy" flags translated into our equivalent.
Rebrickable account import. For users who track at the parts and minifigure level, Rebrickable is where the data often lives. We pull set-level holdings out cleanly.
CSV import. For anyone with a spreadsheet (or an export from a tool we don't directly support yet): set number, quantity, condition, cost basis, purchase date. Map the columns, preview, confirm. The wizard handles your column names instead of making you rename them.
Each import card shows the actual brand mark. We're not hiding which tool you're switching from; we're making it obvious we know where you're coming from. The goal is to kill "rebuild my collection list from scratch" as a reason not to try BrickPicker. If you've already done the work somewhere, do it again here in 30 seconds and judge us on what happens next.
Export: your data, always
Your collection list is yours. We've taken the position that you should always be able to walk out the door with it.
CSV export is unlimited at every tier. Free, Collector, Reseller — same export. Hit "Export to CSV" from the actions menu, you get a clean file with every holding, every cost basis, every note. We dropped the export count gate that existed in v1; it was a friction we couldn't justify. Your data is your data.
For the resellers and serious collectors who need more than a flat CSV, advanced exports are a Premium feature:
- Schedule C tax export. Reseller users can export the sold portion of a Brickfolio in a shape that drops straight into a Schedule C — gross proceeds, fees, net, cost-of-goods-sold. Pair it with the Sales Ledger and you've got your year-end material in one file. Your CPA stops asking you the same questions in April.
- BrickEconomy-compatible portable export. A round-trip-friendly export shaped to BrickEconomy's import format. If you ever need to take your data to that tool — or back to it — the schema is theirs, not ours.
- Historical valuation snapshots. Export every monthly valuation we've recorded for this Brickfolio. Useful for tax-loss harvesting, year-over-year reporting, or proving to yourself that the price guide actually does what we say it does.
Public API
For developers and serious users who want their Brickfolio inside their own tools, we ship a small REST API. Four endpoints, all read-only, all scoped to data you own:
GET /v1/set/{setNumber}— set metadata, current value, retirement status.GET /v1/minifig/{minifigId}— minifig metadata and value.GET /v1/brickfolio— your own Brickfolio holdings, paginated.GET /v1/salesledger— your own sales records, paginated, with fee math.
Authentication is bearer-token. You generate the key from your account settings. 1,000 requests per key per UTC day. The data you can read is the data you own — your Brickfolio, your sales, plus the public set/minifig metadata anyone can see. We don't expose anyone else's holdings, and we don't expose data layers that should stay private.
The API is a Reseller-tier perk. The full reference, including code samples in five languages, lives at brickpicker.com/developers/api.
Why the page is fast
A note on performance, because the old version felt slow.
Loading a big Brickfolio used to mean re-joining holdings against current values against the price guide against retirement classifications against sold-comp data — every time you opened the page. A couple of seconds on a populated portfolio.
A recent refactor moved that work into a materialized cache that recomputes when the underlying data actually changes. Dashboard reads are now near-instant — fast enough that even a 2,000-holding Reseller-tier Brickfolio loads without a perceptible wait. Open the page. The numbers are there.
Insurance Certificates: a frozen record
A Brickfolio is live. It re-prices itself every morning. That's exactly what you want most of the time, and exactly what you don't want when someone needs a stable number.
Three situations come up for our users:
- Insurance scheduling. Your collection has crossed the value where it deserves a rider on the homeowner's policy. The carrier wants an itemized appraisal, dated, with a methodology they can defend if it ever gets contested.
- Estate or sale. You're handing the collection — or part of it — to someone else. You need a dated snapshot of what it was worth at the transfer moment.
- Tax basis. You're documenting fair-market-value for a transaction or a year-end position.
An appraisal certificate is BrickPicker's frozen answer to that. Generate one from any Brickfolio (or any subset of its holdings) and the platform produces a PDF: itemized holdings, per-set valuations locked to the price guide at issue, totals, a methodology disclosure, and a verification URL a third party can use to confirm the document is authentic — without giving them BrickPicker logins.
Single-set and multi-set certificate flows used to be two separate buttons in the UI. Confusing. Now it's one humane row in the actions menu: "Generate appraisal certificate." Pick the holdings (one, several, or all), confirm, and the same engine produces the right document. Single sets get a focused one-pager. Multi-set certificates roll up into a clean schedule.
Volume scales with the tier. Collector users get 10 certificates per year — comfortable for most personal collectors. Reseller users get unlimited certificates, because that's the volume serious resellers, estate professionals, and frequent flippers actually generate.
Full certificate history — every certificate you've ever generated, indexed and searchable — is a Premium feature. It matters precisely when it matters: when an old certificate suddenly becomes relevant and you don't want to be hunting through downloads.
Sales Ledger: closing the loop
When you sell a set out of a Brickfolio, you don't want to maintain a separate "sold" spreadsheet. You want the holding to leave the active book, the cost basis to follow it, and a sales record to land in your ledger with the math done.
That's what the Sales Ledger does. Mark a holding as sold from inside Brickfolio — enter the marketplace, the gross proceeds, the fees if you know them — and the platform:
- Removes the holding from the active Brickfolio.
- Creates a sales record in the Sales Ledger with cost-basis carried over.
- Calculates net proceeds (gross minus fees minus shipping), gross profit, net profit, and ROI against the original cost basis.
- Updates the Brickfolio's lifetime realized-P&L total.
The Sales Ledger becomes the back-office for what you've sold — sortable, filterable, exportable, ready for tax season. Reseller users get the Schedule C export. Collector users get the same ledger for personal-flip tracking. Free gets a starter version.
One honest caveat: marketplace auto-import — pulling sales automatically from eBay, BrickLink, and the like — is on the runway but not live yet. Today you log the sale when it happens. When auto-import ships, the Sales Ledger will be the inbox that fills itself; the workflow above is what it'll feel like when that lands.
How the tiers actually differ
There's a long pricing-page comparison if you want the full row-by-row. The short version, where Brickfolio is concerned:
| Free | Collector | Reseller | |
|---|---|---|---|
| Brickfolios | 1 | 3 | 10 |
| Holdings per Brickfolio | 25 | 250 | 2,500 |
| CSV export | Unlimited | Unlimited | Unlimited |
| Advanced exports (Schedule C, BE-compatible, snapshots) | — | — | Included |
| Appraisal certificates | — | 10/year | Unlimited |
| Full certificate history | — | — | Included |
| Public API access | — | — | Included |
The two limits that bite the soonest are Brickfolios and holdings. If you have one collection and it fits in 25 sets, Free is honestly the right answer. If you have a real collection that needs more than one bucket — or one bucket that needs more than 25 sets — Collector unlocks the room.
If you're a working reseller with inventory in the hundreds, the Reseller tier is where the math justifies itself: 10 Brickfolios at 2,500 holdings each is enough for any reseller we currently support. Plus the advanced exports, plus unlimited certificates, plus the API, plus the rest of the platform's reseller back-office (the My Business toolkit) that lives outside this post.
Where it fits
Brickfolio is the holdings layer underneath everything. Here's how the pieces connect:
- The price guide prices your Brickfolio every morning. You don't run it. It runs.
- The deal feed can filter against your Brickfolio ("only show me deals on sets I already own"). Useful for buying duplicates of conviction holdings on dips.
- BrickWatcher cross-references your Brickfolio so a retirement signal on a set you own is more prominent than the same signal on one you don't.
- Appraisal certificates are frozen snapshots of a Brickfolio (or subset of one).
- Sales Ledger is the post-sale book your Brickfolio feeds when a holding sells.
- The public API lets your own tools read your Brickfolio and Sales Ledger without scraping the UI.
Everything has Brickfolio as a foreign key, conceptually. That's why the rebuild made it the heart of the site — not because the page draws the most traffic (it doesn't), but because every other feature only earns its keep when it's making your Brickfolio more useful.
Try it
If you have a BrickPicker account, Brickfolio is in the sidebar. The fastest first run:
- Open Brickfolio. The default Brickfolio is named after you and starts empty.
- Hit Brickfolio Actions → Import and pick whichever import path matches where your data is now — BrickEconomy, Brickset, Rebrickable, or CSV.
- Watch the wizard land the holdings, then let the page price them. The right rail's Overview tab fills in.
- Browse the Themes tab in the right rail. Most people are surprised by their actual concentration.
- If you want depth, click through to the /analyze/[id] view from the right rail link.
If you're starting fresh, type a set number into the "Add holding" input and the autocomplete will do the rest. You can build a Brickfolio one set at a time. Wherever you're coming from, getting your collection in is the smallest possible amount of work.
The platform's job is to take it from there. Your job is to look at the numbers when you want to, and ignore them when you don't. The market keeps moving either way.
— Jeff




