Currency API for SaaS

SaaS products meet currencies in three places: showing localized prices, invoicing in the customer's currency, and reporting revenue back in one base currency. Each needs a different slice of rate data — live rates for display, dated rates for invoices, historical series for reporting — and this API serves all three from one integration.

Localized pricing pages

Convert your USD price book at request time or on a schedule. The latest endpoint with a symbols filter returns exactly the currencies you localize into — one call, all markets.

Invoicing at a point in time

Invoices must use the rate from the invoice date, not today's. The historical endpoint returns any date's rates, so reissued or disputed invoices always reproduce identically.

Revenue normalization

Month-end reporting converts every transaction back to your base currency. Time series gives you every day's rate for the period in one request instead of thirty.

The endpoints you'll use

Price a EUR checkout from a USD price book

const res = await fetch(
  "https://forex-feed.com/api/v1/convert?from=USD&to=EUR&amount=49",
  { headers: { Authorization: `Bearer ${process.env.FOREX_FEED_KEY}` } }
);
const { data } = await res.json();
// data.result -> 42.91 (rate shown to the customer: data.rate)

FAQ

How fresh do rates need to be for SaaS pricing?

For display pricing, 5-minute rates (Developer plan) are plenty. If you're quoting binding conversion amounts at checkout, the 20-second Unlimited tier keeps quotes tight to the market.

Can I reproduce an old invoice's conversion?

Yes — the historical endpoint returns the exact stored rate for any past date, so a reissued invoice always matches the original.