Marketplace Fee Calculator: Etsy, eBay & Amazon Payout avatar

Marketplace Fee Calculator: Etsy, eBay & Amazon Payout

Pricing

from $0.63 / 1,000 result rows

Go to Apify Store
Marketplace Fee Calculator: Etsy, eBay & Amazon Payout

Marketplace Fee Calculator: Etsy, eBay & Amazon Payout

Marketplace fee calculator for Etsy, eBay, Amazon, Poshmark and 17 more US platforms: seller fees line by line, net payout, profit, margin, break-even and target price. Fee data by SellersCalc.

Pricing

from $0.63 / 1,000 result rows

Rating

0.0

(0)

Developer

Cliqto Media

Cliqto Media

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Calculate seller fees, payout, profit and break-even price for Etsy, eBay, Amazon, Poshmark, Mercari, TikTok Shop and 15 more US marketplaces and payment platforms. Fee rates come from the open SellersCalc fee data (CC BY 4.0), with every fee line shown separately.

Use it to price products, compare platforms or check margins in a spreadsheet. The smallest useful run is one Etsy sale: about 3 seconds and less than one cent. No login or API key is needed.

Marketplace Seller Fee Calculator: your sale, every fee line, then payout, profit, margin and break-even price

Table of contents

What it does

You add one or more sales (price, shipping you charged, your item cost and label cost) and choose platforms. For each sale on each platform the Actor returns one Dataset row:

  • every fee line with its rate and dollar amount (transaction, payment processing, listing, referral, FBA and other fees);
  • total seller fees and your net payout;
  • profit and margin when you give your item cost;
  • the break-even price and, if you ask, the lowest price for your target margin;
  • costs that are not included (sales tax, returns, ads, subscriptions, currency conversion), so you never read them as zero.

The export mode returns the fee table itself: 57 fee lines of 21 platforms with rate, payer, minimum, cap and source link.

Supported platforms: Amazon, Depop, eBay, Etsy, Facebook Marketplace, GOAT, Grailed, Gumroad, Mercari, OfferUp, PayPal, Poshmark, Reverb, Shopify Payments, Square, StockX, Stripe, TikTok Shop, Vinted, Walmart Marketplace, Whatnot.

Good fit

  • Price a product so that it still makes money after Etsy, eBay or Amazon fees.
  • Compare the same sale on 5–20 platforms in one run and see where you keep more.
  • Get a clean fee table for your own spreadsheet, repricer or AI agent.

Not a fit / limits

  • US fee schedules in USD only. Other countries and currencies return a not_supported row, not guessed fees.
  • One standard rate per platform. Category rates, seller levels, Amazon FBA size tiers and promotions are not modeled.
  • Amazon always includes the single published FBA fee. For merchant-fulfilled orders add amazon.fbaFee to excludeFeeKeys.
  • Sales tax, returns, ads, subscriptions, storage and currency conversion are listed in notIncluded, not calculated.
  • Rates are as last reviewed by SellersCalc (scheduleLastReviewed). This is not a legal or accounting guarantee; check the platform page in officialSource before big decisions.

Quick start

  1. Open the Input tab.
  2. Keep the prefilled example: platform etsy and three sales in scenarios.
  3. Click Start.
  4. Open the Calculations view of the Dataset and check totalSellerFees, netPayout and profit.

Expected result: three rows, one for each sale. The first sale ($25 + $5 shipping) shows fees $3.30, payout $26.70, profit $14.20 and break-even price $9.31.

Use cases

Buyer jobInput pathOutput entityKey fieldsNext integration
Price one product for a marginscenarios, targetMarginPercentcalculation rowprofit, marginPercent, breakEvenSalePrice, targetSalePricespreadsheet, repricer
Compare platforms for the same saleplatforms (several), scenariosone row per platformplatform, totalSellerFees, netPayout, effectiveFeeRatePercentBI table, dashboard
Check a whole catalogscenarios (up to 100)one row per product and platformscenarioId, fees[], profitGoogle Sheets, CSV
Keep a fee tablemode = exportfee rowfeeKey, value, unit, minimumAmount, capAmountyour own calculator
Answer a fee question in an AI agentprefill input via MCPcalculation rowfees[], netPayout, notIncludedAI chat, agent

Input

Input fields

