Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC
OANDA website screenshot

OANDA

OANDA is a forex and CFD trading broker offering REST APIs for live and practice trading. The v20 REST API provides access to real-time forex rates, order management, trade lifecycle, position tracking, and historical OHLC candle data dating back to 2005. A separate Exchange Rates Data API delivers institutional-grade FX rates across 200+ currencies for data services use cases.

agent ready

Real signal across most facets with visible, nameable gaps — the contract exists but is thin, or the portal is good while governance and commercial terms are absent.

Kin Score

API Evangelist profiles OANDA the way a machine reads it — 229 machine-readable artifacts across 11 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.

Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — OANDA scores 53.5/100 (developing), with a separate agent-readiness read of 48/100 (agent ready). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.

Kin Score

This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 53.5/100 · developing
Contract Quality 13.2 / 25
Developer Ergonomics 9.1 / 20
Commercial Clarity 10.0 / 20
Operational Transparency 4.8 / 13
Governance 8.8 / 12
Discoverability 7.5 / 10
Agent readiness — 48/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3

How we profile OANDA

Each block below is one kind of artifact we hold for OANDA. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.

APIs 11

Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.

Individual APIs this provider publishes, each with its own machine-readable definition.

OANDA Account API

Manage and retrieve OANDA trading account details, summaries, tradeable instruments, and configuration settings. Supports polling for account state changes since a specified tra...

OANDA Order API

Create, list, modify, and cancel orders in an OANDA trading account. Supports market, limit, stop, take profit, stop loss, and trailing stop order types with FOK, IOC, DAY, GTD,...

OANDA Trade API

List, retrieve, partially or fully close open trades, and manage dependent orders (take profit, stop loss, trailing stop loss) for trades in an OANDA account.

OANDA Position API

List all positions (historical and open) and close out open positions for a specific instrument in an OANDA trading account.

OANDA Transaction API

Access full transaction history for an OANDA trading account with time-based and ID-range queries. Includes a streaming endpoint for real-time transaction notifications from the...

OANDA Pricing API

Retrieve real-time bid/ask pricing, stream live price updates at up to 4 per second, and access historical OHLC candlestick data for any tradeable instrument. Historical data is...

OANDA Exchange Rates API

Institutional-grade foreign exchange data service covering 200+ currencies and 38,000+ currency pairs. Provides daily average rates, period averages, ECB and national bank rates...

OANDA Accounts API

The Accounts API from OANDA — 29 operation(s) for accounts.

OANDA Instruments API

The Instruments API from OANDA — 5 operation(s) for instruments.

OANDA Pricing API

The Pricing API from OANDA — 2 operation(s) for pricing.

OANDA Users API

The Users API from OANDA — 2 operation(s) for users.

Scroll within the panel for all 11 ·

Pricing Plans 1

Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.

Published pricing tiers and plan structures.

Oanda Plans Pricing

6 plans

PLANS

Rate Limits 1

Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.

Documented rate limits and quota policies.

Oanda Rate Limits

6 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals let a buyer model the financial operations of an API before it's live. We profile them for the same reason we profile pricing: the money is part of the contract.

Cost, billing, and metering signals for API financial operations.

Oanda Finops

FINOPS

Features 16

The notable capabilities this provider advertises, captured as structured features so they can be searched and compared instead of read one landing page at a time.

Notable capabilities this provider offers.

REST v20 API with JSON over HTTP; stateless and language-agnostic
Bearer token (Personal Access Token) authentication via fxTrade AMP
Live and practice (demo) trading environments
Real-time forex rates for all tradeable pairs 24 hours a day
Historical candlestick data from 2005 onward (S5 to Monthly granularity)
Streaming pricing endpoint at up to 4 price updates per second
Full order lifecycle — market, limit, stop, OCO (TP/SL pair), trailing stop
Trade management including partial close and dependent order updates
Position closeout by instrument
Unlimited recent transaction history with streaming endpoint
Rate limit of 30 requests per user; aggregate of 20 streaming connections
New connection limit of 2 per second; persistent connections up to 100 per second
Exchange Rates Data API covering 200+ currencies and 38,000+ currency pairs
Exchange Rates free 7-day trial with unlimited quotes
FIX API for institutional customers
MT4 integration for backtesting support

