The rules · held in public

Methodology

A benchmark is only worth what its sourcing is worth. Here is exactly how this dataset is built, what we refuse to publish, and where it is weak.

Flexport · LT storage · $6.90/cu ft/30d
Walmart WFS · ≤1 lb · $3.45/unit
Amazon MCF · 0–4oz · $7.34/unit
ShipCalm · storage · $0.19/cu ft/wk
VERIFIED 2026-08-04
the cadence No figure goes more than a quarter unchecked. Nothing gets invented to fill a gap.
01

Where numbers come from

A figure enters the dataset only from a vendor's own published pricing page, rate card, or help documentation; a carrier's official surcharge page; or a named third-party survey that we attribute explicitly. We do not take rates from aggregator blogs, lead-generation marketplaces, or content farms, because those numbers are usually recycled from each other and cannot be traced. Where we cite a survey run by a company that also sells into this market, we name the source in the row so you can discount it as you see fit.

One case sits at the edge of that rule, and we would rather name it than have you find it. The dataset holds six Amazon FBA rows whose figures are official Amazon quotes reproduced in two Seller Central forum threads rather than published on a pricing page or in help documentation. Those threads are on Amazon's own domain, but a discussion board is not a rate card. The notes field carries that caveat on five of the six; the rate-decrease rows are labelled historical baselines rather than current rates, and the non-peak storage figure is flagged as not independently confirmed for 2026. We point each row's source URL at the thread it came from rather than implying a cleaner provenance. If you discount those rows, discount them knowingly.

02

The schema

Every row records the vendor, service line, fee item, unit of charge, amount in USD, conditions attached to the rate, source URL, the date we accessed it, a notes field for caveats that do not fit a column, and two fields that exist to make a rate change visible: the amount the row replaced, and the date it changed. Only two rows use those two fields today — Flexport's minimum storage charge per DSKU ($0.01 → $0.10, changed 2026-01-01); Flexport's monthly minimum fulfillment spend ($500 → $5,000, changed 2026-01-01) — each recorded from the vendor's own announcement, and every other row leaves them empty because no rate we track has moved since we recorded it. One further field tags rows that record the same underlying fee, so a per-company total never counts one fee twice. The conditions field is not decoration. Fulfyld's additional-item pick fee carries the condition beyond first 5 free picks per order; its all-in per-order fee carries 501-1000 orders/month volume tier; includes postage+pick&pack+packaging+label. Those are two rows from one vendor's own card measuring different things, and stripping that context is how misleading averages get made.

vendor · service_line · fee_item · unit · amount_usd · conditions · source_url · accessed_date · notes · superseded_amount · changed_on · fee_uid
03

What we will not do

We do not average across structurally different fee models. We do not convert a "from $7.00" floor or an "up to $1.75" ceiling into a point estimate. We do not present a historical rate change or a pricing announcement as a current rate; those rows are labeled and dated in place. We do not fill a gap with an estimate because a table looks incomplete. When a vendor publishes nothing, the honest datapoint is that they publish nothing, and we record that instead.

04

Verification cadence

Every row carries the date it was last checked, and the dataset's freshness floor is at the foot of this page. Our commitment is that no figure goes more than a quarter without being looked at again: the oldest row was read on 2026-08-04, so the first re-verification cycle completes by 2026-11-04, and the dates in the data are how you check whether we did it. Re-verification is manual today and worked through by vendor, so treat this as a commitment rather than an automated guarantee. When a rate changes, the new amount goes in the row and the old one goes in the superseded-amount field with the date it changed, so the direction of travel stays readable instead of being overwritten. When we get something wrong, the fix is logged on the corrections page.

05

Reader-submitted rate cards

When operators submit quotes and invoices to the dataset, we normalize them into the same schema, strip every identifying detail about the submitting brand, and mark them as submitted data so you can weigh them differently from published rates. We name the vendor. We never name the brand. The dataset contains no submitted rows yet — intake is open, and this is how they will be handled when they arrive. See how submissions work.

06

Known limits

The published band skews small, and it does not skew randomly. Of the 23 companies we checked, 10 publish no dollar figure anywhere (Atomix Logistics, Cahoot, Falcon Fulfillment, Red Stag Fulfillment, Ryder E-commerce by Whiplash, ShipHero, ShipMonk, ShipNetwork, a2b Fulfillment, eFulfillment Service), and 12 publish nothing for at least one whole fee category. The composition matters more than either count: the vendors publishing firm numbers are smaller operators using transparency as a differentiator, while the names an operator is most likely to have heard of route everything through a salesperson. ShipBob is the clearest case — its pricing page carries exactly one number, $0 for its WMS, and every other fee it lists is quote-gated. Our own sample is biased toward publishers, because we went looking for published rates, so treat even that as a floor on how much of this market is quote-gated. It means the visible spread understates what large, sales-led providers actually charge, and a quote you receive may sit well outside our published range for reasons that have nothing to do with you being overcharged. Amazon's current per-tier FBA tables render only inside a JavaScript pricing tool or behind login-gated Seller Central help pages and are not extractable, so we hold verified announcements and dated baselines for FBA rather than a current table. Treat every number here as a negotiating input, not a verdict.

07

Independence

No vendor pays to appear in the dataset, to be excluded from it, or to influence how a rate is presented. We take no affiliate revenue, referral fees or payment of any kind from any company that appears in these tables. Nothing here is legal, tax, or financial advice.

Current dataset: 214 published rows, 30 distinct sources. Oldest row verified 2026-08-04; newest 2026-09-11. Browse the dataset →