FieldPlain nameTypeRequiredDefault / prefillAllowed valuesEffectExampleRecommendation
modeWhat to returnstringnodefault calculatecalculate, exportcalculate = fees and profit for your sales; export = fee table linescalculateUse export to see fee keys
platformsPlatformsarray of stringsyes for calculateprefill ["etsy"]1–25 platform ids; facebook, tiktok and other short names also workOne row for each sale on each platform["etsy","ebay"]Empty in export = all platforms
countryCountrystringnodefault US2-letter codePicks the fee scheduleUSOnly US has data now
scenariosSalesarray of objectsyes for calculateprefill: 3 Etsy sales1–100 salesEach sale is calculated on every platformsee belowAdd itemCost to get profit
scenarios[].salePriceItem pricenumberyes—0–1,000,000Price paid by the buyer for the item25Before sales tax
scenarios[].shippingChargedShipping chargednumberno00–1,000,000Added to the order total; most percent fees use it5Use 0 if the buyer pays shipping to the platform
scenarios[].itemCostItem costnumbernoempty0–1,000,000Needed for profit, marginPercent, break-even and target price8Leave empty if you only need fees
scenarios[].shippingCostLabel costnumberno00–1,000,000Your shipping cost, part of totalCosts4.5
scenarios[].currencyCurrencystringnoschedule currencye.g. USDA different currency gives not_supportedUSDLeave empty
scenarios[].idYour labelstringnoemptyany textCopied to scenarioIdmugUse your SKU
targetMarginPercentTarget marginintegernoempty0–95Adds targetSalePrice30
excludeFeeKeysFees to skiparray of stringsnoemptyplatform.feeKey, up to 100Line shown with status excluded, not added["amazon.fbaFee"]Get keys from export
  • Money is rounded to cents. A negative or non-number price gives an invalid row for that sale; the other sales still run.
  • Repeated platforms (etsy, Etsy) are counted once. Repeated sales are kept as separate rows.
  • An empty scenarios list in calculate mode stops the run with a clear input error.

Interacting settings

WhenInput AInput BEffective behaviorExampleCost/result effect
Profit needs your costscenarios[].itemCosttargetMarginPercentWithout itemCost, profit, marginPercent, breakEvenSalePrice and targetSalePrice are null{"salePrice": 25}Same price per row
Export ignores salesmode = exportscenariosSales are not used; one row per fee line{"mode":"export","platforms":["etsy"]}4 rows for Etsy
Skip a feeexcludeFeeKeysplatformsThe line stays in fees[] with status excluded and is not added["amazon.fbaFee"]None

Input examples

Compare three platforms with a target margin

{
"platforms": ["etsy", "ebay", "poshmark"],
"scenarios": [
{ "id": "jacket", "salePrice": 48, "shippingCharged": 0, "itemCost": 15, "shippingCost": 7 }
],
"targetMarginPercent": 30
}

Expected behavior: one calculation for each platform. Expected output: 3 rows with totalSellerFees, netPayout, profit and targetSalePrice. In our test run fees were $5.01 on Etsy, $6.93 on eBay and $9.60 on Poshmark; the 30% margin price was $37.10, $39.72 and $44.00. Limit or cost note: 3 charged rows.

Amazon without FBA

{
"platforms": ["amazon"],
"scenarios": [{ "id": "ceramic-mug-12oz", "salePrice": 24.99, "shippingCharged": 4.99, "itemCost": 6.25, "shippingCost": 5.65 }],
"excludeFeeKeys": ["amazon.fbaFee"]
}

Expected output: the referral fee only (15%, $4.50), payout $25.48, profit $13.58. The FBA line is shown with status excluded; storage lines are not_included.

Fee table of all platforms

{ "mode": "export" }

Expected output: 57 fee rows.

Output

The Dataset has two views: Calculations (type = calculation) and Fee schedule (type = fee). Views select columns, not rows: a run has one mode, so use the view of that mode. The run summary is in the Key-value store record RUN_SUMMARY.

Output fields (calculation)