Scroll within the panel for all 16 ·

Semantic Vocabularies 1

JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.

JSON-LD contexts and semantic vocabularies used across these APIs.

Oanda Context

5 classes · 0 properties

JSON-LD

Spectral Rules 1

Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.

OANDA API Rules

5 rules · 3 warnings

SPECTRAL

JSON Schema 156

Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.

Standalone JSON Schema definitions for this provider's data models.

AcceptDatetimeFormat

0 properties

JSON SCHEMA

Account

39 properties

JSON SCHEMA

AccountChanges

9 properties

JSON SCHEMA

AccountChangesState

16 properties

JSON SCHEMA

AccountFinancingMode

0 properties

JSON SCHEMA

AccountID

0 properties

JSON SCHEMA

AccountProperties

3 properties

JSON SCHEMA

AccountSummary

36 properties

JSON SCHEMA

AccountUnits

0 properties

JSON SCHEMA

CalculatedAccountState

13 properties

JSON SCHEMA

CalculatedPositionState

5 properties

JSON SCHEMA

CalculatedTradeState

3 properties

JSON SCHEMA

CancellableOrderType

0 properties

JSON SCHEMA

Candlestick

6 properties

JSON SCHEMA

CandlestickData

4 properties

JSON SCHEMA

CandlestickGranularity

0 properties

JSON SCHEMA

ClientComment

0 properties

JSON SCHEMA

ClientConfigureRejectTransaction

10 properties

JSON SCHEMA

ClientConfigureTransaction

9 properties

JSON SCHEMA

ClientExtensions

3 properties

JSON SCHEMA

ClientID

0 properties

JSON SCHEMA

ClientPrice

11 properties

JSON SCHEMA

ClientRequestID

0 properties

JSON SCHEMA

ClientTag

0 properties

JSON SCHEMA

CloseTransaction

7 properties

JSON SCHEMA

CreateTransaction

12 properties

JSON SCHEMA

Currency

0 properties

JSON SCHEMA

DailyFinancingTransaction

11 properties

JSON SCHEMA

DateTime

0 properties

JSON SCHEMA

DecimalNumber

0 properties

JSON SCHEMA

DelayedTradeClosureTransaction

9 properties

JSON SCHEMA

Direction

0 properties

JSON SCHEMA

DynamicOrderState

4 properties

JSON SCHEMA

FixedPriceOrder

21 properties

JSON SCHEMA

FixedPriceOrderReason

0 properties

JSON SCHEMA

FixedPriceOrderTransaction

18 properties

JSON SCHEMA

FundingReason

0 properties

JSON SCHEMA

GuaranteedStopLossOrderEntryData

3 properties

JSON SCHEMA

GuaranteedStopLossOrderMode

0 properties

JSON SCHEMA

HomeConversions

4 properties

JSON SCHEMA

Instrument

13 properties

JSON SCHEMA

InstrumentCommission

3 properties

JSON SCHEMA

InstrumentName

0 properties

JSON SCHEMA

InstrumentType

0 properties

JSON SCHEMA

LimitOrder

25 properties

JSON SCHEMA

LimitOrderReason

0 properties

JSON SCHEMA

LimitOrderRejectTransaction

22 properties

JSON SCHEMA

LimitOrderRequest

13 properties

JSON SCHEMA

LimitOrderTransaction

22 properties

JSON SCHEMA

LiquidityRegenerationSchedule

1 properties

JSON SCHEMA

LiquidityRegenerationScheduleStep

3 properties

JSON SCHEMA

MT4TransactionHeartbeat

2 properties

JSON SCHEMA

MarginCallEnterTransaction

7 properties

JSON SCHEMA

MarginCallExitTransaction

7 properties

JSON SCHEMA

MarginCallExtendTransaction

8 properties

JSON SCHEMA

MarketIfTouchedOrder

27 properties

JSON SCHEMA

MarketIfTouchedOrderReason

0 properties

JSON SCHEMA

MarketIfTouchedOrderRejectTransaction

23 properties

JSON SCHEMA

MarketIfTouchedOrderRequest

14 properties

JSON SCHEMA

MarketIfTouchedOrderTransaction

23 properties

JSON SCHEMA

