Skip to main content
GET
/
convert
Currency Conversion
curl --request GET \
  --url https://api.exchangeratesapi.com.au/convert \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "query": {
    "from": "AUD",
    "to": "USD", 
    "amount": 100
  },
  "info": {
    "timestamp": 1725148800,
    "rate": 0.643512
  },
  "date": "2025-09-01",
  "result": 64.3512
}

Overview

The authenticated conversion endpoint provides unlimited currency conversion with access to historical rates. Unlike the free conversion endpoint, this endpoint supports historical dates and has no rate limiting beyond your plan’s daily quota.
This endpoint requires authentication. Get your API key to start making requests.

Authentication

Authorization
string
required
Bearer token with your API key: Bearer your_api_key_here

Query Parameters

from
string
required
Source currency code. All supported currencies are available for conversion, including cross-currency pairs (e.g., USD to EUR, JPY to GBP).Examples: AUD, USD, EUR, GBP, JPY
to
string
required
Target currency code (case-insensitive). Must be one of the supported currencies.Examples: USD, EUR, GBP, JPY
TWI (Trade-Weighted Index) is not allowed for conversion and will return a 400 error.
amount
number
required
Amount to convert. Must be a positive number.Examples: 100, 1500.50, 0.01
date
string
Historical date for conversion in YYYY-MM-DD format. If omitted, uses latest available rates.Examples: 2025-08-31, 2024-12-31, 2023-06-15
Historical dates: Free plan has no historical access. Starter plan has 30 days access. Professional/Business plans have full historical access.

Request

curl "https://api.exchangeratesapi.com.au/convert?from=AUD&to=USD&amount=100" \
  -H "Authorization: Bearer your_api_key_here"

Response

{
  "success": true,
  "query": {
    "from": "AUD",
    "to": "USD", 
    "amount": 100
  },
  "info": {
    "timestamp": 1725148800,
    "rate": 0.643512
  },
  "date": "2025-09-01",
  "result": 64.3512
}

Response Fields

success
boolean
Indicates if the request was successful
query
object
Echo of the conversion parameters from the request
info
object
Information about the exchange rate used
date
string
Date of the exchange rate used in YYYY-MM-DD format
result
number
Conversion result with 4 decimal places

Response Headers

  • Cache-Control: no-store - Response should not be cached
  • X-Request-Id: <uuid> - Unique request identifier for debugging
  • X-Data-Stale: true - Present only when serving fallback data (latest rates only)
  • X-RBA-Source-Date: YYYY-MM-DD - Present only when serving fallback data (latest rates only)

Error Responses

{
  "success": false,
  "error": {
    "code": 400,
    "type": "bad_request",
    "info": "Missing required parameters: from, to, amount"
  }
}

Rate Limits

This endpoint is subject to your plan’s monthly request limits:
PlanMonthly RequestsHistorical AccessRate Limiting
Free300No historical dataNo per-endpoint limits
Starter5,000Last 30 daysNo per-endpoint limits
Professional50,000Full history (2018+)No per-endpoint limits
Business500,000Full history (2018+)No per-endpoint limits
Unlike the free /convert endpoint (3/hour), authenticated conversion has no additional rate limiting beyond your plan’s monthly quota.

Current Limitations

Current API limitations:
  • TWI restriction: Trade-Weighted Index cannot be used for conversions
  • Date format: Historical dates must be in YYYY-MM-DD format
  • Date availability: Weekend and holiday dates (when RBA doesn’t publish) will return 404
  • Rate precision: Some currencies (IDR, VND) are provided as whole numbers by the RBA source data

Precision & Calculation

  • Rate precision: Exchange rates provided with up to 6 decimal places (varies by currency)
  • Currency-specific precision: IDR and VND are provided as whole numbers by the Reserve Bank of Australia
  • Result precision: Conversion results rounded to 4 decimal places
  • Calculation method: result = amount × rate using decimal-safe arithmetic
  • Storage format: Rates stored as micro-units (rate × 1e6) for precision where applicable
  • Rounding: Only applied at response boundary, not during calculations

Currency Precision Table

CurrencyExample RateDecimal PlacesSource
USD, EUR, GBP0.6566Up to 4RBA
JPY, KRW97.26Up to 2RBA
IDR, VND107390 (whole numbers)RBA
Other currenciesVariesUp to 6RBA

Use Cases

  • Invoice Processing: Convert AUD amounts to foreign currencies for international transactions
  • E-commerce: Real-time price conversion for international customers
  • Financial Analysis: Historical conversion analysis with exact dated rates
  • Accounting Integration: Automated conversion with official RBA rates
  • Compliance Reporting: ATO-compliant currency conversion using official rates
  • Contract Settlements: Apply exact historical rates to dated agreements

Comparison with Free Endpoint

FeatureFree /convertAuthenticated /convert
Rate Limiting3 requests/hourPlan-based monthly limits
Historical Dates❌ Not supported✅ Full access (based on plan)
Authentication❌ Not required✅ Required
Usage Tracking❌ IP-based only✅ Account-based
Error DetailsBasicComprehensive
SupportCommunityPlan-based SLA

Authorizations

Authorization
string
header
required

API key authentication using Bearer token

Query Parameters

from
enum<string>
required

Source currency code

Available options:
AUD,
USD,
EUR,
GBP,
JPY,
CNY,
KRW,
INR,
SGD,
NZD,
THB,
MYR,
IDR,
VND,
HKD,
PHP,
CAD,
CHF,
TWD,
TWI,
SDR
to
enum<string>
required

Target currency code

Available options:
AUD,
USD,
EUR,
GBP,
JPY,
CNY,
KRW,
INR,
SGD,
NZD,
THB,
MYR,
IDR,
VND,
HKD,
PHP,
CAD,
CHF,
TWD,
TWI,
SDR
amount
number
required

Amount to convert

Required range: x > 0
date
string

Historical date for conversion (YYYY-MM-DD). Requires authentication.

Response

Conversion result

success
boolean
required
Example:

true

query
object
required
info
object
required
date
string
required
result
number
required

Conversion result

free
boolean

Indicates if this was a free (unauthenticated) request