FieldMeaningTypeCan be empty?Example / enumSource / notes
statusRow resultstringnocomplete, partial, not_supported, invalidsee Row status
scenarioIndexPosition of the sale in your listintegeryes, for an unknown platform row0
scenarioIdYour labelstringyesmugfrom scenarios[].id
platformPlatform idstringyes, for an invalid sale rowetsy
platformName, platformKindPlatform name and kindstringyesEtsy, marketplaceSellersCalc
country, currencyFee schedulestringcurrency yesUS, USD
salePrice, shippingCharged, orderTotalYour sale; orderTotal = price + shipping chargednumberyes for invalid25, 5, 30
itemCost, shippingCost, totalCostsYour costsnumberitemCost, totalCosts yes8, 4.5, 12.5
totalSellerFeesAll fees you paynumberyes if not calculated3.3only real charges
totalBuyerFees, buyerPaysFees the buyer pays, total the buyer paysnumberyes if not calculated0, 30e.g. Vinted
netPayoutMoney you receivenumberyes if not calculated26.7orderTotal − totalSellerFees
profitPayout minus your costsnumberyes without itemCost14.2
marginPercentProfit / order totalnumberyes without itemCost or for a $0 order47.33
effectiveFeeRatePercentFees / order totalnumberyes for a $0 order11
breakEvenSalePriceLowest price (in cents) with profit ≥ 0numberyes9.31same shipping and costs
targetMarginPercent, targetSalePriceLowest price for your target marginnumberyes30, 16.4
fees[]Every fee linearraynokey, name, ratePercent, fixedAmount, amount, statusstatus: applied, excluded, not_included, …
notIncluded[]Costs not in the calculationarraynosales_taxnot zero, just unknown
assumptions[], warnings[]How the result was madearrayno
scheduleLastReviewedDate SellersCalc reviewed the ratesstringyes2026-08-15not the date rates took effect
officialSource, calculatorUrlPlatform fee page, SellersCalc calculatorstringyeshttps://www.etsy.com/legal/fees
messageReason for a non-complete rowstringyes
sourceProvider, URL, fetch time, licence, attributionobjectnoSellersCalc, CC BY 4.0

Output fields (fee schedule, mode = export)

FieldMeaningTypeCan be empty?Example
platform, platformNamePlatformstringnoetsy
feeKey, feeNameFee line id and namestringnotransactionPct, Transaction fee
role, payercharge, threshold, minimum, cap, …; who paysstringyescharge, seller
valueType, value, unitRate or amountstring / numberyespercent, 6.5, percent
basis, appliesTo, conditionWhat the fee is based onstringyes
minimumAmount, capAmountLimits of the feenumberyes0.5
calculatorTreatmentHow the calculator uses the linestringnopercent_of_order_total
note, scheduleLastReviewed, officialSource, sourceNotes and sourcestring / objectyes

Row status

StatusMeaningCharged?
completeAll fee lines appliedyes
partialA fee line has a rule the Actor does not know; see warningsyes
not_supportedUnknown platform, country or currency (one row per platform or per sale)no
invalidThe sale failed checks (one row per sale)no

At most 10 free rows (not_supported, invalid) are saved per run. The others are listed in RUN_SUMMARY.skipped.

Output entities and surfaces

SituationDataset/API/KVS/live viewResult shapeUser action
Normal itemDataset, Calculations viewone complete row per sale and platformread netPayout, profit
Domain-empty resultDataset + RUN_SUMMARY, status NO_RESULTS, run SUCCEEDEDnot_supported / invalid rows with messagecheck platform, country, currency, prices
Partial resultDataset, RUN_SUMMARY status PARTIALmix of row statusesread status and message
Technical failureRUN_SUMMARY status ERROR, run FAILED, no rowsmessagerun again later

Output example

{
"type": "calculation",
"status": "complete",
"scenarioIndex": 0,
"scenarioId": "mug",
"platform": "etsy",
"platformName": "Etsy",
"country": "US",
"currency": "USD",
"salePrice": 25,
"shippingCharged": 5,
"orderTotal": 30,
"itemCost": 8,
"shippingCost": 4.5,
"totalCosts": 12.5,
"totalSellerFees": 3.3,
"netPayout": 26.7,
"profit": 14.2,
"marginPercent": 47.33,
"effectiveFeeRatePercent": 11,
"breakEvenSalePrice": 9.31,
"targetSalePrice": null,
"fees": [
{ "key": "transactionPct", "name": "Transaction fee", "ratePercent": 6.5, "amount": 1.95, "status": "applied" },
{ "key": "paymentPct", "name": "Payment processing", "ratePercent": 3, "amount": 0.9, "status": "applied" },
{ "key": "paymentFixed", "name": "Payment fixed fee", "fixedAmount": 0.25, "amount": 0.25, "status": "applied" },
{ "key": "listingFee", "name": "Listing fee", "fixedAmount": 0.2, "amount": 0.2, "status": "applied" }
],
"notIncluded": [{ "item": "sales_tax", "reason": "Sales tax and fees charged on tax are not in the fee data; amounts exclude tax." }],
"scheduleLastReviewed": "2026-08-15",
"officialSource": "https://www.etsy.com/legal/fees",
"source": { "provider": "SellersCalc", "license": "CC BY 4.0", "attribution": "Fee data by SellersCalc (https://www.sellerscalc.com)" }
}

This example is trimmed and shows the first prefill sale. null means "not known" (for example no target margin was asked), never zero.

Pricing and limits

Pricing unit

This Actor uses pay per event:

EventPrice
Actor start$0.0009 per run (256 MB)
Result row (complete or partial calculation, or one fee table line)$0.0009 (Free plan), $0.00085 (Bronze), $0.0008 (Silver), $0.00075 (Gold and higher)
  • not_supported and invalid rows are free.
  • A run with no useful rows (NO_RESULTS) costs only the start event.
  • A run that stops on an input error or a source error costs only the start event and saves no rows.
  • Platform usage is included in the price.

Cost examples

ScenarioInput scopeCharged rowsStartRows (Free plan)Total
Prefill3 Etsy sales3$0.0009$0.0027$0.0036
Compare1 sale × 10 platforms10$0.0009$0.009$0.0099
Catalog100 sales × 1 platform100$0.0009$0.09$0.0909
Bulk100 sales × 10 platforms1,000$0.0009$0.90$0.9009
Fee tableexport, all platforms57$0.0009$0.0513$0.0522
Nothing to calculatecountry GB0$0.0009$0$0.0009

Limits

  • Up to 100 sales and 25 platform names per run. 21 platforms are supported, so at most 2,100 charged rows plus up to 10 free rows. A full run took a few seconds in our tests.
  • One request to the fee data per run.
  • If Apify moves a run to another server, the run continues where it stopped: rows are not written or charged twice.
  • Default timeout 300 seconds, memory 256 MB.

API and integrations

  • API: start the Actor with the input JSON from the examples and read Dataset items. Use the calculations or feeSchedule view.
  • Export: download the Dataset as JSON, CSV or Excel from the run page.
  • Scheduling: run mode = export on an Apify schedule to keep your fee table up to date.

Use with AI agents (MCP)

  • MCP server with only this Actor: https://mcp.apify.com?tools=cliqtomedia/marketplace-fee-calculator
  • Smallest useful input:
{ "platforms": ["etsy"], "scenarios": [{ "salePrice": 25, "shippingCharged": 5, "itemCost": 8 }] }
  • Key output fields: totalSellerFees (all fees), netPayout (money you get), profit, breakEvenSalePrice, notIncluded (costs not counted).
  • A typical call takes 2–5 seconds and costs under one cent. Limits: 100 sales, 25 platforms, US/USD only.

Troubleshooting

All rows are not_supported

Symptom: the run ends with NO_RESULTS. Likely reason: an unknown platform id, a country other than US or a currency other than USD. Check: the message of the row and RUN_SUMMARY.supported. Action: use a platform id from the list above, country = US and no currency or USD.

profit is empty

Symptom: profit, marginPercent and breakEvenSalePrice are null. Likely reason: no itemCost in the sale. Action: add itemCost (use 0 if the item cost you nothing).

Amazon fees look too high

Likely reason: the single published FBA fee is included. Action: add amazon.fbaFee to excludeFeeKeys for merchant-fulfilled orders.

The run failed with ERROR

Likely reason: the fee data was not available or changed its format. No rows are saved and no rows are charged. Action: run again later. If it repeats, open an issue.

FAQ

Do I need an account on Etsy, eBay or Amazon?

No. The Actor uses open fee data. It does not log in and does not read your shop.

How fresh are the fees?

Each row has scheduleLastReviewed, the date SellersCalc last checked the rates. The Actor reads the data on every run. Platforms can change fees at any time; check officialSource for the platform page.

Why is my break-even price one cent different from another calculator?

The Actor finds the lowest price in whole cents that gives profit ≥ 0, using fee amounts rounded to cents, as shown in fees[]. Some calculators use unrounded rates.

Are taxes and returns included?

No. They are listed in notIncluded so you can add them yourself.

Data source and licence

Fee data by SellersCalc, licensed under CC BY 4.0. Each row carries this attribution in source. SellersCalc and this Actor are not connected to Etsy, eBay, Amazon or other platforms.

Support

Use the Issues tab of this Actor. Add the run ID, your input (without private data) and the row message you saw. Do not send API tokens or passwords.