MarketOrder

26 properties

JSON SCHEMA

MarketOrderDelayedTradeClose

3 properties

JSON SCHEMA

MarketOrderMarginCloseout

1 properties

JSON SCHEMA

MarketOrderMarginCloseoutReason

0 properties

JSON SCHEMA

MarketOrderPositionCloseout

2 properties

JSON SCHEMA

MarketOrderReason

0 properties

JSON SCHEMA

MarketOrderRejectTransaction

24 properties

JSON SCHEMA

MarketOrderRequest

11 properties

JSON SCHEMA

MarketOrderTradeClose

3 properties

JSON SCHEMA

MarketOrderTransaction

23 properties

JSON SCHEMA

OpenTradeFinancing

2 properties

JSON SCHEMA

Order

4 properties

JSON SCHEMA

OrderBook

5 properties

JSON SCHEMA

OrderBookBucket

3 properties

JSON SCHEMA

OrderCancelReason

0 properties

JSON SCHEMA

OrderCancelRejectTransaction

10 properties

JSON SCHEMA

OrderCancelTransaction

11 properties

JSON SCHEMA

OrderClientExtensionsModifyTransaction

11 properties

JSON SCHEMA

OrderFillReason

0 properties

JSON SCHEMA

OrderFillTransaction

26 properties

JSON SCHEMA

OrderID

0 properties

JSON SCHEMA

OrderIdentifier

2 properties

JSON SCHEMA

OrderPositionFill

0 properties

JSON SCHEMA

OrderRequest

0 properties

JSON SCHEMA

OrderSpecifier

0 properties

JSON SCHEMA

OrderState

0 properties

JSON SCHEMA

OrderStateFilter

0 properties

JSON SCHEMA

OrderTriggerCondition

0 properties

JSON SCHEMA

OrderType

0 properties

JSON SCHEMA

Position

10 properties

JSON SCHEMA

PositionAggregationMode

0 properties

JSON SCHEMA

PositionBook

5 properties

JSON SCHEMA

PositionBookBucket

3 properties

JSON SCHEMA

PositionFinancing

3 properties

JSON SCHEMA

PositionSide

8 properties

JSON SCHEMA

Price

9 properties

JSON SCHEMA

PriceBucket

2 properties

JSON SCHEMA

PriceStatus

0 properties

JSON SCHEMA

PriceValue

0 properties

JSON SCHEMA

PricingHeartbeat

2 properties

JSON SCHEMA

QuoteHomeConversionFactors

2 properties

JSON SCHEMA

ReopenTransaction

7 properties

JSON SCHEMA

RequestID

0 properties

JSON SCHEMA

ResetResettablePLTransaction

7 properties

JSON SCHEMA

StatementYear

0 properties

JSON SCHEMA

StopLossDetails

6 properties

JSON SCHEMA

StopLossOrder

23 properties

JSON SCHEMA

StopLossOrderReason

0 properties

JSON SCHEMA

StopLossOrderRejectTransaction

20 properties

JSON SCHEMA

StopLossOrderRequest

10 properties

JSON SCHEMA

StopLossOrderTransaction

21 properties

JSON SCHEMA

StopOrder

26 properties

JSON SCHEMA

StopOrderReason

0 properties

JSON SCHEMA

StopOrderRejectTransaction

23 properties

JSON SCHEMA

StopOrderRequest

14 properties

JSON SCHEMA

StopOrderTransaction

23 properties

JSON SCHEMA

TakeProfitDetails

4 properties

JSON SCHEMA

TakeProfitOrder

20 properties

JSON SCHEMA

TakeProfitOrderReason

0 properties

JSON SCHEMA

TakeProfitOrderRejectTransaction

18 properties

JSON SCHEMA

TakeProfitOrderRequest

8 properties

JSON SCHEMA

TakeProfitOrderTransaction

18 properties

JSON SCHEMA

TimeInForce

0 properties

JSON SCHEMA

Trade

19 properties

JSON SCHEMA

TradeClientExtensionsModifyTransaction

10 properties

JSON SCHEMA

TradeID

0 properties

JSON SCHEMA

TradeOpen

7 properties

JSON SCHEMA

TradePL

0 properties

JSON SCHEMA

