openapi: 3.0.3
info:
title: Free Currency Currencies API
description: Free Currency API provides real-time and historical currency exchange rate data for 150+ currencies via a simple REST API. No registration is required for basic usage. The API offers daily-updated current exchange rates, historical rates dating back to 1999, and multi-currency support.
version: '1'
contact:
name: Everapi Support
email: support@everapi.com
url: https://freecurrencyapi.com/contact/
termsOfService: https://freecurrencyapi.com/
servers:
- url: https://api.freecurrencyapi.com/v1
description: Production server
security:
- ApiKeyQuery: []
- ApiKeyHeader: []
tags:
- name: Currencies
description: Available currency information
paths:
/currencies:
get:
operationId: getCurrencies
summary: Get available currencies
description: Returns a list of all available currencies with their metadata including name, native symbol, decimal digits, and rounding information.
tags:
- Currencies
parameters:
- $ref: '#/components/parameters/ApiKeyQuery'
- name: currencies
in: query
required: false
description: A comma-separated list of currency codes to filter results (e.g., EUR,USD,CAD). Returns all available currencies by default.
schema:
type: string
example: EUR,USD,CAD
responses:
'200':
description: Currency information
content:
application/json:
schema:
$ref: '#/components/schemas/CurrenciesResponse'
example:
data:
AED:
symbol: AED
name: United Arab Emirates Dirham
symbol_native: د.إ
decimal_digits: 2
rounding: 0
code: AED
name_plural: UAE dirhams
USD:
symbol: USD
name: US Dollar
symbol_native: $
decimal_digits: 2
rounding: 0
code: USD
name_plural: US dollars
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimitExceeded'
components:
schemas:
ErrorResponse:
type: object
description: Error response
properties:
message:
type: string
description: Error message describing what went wrong
CurrencyInfo:
type: object
description: Detailed information about a currency
properties:
symbol:
type: string
description: Standard currency code
example: AED
name:
type: string
description: Full English name of the currency
example: United Arab Emirates Dirham
symbol_native:
type: string
description: Native language symbol representation
example: د.إ
decimal_digits:
type: integer
description: Number of decimal digits used by this currency
example: 2
rounding:
type: number
description: Rounding configuration for the currency
example: 0
code:
type: string
description: Currency code identifier
example: AED
name_plural:
type: string
description: Plural form of the currency name
example: UAE dirhams
CurrenciesResponse:
type: object
description: Available currencies response
properties:
data:
type: object
description: Map of currency codes to currency information
additionalProperties:
$ref: '#/components/schemas/CurrencyInfo'
parameters:
ApiKeyQuery:
name: apikey
in: query
required: false
description: Your API key for authentication.
schema:
type: string
responses:
Unauthorized:
description: Unauthorized - invalid or missing API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimitExceeded:
description: Rate limit or monthly quota exceeded. Check response headers for limit details.
headers:
X-RateLimit-Limit-Quota-Minute:
schema:
type: integer
description: Per-minute request limit
X-RateLimit-Limit-Quota-Month:
schema:
type: integer
description: Monthly request limit
X-RateLimit-Remaining-Quota-Minute:
schema:
type: integer
description: Remaining per-minute requests
X-RateLimit-Remaining-Quota-Month:
schema:
type: integer
description: Remaining monthly requests
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyQuery:
type: apiKey
in: query
name: apikey
description: 'API key passed as a query parameter. Note: this may expose your API key in access logs. Using the header method is recommended.'
ApiKeyHeader:
type: apiKey
in: header
name: apikey
description: API key passed as an HTTP header (recommended method).