If you have ever searched for reliable foreign exchange data, you have almost certainly come across Oanda. The company has been a fixture in the FX industry since the late 1990s, and its Oanda exchange rates API documentation is one of the most referenced resources in the currency data space.
But here is the thing many developers discover only after spending hours reading through those docs: Oanda actually operates two distinct APIs, and the one you probably want is not the one you will find first. This guide breaks down what you need to know about navigating the Oanda exchange rates API documentation, what it costs, who it is designed for, and when a simpler alternative might be the better fit.
Understanding Oanda's Two APIs
This is the first point of confusion for most developers. Oanda maintains two separate API products that serve very different purposes.
The v20 Trading API
When you Google "Oanda API," the first result is typically the v20 REST API documentation for their trading platform. This API is designed for algorithmic traders who want to place orders, manage positions, and stream live bid/ask prices through an Oanda brokerage account.
Key characteristics of the v20 Trading API:
- Requires an Oanda trading account (practice or live)
- Provides bid/ask spreads, not mid-market rates
- Streams real-time pricing via WebSocket connections
- Includes order management, account info, and trade execution
- Free to use if you have a trading account
If you are building a trading bot, this is the right API. If you need exchange rate data for your application, it is not.
The Exchange Rates Data API
The second product, and the one most developers actually need, is the Oanda Exchange Rates Data API. This is a separate service with its own documentation, pricing, and access requirements. It provides mid-market exchange rates sourced from Oanda's proprietary data pipeline.
Key characteristics of the Exchange Rates Data API:
- Delivers mid-market rates (not trading spreads)
- Covers 200+ currencies including precious metals
- Provides historical data going back to 1990
- Offers daily and intra-day rates
- Requires a separate subscription, independent of any trading account
The Oanda exchange rates API documentation for this product is thorough but reflects its enterprise heritage. The endpoints follow a pattern like:
GET /v2/rates/spot.json?base=USD"e=EUR
GET /v2/rates/candle.json?base=USD"e=EUR
Authentication uses a custom header format, and response structures include metadata about rate collection windows and decimal precision.
Navigating the Documentation Structure
The Oanda exchange rates API documentation is organized into several sections that enterprise clients typically need.
| Documentation Section | What It Covers |
|---|---|
| Authentication | API key generation, header format, IP whitelisting |
| Spot Rates | Current mid-market rates with configurable decimal places |
| Historical Rates | Daily closing rates, specific date lookups |
| Candle Data | OHLC data at various intervals (hourly, daily, weekly) |
| Currency List | Supported currencies, metals, and cryptocurrency codes |
| Error Handling | Status codes, rate limiting, error response formats |
The documentation itself is well-written and includes example requests and responses. However, there is a significant barrier before you can test any of it: you need to contact Oanda's sales team.
The Pricing Question
This is where many developers hit a wall. Oanda does not publish pricing for their Exchange Rates Data API. The product page directs you to "Contact Sales" or "Request a Quote." Based on publicly available information from companies that have shared their experience, here is what the landscape looks like:
| Factor | Oanda Exchange Rates API |
|---|---|
| Published Pricing | No (contact sales required) |
| Free Tier | No |
| Trial Access | Available upon request |
| Minimum Contract | Typically annual |
| Target Customer | Enterprise, financial institutions |
| Self-Service Signup | No |
For enterprise clients with established budgets and procurement processes, this is standard. For an independent developer building a side project, a startup validating an idea, or a small team that needs currency data today, the sales cycle can be a blocker.
This is not a criticism of Oanda's business model. Their data pipeline is sophisticated, their coverage is deep, and their institutional clients get dedicated support. But if you need an API key in the next five minutes, the Oanda exchange rates API documentation will leave you in a waiting pattern.
What Oanda Does Well
To be fair and factual, Oanda's Exchange Rates Data API has genuine strengths:
Data lineage and auditability. Oanda has been collecting FX data for over two decades. Their rates are trusted by tax authorities, accounting firms, and central banks. If you need rates that will hold up in an audit, Oanda's provenance is hard to beat.
Granular historical data. Access to intra-day historical rates going back years is valuable for backtesting, research, and compliance. Not many providers offer this depth.
Customizable decimal precision. For financial applications that need rates to six or more decimal places, Oanda's API lets you specify the precision you need.
Institutional support. Dedicated account managers, SLAs, and custom data delivery formats are available for enterprise clients.
Where Developers Run Into Friction
Based on common feedback from developers who have evaluated the Oanda exchange rates API documentation, several pain points come up repeatedly.
No self-service access. You cannot sign up, get an API key, and start making requests. The sales process adds days or weeks before you can write your first line of integration code.
Opaque pricing. Without knowing the cost, it is difficult to include in project budgets or compare against alternatives during the evaluation phase.
Complex authentication. The API uses a custom authentication scheme rather than standard Bearer token authentication, which adds friction to initial integration.
Two-API confusion. New developers frequently spend time reading the v20 trading API docs before realizing they need the separate Exchange Rates product.
Enterprise-oriented documentation. The docs assume familiarity with FX data concepts like rate windows, collection times, and quote currencies that may not be intuitive for developers outside finance.
AllRatesToday: A Developer-First Alternative
If you need reliable exchange rate data without the enterprise procurement process, AllRatesToday is built specifically for development teams that want to move fast.
Here is how it compares:
| Feature | Oanda Exchange Rates API | AllRatesToday |
|---|---|---|
| Self-Service Signup | No (contact sales) | Yes, instant API key |
| Free Tier | No | 1,500 requests/month |
| Published Pricing | No | Transparent tiers |
| Currency Coverage | 200+ currencies | 160+ currencies |
| Update Frequency | Varies by plan | Every 60 seconds |
| Historical Data | Deep (back to 1990) | Available via historical endpoint |
| Authentication | Custom header | Standard Bearer token |
| Data Sources | Proprietary pipeline | Reuters and central banks |
| Time to First Request | Days to weeks | Under 5 minutes |
Getting Started in Under 5 Minutes
With AllRatesToday, the path from "I need exchange rates" to "I have exchange rates" is short:
Step 1: Sign up at allratestoday.com and get your API key.
Step 2: Make your first request:
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.allratestoday.com/v1/latest?base=USD"
Step 3: That is it. You get back rates for 160+ currencies, updated every 60 seconds.
Need a direct conversion?
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.allratestoday.com/v1/convert?from=USD&to=EUR&amount=100"
Need historical data for a specific date?
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.allratestoday.com/v1/historical?date=2026-01-15&base=USD"
Need a time series for trend analysis?
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.allratestoday.com/v1/timeseries?start=2026-01-01&end=2026-01-31&base=USD"
The API documentation follows the same patterns you are used to from modern REST APIs. Standard HTTP methods, Bearer token auth, JSON responses, meaningful error codes.
When to Choose Oanda vs. AllRatesToday
Neither option is universally better. The right choice depends on your specific situation.
Choose Oanda if:
- You need rates that are specifically accepted by tax authorities or auditors who require Oanda as a source
- You need intra-day historical data going back decades
- You have an enterprise budget and procurement process in place
- You need the very deepest currency coverage including exotic pairs
- You are already an Oanda trading client
Choose AllRatesToday if:
- You need an API key today, not next quarter
- You want transparent, published pricing you can include in your budget
- You are building an e-commerce store, SaaS product, or mobile app that needs reliable rates
- You want 60-second update frequency without enterprise pricing
- You prefer standard REST conventions and Bearer token auth
- You need a free tier for development and testing
Making the Switch
If you have already integrated with the Oanda exchange rates API documentation and are considering a switch, the migration is straightforward. The core concepts map directly:
| Oanda Concept | AllRatesToday Equivalent |
|---|---|
GET /v2/rates/spot.json?base=USD | GET /v1/latest?base=USD |
GET /v2/rates/candle.json | GET /v1/timeseries?start=...&end=... |
| Historical date lookup | GET /v1/historical?date=2026-01-15 |
| Custom auth header | Authorization: Bearer YOUR_API_KEY |
Most teams complete the migration in a single sprint, since the response formats are clean JSON that maps to the same data structures.
Conclusion
The Oanda exchange rates API documentation reflects a mature, enterprise-grade product built for institutional clients. If that is your profile, Oanda remains a strong choice with decades of data and a trusted reputation.
But if you are a developer who wants to start building now, with clear pricing, instant access, and a modern REST API, AllRatesToday was designed for exactly that workflow.
Sign up for free at allratestoday.com and make your first API call in under five minutes. The free tier includes 1,500 requests per month, which is plenty to build, test, and validate your integration before committing to a paid plan.
Need help choosing the right plan or integrating AllRatesToday into your project? Check out the developer documentation or explore pricing options to find the right fit.