TradeReduce

7 properties

JSON SCHEMA

TradeSpecifier

0 properties

JSON SCHEMA

TradeState

0 properties

JSON SCHEMA

TradeStateFilter

0 properties

JSON SCHEMA

TradeSummary

19 properties

JSON SCHEMA

TrailingStopLossDetails

4 properties

JSON SCHEMA

TrailingStopLossOrder

21 properties

JSON SCHEMA

TrailingStopLossOrderReason

0 properties

JSON SCHEMA

TrailingStopLossOrderRejectTransaction

18 properties

JSON SCHEMA

TrailingStopLossOrderRequest

8 properties

JSON SCHEMA

TrailingStopLossOrderTransaction

18 properties

JSON SCHEMA

Transaction

6 properties

JSON SCHEMA

TransactionFilter

0 properties

JSON SCHEMA

TransactionHeartbeat

3 properties

JSON SCHEMA

TransactionID

0 properties

JSON SCHEMA

TransactionRejectReason

0 properties

JSON SCHEMA

TransactionType

0 properties

JSON SCHEMA

TransferFundsRejectTransaction

11 properties

JSON SCHEMA

TransferFundsTransaction

11 properties

JSON SCHEMA

UnitsAvailable

4 properties

JSON SCHEMA

UnitsAvailableDetails

2 properties

JSON SCHEMA

UserInfo

4 properties

JSON SCHEMA

UserInfoExternal

3 properties

JSON SCHEMA

UserSpecifier

0 properties

JSON SCHEMA

WeeklyAlignment

0 properties

JSON SCHEMA

Scroll within the panel for all 156 ·

Examples 39

Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.

Example request and response payloads for these APIs.

Cancelorder

6 fields

EXAMPLE

Closeposition

6 fields

EXAMPLE

Closetrade

6 fields

EXAMPLE

Configureaccount

6 fields

EXAMPLE

Createorder

6 fields

EXAMPLE

Getaccount

6 fields

EXAMPLE

Getaccountchanges

6 fields

EXAMPLE

Getaccountinstruments

6 fields

EXAMPLE

Getaccountsummary

6 fields

EXAMPLE

Getbaseprices

6 fields

EXAMPLE

Getexternaluserinfo

6 fields

EXAMPLE

Getinstrumentcandles

6 fields

EXAMPLE

Getinstrumentprice

6 fields

EXAMPLE

Getinstrumentpricerange

6 fields

EXAMPLE

Getorder

6 fields

EXAMPLE

Getposition

6 fields

EXAMPLE

Getpricerange

6 fields

EXAMPLE

Getprices

6 fields

EXAMPLE

Gettrade

6 fields

EXAMPLE

Gettransaction

6 fields

EXAMPLE

Gettransactionrange

6 fields

EXAMPLE

Gettransactionssinceid

6 fields

EXAMPLE

Getuserinfo

6 fields

EXAMPLE

Listaccounts

6 fields

EXAMPLE

Listopenpositions

6 fields

EXAMPLE

Listopentrades

6 fields

EXAMPLE

Listorders

6 fields

EXAMPLE

Listpendingorders

6 fields

EXAMPLE

Listpositions

6 fields

EXAMPLE

Listtrades

6 fields

EXAMPLE

Listtransactions

6 fields

EXAMPLE

Replaceorder

6 fields

EXAMPLE

Setorderclientextensions

6 fields

EXAMPLE

Settradeclientextensions

6 fields

EXAMPLE

Settradedependentorders

6 fields

EXAMPLE

Streampricing

6 fields

EXAMPLE

Streamtransactions

6 fields

EXAMPLE

Scroll within the panel for all 39 ·

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Oanda Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Agentic Access 1

An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.

Recommended x-agentic-access execution contracts for AI agents.

Oanda Agentic Access

105 operations · 31 acting

105 operations · 31 acting

AGENTIC

Resources

Every other property we hold for OANDA — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.

Get Started 3

Portal, sign-up, and the first successful call

Documentation 3

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Access & Security 2

Authentication, authorization, and security posture

Commercial 1

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 2

Properties that don't map to a standard resource type

← All providers · Data indexed from github.com/api-evangelist/oanda · machine-readable index on apis.io