Home Documentation Pricing API Status Blog About FAQ Support

Open Exchange Rates Hourly Updates vs AllRatesToday's 60-Second Real-Time Feed

Reviewed by Madhushan, Fintech Developer — April 2026

Open Exchange Rates' documentation is explicit about cadence: "All plans update hourly, except for the Unlimited Plan, which updates every 10 minutes." The Unlimited plan is $97/month.

That means unless you're paying top tier, the rate you see at 14:03 is the rate that was set at around 14:01 — and it will not change until roughly 15:01. Between the two timestamps, you're working with data that's up to 59 minutes stale.

AllRatesToday refreshes every 60 seconds across every plan, including the free tier. This article explains why that matters, when hourly data is enough, and how much hourly staleness costs in concrete scenarios.

The update cadence, plan by plan

Provider / PlanUpdate interval
AllRatesToday — Free60 seconds
AllRatesToday — Any paid plan60 seconds
OpenExchangeRates — Free60 minutes
OpenExchangeRates — Developer ($12/mo)60 minutes
OpenExchangeRates — Enterprise ($47/mo)60 minutes
OpenExchangeRates — Unlimited ($97/mo)10 minutes

Even at $97/month, Open Exchange Rates is a 10-minute cadence. AllRatesToday's free tier is 10x fresher than their top-paid tier.

"Real-time" is a loaded word. Here's the reality.

No public API is truly tick-by-tick real-time — that data lives on paid Bloomberg/Refinitiv terminals. The practical question is: how stale can the number be when I display it?

Concrete cost: a mid-size e-commerce checkout

Imagine an online store processing 1,000 cross-border orders per day with an average ticket of $100. The store displays prices in the customer's local currency and settles in USD.

On a calm day, hourly rates cost the business $130-230 more than 60-second rates. On a volatile day, the gap widens.

Over a year on a $36M GMV operation, that's tens of thousands of dollars in cumulative rate drift — a multiple of what any real-time rate API costs.

Where hourly data is actually fine

Not every use case cares. Hourly updates are sufficient for:

If your app fits these profiles, Open Exchange Rates' hourly cadence is not a problem.

Where hourly data hurts

How AllRatesToday delivers 60-second rates

Rates are pulled from Reuters (Refinitiv) and interbank market feeds every 60 seconds and cached at the edge. The API response reflects the most recent snapshot, and every response includes a time field so you can confirm freshness:

{
  "source": "USD",
  "target": "EUR",
  "rate": 0.9234,
  "time": "2026-04-21T14:03:22Z"
}

If time is more than 60 seconds behind "now," something's wrong. With Open Exchange Rates' hourly cadence, the timestamp field is supposed to be up to 59 minutes old — so you can't use it as a freshness check.

Rate limits aren't the bottleneck. Data is.

A common misconception: "Open Exchange Rates gives 1,000 free requests, AllRatesToday gives 300. So Open Exchange Rates is more generous."

Request quota isn't the constraint for most apps — freshness is. Once you've fetched rates, you'll cache them for their validity window anyway. The question is how often the source updates, not how often you're allowed to poll.

In other words: a 300-request quota on a 60-second feed gives you more fresh data points per day than a 1,000-request quota on a 60-minute feed.

Migration: one URL swap

If you're on Open Exchange Rates' free tier and hourly data isn't cutting it, the migration is short. The JSON response shape is nearly identical — swap the URL and the auth header.

- https://openexchangerates.org/api/latest.json?app_id=XXX
+ https://allratestoday.com/api/v1/rates?source=USD
  (Authorization: Bearer YOUR_API_KEY)

A full migration guide walks through every endpoint.

Stop serving hour-old rates

60-second updates from Reuters and interbank feeds, every plan including free.

Get your free API key