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.
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.
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.
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
PLANSRate 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
RATE LIMITSFinOps 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
FINOPSFeatures 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.
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
JSON-LDSpectral 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
SPECTRALJSON 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
JSON SCHEMAAccount
JSON SCHEMAAccountChanges
JSON SCHEMAAccountChangesState
JSON SCHEMAAccountFinancingMode
JSON SCHEMAAccountID
JSON SCHEMAAccountProperties
JSON SCHEMAAccountSummary
JSON SCHEMAAccountUnits
JSON SCHEMACalculatedAccountState
JSON SCHEMACalculatedPositionState
JSON SCHEMACalculatedTradeState
JSON SCHEMACancellableOrderType
JSON SCHEMACandlestick
JSON SCHEMACandlestickData
JSON SCHEMACandlestickGranularity
JSON SCHEMAClientComment
JSON SCHEMAClientConfigureRejectTransaction
JSON SCHEMAClientConfigureTransaction
JSON SCHEMAClientExtensions
JSON SCHEMAClientID
JSON SCHEMAClientPrice
JSON SCHEMAClientRequestID
JSON SCHEMAClientTag
JSON SCHEMACloseTransaction
JSON SCHEMACreateTransaction
JSON SCHEMACurrency
JSON SCHEMADailyFinancingTransaction
JSON SCHEMADateTime
JSON SCHEMADecimalNumber
JSON SCHEMADelayedTradeClosureTransaction
JSON SCHEMADirection
JSON SCHEMADynamicOrderState
JSON SCHEMAFixedPriceOrder
JSON SCHEMAFixedPriceOrderReason
JSON SCHEMAFixedPriceOrderTransaction
JSON SCHEMAFundingReason
JSON SCHEMAGuaranteedStopLossOrderEntryData
JSON SCHEMAGuaranteedStopLossOrderLevelRestriction
JSON SCHEMAGuaranteedStopLossOrderMode
JSON SCHEMAHomeConversions
JSON SCHEMAInstrument
JSON SCHEMAInstrumentCommission
JSON SCHEMAInstrumentName
JSON SCHEMAInstrumentType
JSON SCHEMALimitOrder
JSON SCHEMALimitOrderReason
JSON SCHEMALimitOrderRejectTransaction
JSON SCHEMALimitOrderRequest
JSON SCHEMALimitOrderTransaction
JSON SCHEMALiquidityRegenerationSchedule
JSON SCHEMALiquidityRegenerationScheduleStep
JSON SCHEMAMT4TransactionHeartbeat
JSON SCHEMAMarginCallEnterTransaction
JSON SCHEMAMarginCallExitTransaction
JSON SCHEMAMarginCallExtendTransaction
JSON SCHEMAMarketIfTouchedOrder
JSON SCHEMAMarketIfTouchedOrderReason
JSON SCHEMAMarketIfTouchedOrderRejectTransaction
JSON SCHEMAMarketIfTouchedOrderRequest
JSON SCHEMAMarketIfTouchedOrderTransaction
JSON SCHEMAMarketOrder
JSON SCHEMAMarketOrderDelayedTradeClose
JSON SCHEMAMarketOrderMarginCloseout
JSON SCHEMAMarketOrderMarginCloseoutReason
JSON SCHEMAMarketOrderPositionCloseout
JSON SCHEMAMarketOrderReason
JSON SCHEMAMarketOrderRejectTransaction
JSON SCHEMAMarketOrderRequest
JSON SCHEMAMarketOrderTradeClose
JSON SCHEMAMarketOrderTransaction
JSON SCHEMAOpenTradeFinancing
JSON SCHEMAOrder
JSON SCHEMAOrderBook
JSON SCHEMAOrderBookBucket
JSON SCHEMAOrderCancelReason
JSON SCHEMAOrderCancelRejectTransaction
JSON SCHEMAOrderCancelTransaction
JSON SCHEMAOrderClientExtensionsModifyRejectTransaction
JSON SCHEMAOrderClientExtensionsModifyTransaction
JSON SCHEMAOrderFillReason
JSON SCHEMAOrderFillTransaction
JSON SCHEMAOrderID
JSON SCHEMAOrderIdentifier
JSON SCHEMAOrderPositionFill
JSON SCHEMAOrderRequest
JSON SCHEMAOrderSpecifier
JSON SCHEMAOrderState
JSON SCHEMAOrderStateFilter
JSON SCHEMAOrderTriggerCondition
JSON SCHEMAOrderType
JSON SCHEMAPosition
JSON SCHEMAPositionAggregationMode
JSON SCHEMAPositionBook
JSON SCHEMAPositionBookBucket
JSON SCHEMAPositionFinancing
JSON SCHEMAPositionSide
JSON SCHEMAPrice
JSON SCHEMAPriceBucket
JSON SCHEMAPriceStatus
JSON SCHEMAPriceValue
JSON SCHEMAPricingHeartbeat
JSON SCHEMAQuoteHomeConversionFactors
JSON SCHEMAReopenTransaction
JSON SCHEMARequestID
JSON SCHEMAResetResettablePLTransaction
JSON SCHEMAStatementYear
JSON SCHEMAStopLossDetails
JSON SCHEMAStopLossOrder
JSON SCHEMAStopLossOrderReason
JSON SCHEMAStopLossOrderRejectTransaction
JSON SCHEMAStopLossOrderRequest
JSON SCHEMAStopLossOrderTransaction
JSON SCHEMAStopOrder
JSON SCHEMAStopOrderReason
JSON SCHEMAStopOrderRejectTransaction
JSON SCHEMAStopOrderRequest
JSON SCHEMAStopOrderTransaction
JSON SCHEMATakeProfitDetails
JSON SCHEMATakeProfitOrder
JSON SCHEMATakeProfitOrderReason
JSON SCHEMATakeProfitOrderRejectTransaction
JSON SCHEMATakeProfitOrderRequest
JSON SCHEMATakeProfitOrderTransaction
JSON SCHEMATimeInForce
JSON SCHEMATrade
JSON SCHEMATradeClientExtensionsModifyRejectTransaction
JSON SCHEMATradeClientExtensionsModifyTransaction
JSON SCHEMATradeID
JSON SCHEMATradeOpen
JSON SCHEMATradePL
JSON SCHEMATradeReduce
JSON SCHEMATradeSpecifier
JSON SCHEMATradeState
JSON SCHEMATradeStateFilter
JSON SCHEMATradeSummary
JSON SCHEMATrailingStopLossDetails
JSON SCHEMATrailingStopLossOrder
JSON SCHEMATrailingStopLossOrderReason
JSON SCHEMATrailingStopLossOrderRejectTransaction
JSON SCHEMATrailingStopLossOrderRequest
JSON SCHEMATrailingStopLossOrderTransaction
JSON SCHEMATransaction
JSON SCHEMATransactionFilter
JSON SCHEMATransactionHeartbeat
JSON SCHEMATransactionID
JSON SCHEMATransactionRejectReason
JSON SCHEMATransactionType
JSON SCHEMATransferFundsRejectTransaction
JSON SCHEMATransferFundsTransaction
JSON SCHEMAUnitsAvailable
JSON SCHEMAUnitsAvailableDetails
JSON SCHEMAUserInfo
JSON SCHEMAUserInfoExternal
JSON SCHEMAUserSpecifier
JSON SCHEMAWeeklyAlignment
JSON SCHEMAScroll 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
EXAMPLECloseposition
EXAMPLEClosetrade
EXAMPLEConfigureaccount
EXAMPLECreateorder
EXAMPLEGetaccount
EXAMPLEGetaccountchanges
EXAMPLEGetaccountinstruments
EXAMPLEGetaccountsummary
EXAMPLEGetbaseprices
EXAMPLEGetexternaluserinfo
EXAMPLEGetinstrumentcandles
EXAMPLEGetinstrumentprice
EXAMPLEGetinstrumentpricerange
EXAMPLEGetorder
EXAMPLEGetposition
EXAMPLEGetpricerange
EXAMPLEGetprices
EXAMPLEGettrade
EXAMPLEGettransaction
EXAMPLEGettransactionrange
EXAMPLEGettransactionssinceid
EXAMPLEGetuserinfo
EXAMPLEListaccounts
EXAMPLEListopenpositions
EXAMPLEListopentrades
EXAMPLEListorders
EXAMPLEListpendingorders
EXAMPLEListpositions
EXAMPLEListtrades
EXAMPLEListtransactions
EXAMPLEReplaceorder
EXAMPLESetorderclientextensions
EXAMPLESettradeclientextensions
EXAMPLESettradedependentorders
EXAMPLEStreampricing
EXAMPLEStreamtransactions
EXAMPLEScroll 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.
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.
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
Build 5
SDKs, sample code, and the tooling you integrate with
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