← Back to home

CardFeeCalc API

Programmatic access to the same fee, compare, and surcharge engines used on cardfeecalc.com. Contact [email protected] for volume questions.

Pricing

PlanPriceCalls / month (UTC)
FreeFree500
StarterComing soon$29/mo25,000
BusinessComing soon$99/mo250,000

Monthly quotas reset at 00:00 UTC on the first day of each calendar month. Under concurrency, a small overage is possible before limits apply.

Need a custom integration?

Want CardFeeCalc's fee data in your checkout, invoicing or reporting tool, higher limits, or a white-label calculator? Email [email protected] and tell us what you're building.

Get a free API key

Lost your key? Email [email protected]. We cannot resend secrets.

Paid plans

Starter ($29/mo, 25,000 calls) and Business ($99/mo, 250,000 calls) are coming soon. The free tier is available now.

Want to hear when paid plans launch? Join the API waitlist.

Quickstart

Base URL https://cardfeecalc.com/api/v1. Send Authorization: Bearer cfc_live_…. JSON responses include rates_checked and sources. effective_rate is a decimal fraction (0.032 = 3.2%).

curl -s https://cardfeecalc.com/api/v1/fees \
  -H "Authorization: Bearer $CFC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"processor":"stripe","amount":100}'
{
  "processor": "stripe",
  "variant": null,
  "amount": 100,
  "currency": "USD",
  "fee": 3.2,
  "net": 96.8,
  "effective_rate": 0.032,
  "rate_label": "2.9% + $0.30 per successful card charge",
  "rate_basis": "published",
  "rate_note": null,
  "rates_checked": "October 7, 2026",
  "sources": [
    {
      "label": "Stripe US pricing",
      "url": "https://stripe.com/pricing"
    }
  ]
}
curl -s https://cardfeecalc.com/api/v1/compare \
  -H "Authorization: Bearer $CFC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":100}'
{
  "amount": 100,
  "results": [
    {
      "rank": 1,
      "id": "venmo_business",
      "name": "Venmo Business",
      "rate_label": "1.9% + $0.10 (payments to your Venmo business profile)",
      "rate_basis": "published",
      "rate_note": null,
      "fee": 2,
      "net": 98,
      "effective_rate": 0.02
    },
    {
      "rank": 2,
      "id": "helcim",
      "name": "Helcim (IC+ est.)",
      "rate_label": "Interchange 1.81% + $0.10 + Helcim 0.4% + $0.08 (in-person, $0–$50K monthly card volume)",
      "rate_basis": "estimate",
      "rate_note": "Illustrative interchange you can edit, plus Helcim’s published interchange-plus margin tiers. Checked October 7, 2026.",
      "fee": 2.39,
      "net": 97.61,
      "effective_rate": 0.0239
    },
    {
      "rank": 3,
      "id": "toast",
      "name": "Toast",
      "rate_label": "2.49% + $0.15 (illustrative example quote — Toast custom pricing only; edit to match yours)",
      "rate_basis": "illustrative",
      "rate_note": "Illustrative example rate only — Toast does not publish a universal card-present fee. Checked October 7, 2026.",
      "fee": 2.64,
      "net": 97.36,
      "effective_rate": 0.0264
    }
  ],
  "rates_checked": "October 7, 2026"
}

Endpoints

  • GET /processors — 9 processors with variants and source URLs
  • POST /fees — fee breakdown for one processor
  • POST /compare — ranked comparison for an amount
  • POST /surcharge — US state surcharge allowance
  • GET /usage — plan, usage, reset date (does not count toward quota)
  • POST /keys — create a free key (no auth)

POST /fees body: processor, amount (max 1,000,000 USD), optional variant/plan, international for PayPal. POST /surcharge: state, amount, optional percent_rate, fixed_fee_usd (defaults 2.9% + $0.30), mode, colorado_option. Responses include rate_basis (published, illustrative, or estimate).

Errors: 400 validation, 401 bad key, 429 over quota (includes reset_at). Validation runs before metering. Rates verified October 7, 2026.