Compare supplier prices from your terminal
Search products, pick a size and colour, and see what seven suppliers charge to deliver it to your buyer. As a table, or as JSON for scripts and AI agents. Free, no account, no API key.Search products, pick a size and colour, and see what Printful, Printify, Gelato and four more suppliers charge to deliver it to your buyer. The same prices as the site, as a table or as JSON for scripts and AI agents. Free, no account, no API key.
npx podbenchmark Needs Node 20 or newer.
Keep it installed:
npm i -g podbenchmarkNeeds Node 20 or newer. Install it for good with
npm i -g podbenchmark.
Three commands
search, then options, then compare. Each prints what to run next. Here's the last one:Each one prints what to run next, so you can copy your way through.
Real output · checked Sep 30 – Oct 21
| ID | PRODUCT | SUPPLIERS | TO US, FROM |
|---|---|---|---|
| bella-canvas-3001 | Bella+Canvas 3001 Unisex Jersey Short Sleeve Tee | 7 | $15.38 |
| bella-canvas-3001y | Bella+Canvas 3001Y Youth Jersey Short Sleeve Tee | 5 | $16.32 |
| bella-canvas-3001t | Bella+Canvas 3001T Toddler Short Sleeve Tee | 5 | $15.58 |
3 of 9 · --limit 10 for more · next: npx podbenchmark options bella-canvas-3001
Bella+Canvas 3001 Unisex Jersey Short Sleeve Tee · 1,413 size and colour pairs
- --size
- xs s m l xl 2xl 3xl 4xl 5xl
- opens on m
- --color
- black white navy asphalt ash aqua … 163 more with --all
- opens on black
next: npx podbenchmark compare bella-canvas-3001 --size m --color black --to US
Bella+Canvas 3001 · M · Black · to the US in USDBella+Canvas 3001 · M · Black · delivered to the US in USD
| SUPPLIER | PRODUCT + SHIPPING | ARRIVES |
|---|---|---|
| Gelato | $15.68 | 4–6 days |
| Fourthwall | $16.04 | 6–8 days |
| Printify via Printify Choice | $16.24 | 3–7 days |
| CustomCat | $16.46 | 3–9 days |
| Printful | $16.61 | 6–9 days |
| Inkthreadable | $22.33 | 6–10 days |
| Prodigi | $22.75 | 3–8 days |
Product + shipping, before duty and sales tax. Duty is separate; see the full comparison. Checked Sep 30 – Oct 21.Product + shipping excludes duty and sales tax. Duty is separate; see the full comparison for confirmed amounts and estimates.
Full comparison podbenchmark.com/t-shirts/bella-canvas-3001
Bring your own numbers
Your supplier now and what you sell for. It shows what you'd keep with each of the others.Tell it the supplier you use now and what you sell for. It pins your supplier first and shows what you'd keep with each of the others.
Bella+Canvas 3001 · M · Black · to the US · selling for $24.00 on Etsy, shop in the US
| SUPPLIER | YOU KEEP | VS YOURSPrintful |
|---|---|---|
| Printful · now yours | $4.86 | — |
| Gelato | $5.79 | — |
| Fourthwall | $5.43 | — |
| Printify | $5.23 | — |
| CustomCat | $5.01 | — |
| Prodigi | −$1.28 | — |
| Inkthreadable | −$3.73 (estimated duty) | — |
You keep = $24.00 − (product + shipping) − deducted duty − $2.53 Etsy fees (6.5% transaction, 3% + $0.25 payments). Before tax. Gelato: Known supplier-billed duty is deducted from estimated profit. Fourthwall: Known supplier-billed duty is deducted from estimated profit. Printify: Known supplier-billed duty is deducted from estimated profit. CustomCat: Known supplier-billed duty is deducted from estimated profit. Printful: Known supplier-billed duty is deducted from estimated profit. Inkthreadable: Profit includes estimated supplier duty of $2.87. Prodigi: Known supplier-billed duty is deducted from estimated profit.
Figures retain the duty and design qualifications above; no supplier gain is established. Paste their product link instead of the ID to set --current for you.
$24.00 − (product + shipping) − deducted duty − $2.53 Etsy fees, US shop. Before tax. Gelato: Known supplier-billed duty is deducted from estimated profit. Fourthwall: Known supplier-billed duty is deducted from estimated profit. Printify: Known supplier-billed duty is deducted from estimated profit. CustomCat: Known supplier-billed duty is deducted from estimated profit. Printful: Known supplier-billed duty is deducted from estimated profit. Inkthreadable: Profit includes estimated supplier duty of $2.87. Prodigi: Known supplier-billed duty is deducted from estimated profit.
For scripts and agents
Add --json to any command. A price we don't have comes back as null, never 0.Add --json to any command. A price we don't have comes back as null, never 0, and never counts as cheapest.
Give your AI agent supplier prices
Paste this into Claude Code, Codex, Cursor or any agent that can run commands.
When I ask what a print-on-demand product costs, run npx podbenchmark (start with --help). Search for the product, pick the size and colour I mean, and compare it for my buyers' country with --json. Report product + shipping, separate duty and delivery times, and link the full comparison. Name the cheapest offer and runner-up only when the response supports that ranking. Keep any duty estimates, design requirements and setup fees with their offers. If a price is null, say we don't know it; don't treat it as free.
npx podbenchmark compare bella-canvas-3001 --size m --color black --to US --json
First of 7 suppliers
{
"ok": true,
"product": { "id": "bella-canvas-3001", "name": "Bella+Canvas 3001", "url": "https://podbenchmark.com/t-shirts/bella-canvas-3001?destination=US¤cy=USD&configuration=…" },
"destination": "US", "currency": "USD",
"optionChoices": { "size": "Adult M", "color": "Black" },
"suppliers": [
{ "offer": { "supplier": "Gelato", "price": 10.69, "shipping": 4.99,
"delivered": 15.68, "deliveryDaysMin": 4, "deliveryDaysMax": 6,
"cheapest": true, "checkedAt": "2026-10-21T20:08:59.923Z", … }, … },
…
],
…
} Every command
Everything the site and our ChatGPT app can answer. These work on all of them:
- --to
- US, GB, DE, CA or AU
- --currency
- USD, EUR, GBP, CAD or AUD
- --json
- The result as JSON
- --schema
- The JSON's shape
- --limit
- How many rows
Find a product
-
search [words]Products, with the same filters as category pages.
-
--category -
--brand -
--supplier -
--for unisex|womens|kids -
--fit -
--material -
--eco -
--weight 4-8 -
--priced -
--sort cheapest|priciest|most-suppliers|name -
--facets
-
-
categories [words]Every category, with product counts and starting prices.
-
--parent
-
-
product <product>Specs, print methods and similar products.
-
options <product>Its sizes, colours and other choices.
-
--size -
--color -
… -
--all
-
Compare and price
-
compare <product | link>Delivered price and time per supplier. Paste a supplier's product link instead of an ID.
-
--size -
--color -
… -
--current <supplier> -
--sell-for <price> -
--on etsy|shopify|woocommerce|tiktok-shop -
--shop-in <country> -
--plan base|tier1|tier2 -
--supplier <supplier> -
--similar
-
-
price <product>What to charge per supplier to keep a margin after fees.
-
--margin 30 -
--on -
--shop-in -
--plan -
--size -
--color -
…
-
Choose a supplier
-
suppliers [words]Every supplier we compare.
-
supplier <supplier>Plans, fees, where it prints, and where it's cheapest.
-
--locations -
--country <code> -
--providers -
--prices -
--vs <supplier> -
--category -
--within 1|5%
-
-
guide <product type>Which suppliers fit your shop, from the supplier guide.
-
t-shirts|hoodies|mugs|wall-art|stickers|phone-cases -
--on -
--shop-in -
--branding -
--free-start -
--choose-provider
-
Set up once
-
config setSave your country, currency, supplier and shop so you don't repeat them. Flags still win.
-
--to -
--currency -
--current -
--on -
--shop-in -
config show -
config reset
-
-
skills addTeach your AI agent to use these commands.
Claude Code, Codex, Cursor, OpenCode
-
search [words]Products, filtered by category, brand, supplier, fit, material and more.
-
categories · product · optionsBrowse categories, read a product's specs, list its sizes and colours.
-
compare <product | link>Delivered prices, with your supplier, selling price, platform and plan.
-
price <product> --margin 30What to charge per supplier to keep that margin after fees.
-
suppliers · supplier · guideSupplier facts, where each one prints and is cheapest, and which fit your shop.
-
config set · skills addSave your country, currency, supplier and shop. Teach your AI agent the commands.
Every flag is in npx podbenchmark --help.
When it can't answer
It says what to change. The exit code tells your script why.It says what to change, and the exit code tells your script why.
- Exit code 0
Prices found. A price we don't have shows as —. Prices found. A supplier price we don't have shows as —.
- Exit code 1
Something in the command needs changing, like a size the product doesn't come in. Something in the command needs changing, like a size the product doesn't come in.
No size "6xl" for this product. Choose one of: xs s m l xl 2xl 3xl 4xl 5xl.
- Exit code 2
Nothing to compare: no such product, or no supplier sells it to that country. Nothing to compare: no such product, or no supplier sells that item to that country.
No product "bella-canvas-30012". Search for it first and use the id it returns.
- Exit code 3
Couldn't reach podbenchmark.com, or too many requests. It says when to try again. Couldn't reach podbenchmark.com, or too many requests at once.
Too many requests. Try again in 30 seconds.