Skip to main content
Question

Metrics API - currencies


Forum|alt.badge.img

I tried out the metrics API and I noticed something strange:

All my revenue is in GBP, yet for the item “Monthly Recurring Revenue in GBP”, the value is returned as 0 and the unit still shows as $.  Only the “Monthly Recurring Revenue” item returns a value, but it’s in $.

My account “Date and Region” set up also has GBP selected, but I’m getting £0 as my MRR.  Is there a way to get the actual value of GBP back?  I don’t really want to do a conversion as it will be inaccurate due to currency fluctuations (and that means a conversion to USD and back to GBP which can cause even bigger discrepancies).

As an example, if I had £100 in revenue and RevenueCat uses a rate of 1.31 to convert it to USD (Monday’s rate), it would show in the API as $131.  If I convert it back to GBP using a rate of 1.35 (today’s rate), the value of $131 would convert to £97.  As I will be receiving my funds in GBP, this is quite inaccurate and I want to find something that can tell me my actual revenue instead of a double-converted value. 

3 replies

hussain
RevenueCat Staff
Forum|alt.badge.img+3
  • RevenueCat Staff
  • 31 replies
  • May 28, 2025

Hi,

Thanks for flagging this and for the detailed example—it’s really helpful. Here’s what’s happening under the hood:

How the “Monthly Recurring Revenue in £ (GBP)” value is calculated
The Metrics API builds your MRR by taking each transaction’s original amount × the exchange rate in effect at the time of that transaction. We then sum those converted-to-GBP values to return your “MRR in GBP.”

Why you’re seeing 0 and a “$” unit
If we don’t have an exchange rate for a given transaction timestamp, the API can’t convert the amount—and rather than guess, it falls back to returning 0. That also causes the default “$” unit to persist in the response.

Why your “Date and Region” or “Currency” settings don’t change this
Those settings only affect the RevenueCat dashboard—they don’t influence the Metrics API’s response schema.

I’ve escalated this to Engineering—this appears to be impacting multiple projects, not just your account—and they’re investigating a fix to ensure historical exchange-rate lookups are complete. In the meantime, our strongest, most consistent signal is still the base “Monthly Recurring Revenue” metric in USD.

I realize this isn’t ideal when you need GBP-denominated reporting, and I appreciate your patience while we work on it. If there’s anything else I can clarify, just let me know!

Best,

Hussain


Forum|alt.badge.img
  • Author
  • New Member
  • 4 replies
  • May 28, 2025

Thank you for the response.

 

So it seems like it’s still double-converting, which isn’t great when dealing with financial transactions.  All my transactions original currency have been in GBP, not USD.  So the better way would be to keep all the transactions in their original currencies and do the conversion the way you want to, to whatever currency is needed.  I have the occasional AED or EUR transaction, but not many - my payouts still take place in GBP from Google, so they convert directly, not via USD.


hussain
RevenueCat Staff
Forum|alt.badge.img+3
  • RevenueCat Staff
  • 31 replies
  • June 5, 2025

Hi Mulder00,

Great news—engineering just rolled out support for a currency query parameter on the /metrics/overview endpoint. Now, if you request:

/metrics/overview?currency=GBP

the returned “Monthly Recurring Revenue” (mrr) value will be in GBP. A couple of important notes:

  • Unit field: It will still show "unit": "$", but that simply denotes “currency” (not specifically USD).

  • Legacy fields: Metrics like Monthly Recurring Revenue in GBP, Monthly Recurring Revenue in AUD, etc., will continue to return 0 and are being phased out. You can safely ignore those and rely solely on the "Monthly Recurring Revenue" object.

For example, here’s a snippet from the updated response (with currency=GBP):

{
  "metrics": [
    {
      "description": "Monthly Recurring Revenue",
      "id": "mrr",
      "last_updated_at": null,
      "last_updated_at_iso8601": null,
      "name": "MRR",
      "object": "overview_metric",
      "period": "P28D",
      "unit": "$",
      "value": 100
    },
    {
      "description": "Monthly Recurring Revenue in GBP",
      "id": "mrr_gbp",
      "last_updated_at": 1749043739498,
      "last_updated_at_iso8601": "2025-06-04T13:28:59.498684+00:00",
      "name": "MRR GBP",
      "object": "overview_metric",
      "period": "P28D",
      "unit": "$",
      "value": 0
    }
    // …other legacy fields…
  ],
  "object": "overview_metrics"
}

In this example, "value": 100 in the Monthly Recurring Revenue object is your true MRR in GBP. You can ignore the Monthly Recurring Revenue in GBP field returning 0.

Supported currency values:

  • USD

  • EUR

  • GBP

  • AUD

  • CAD

  • JPY

  • BRL

  • KRW

  • CNY

  • MXN

  • SEK

  • PLN

Let me know if you have any other questions!

Best,

Hussain


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings