Skip to main content

Python wrapper for CurrencyApi.net

Project description

CurrencyApi Python wrapper

PyPI version Coverage Status

Note: API v1 is deprecated and will be retired on 31st July 2026, at which point all v1 traffic will be redirected to v2. This SDK (v2.0.0+) targets API v2. If you are on an older version of this SDK, please upgrade.

CurrencyApi.net provides live currency rates via a REST API. A live currency feed for over 166 currencies, including physical (USD, GBP, EUR + more) and cryptos (Bitcoin, Litecoin, Ethereum + more). A JSON and XML currency api updated every 60 seconds.

Features:

  • Live exchange rates (updated every 60 seconds).
  • 166 currencies world currencies.
  • Popular cryptocurrencies included; Bitcoin, Litecoin etc.
  • Convert currencies on the fly with the convert endpoint.
  • Historical currency rates back to year 2000.
  • OHLC (Open, High, Low, Close) data for technical analysis (Tier 3+).
  • Easy to follow documentation

Signup for a free or paid account here.

This package is a:

Python wrapper for CurrencyApi.net endpoints (API v2).

Developer Guide

For an easy to following developer guide, check out our Python Developer Guide.

Alternatively keep reading below.

Prerequisites

  • Minimum Python version 3.10
  • Last tested and working on Python 3.14
  • Free or Paid account with CurrencyApi.net

Test Coverage

  • 100% coverage

Installation

View our Python SDK guide

pip install currencyapinet

Usage

from currencyapinet import Currency

currency = Currency('YOUR_API_KEY')

Rates

Returns live currency rates for all supported currencies. Base currency defaults to USD.

result = currency.rates().get()

# With optional base currency
result = currency.rates().base('EUR').get()

# XML output
result = currency.rates().output('XML').get()

Convert

Converts an amount from one currency to another.

result = currency.convert().from_currency('USD').to_currency('EUR').amount(100).get()

History

Returns historical currency rates for a specific date.

result = currency.history().date('2023-12-25').get()

# With optional base currency
result = currency.history().base('GBP').date('2023-12-25').get()

Timeframe

Returns historical currency rates for a date range (max 365 days).

result = currency.timeframe().start_date('2023-12-01').end_date('2023-12-31').get()

# With optional base currency
result = currency.timeframe().base('GBP').start_date('2023-12-01').end_date('2023-12-31').get()

Currencies

Returns a list of all supported currencies.

result = currency.currencies().get()

OHLC

Returns OHLC (Open, High, Low, Close) data for a currency pair on a specific date. Requires a Tier 3 subscription.

Parameters:

Parameter Required Description
currency Yes Target currency code (e.g. EUR, GBP, BTC)
date Yes Date in YYYY-MM-DD format (must be in the past)
base No Base currency code (defaults to USD)
interval No Time interval: 5m, 15m, 30m, 1h, 4h, 12h, 1d (defaults to 1d)
# Basic request (1-day interval)
result = currency.ohlc().currency('EUR').date('2023-12-25').get()

# With custom interval
result = currency.ohlc().currency('GBP').date('2023-12-25').interval('1h').get()

# With custom base currency and interval
result = currency.ohlc().currency('JPY').date('2023-12-25').base('EUR').interval('4h').get()

# XML output
result = currency.ohlc().currency('EUR').date('2023-12-25').output('XML').get()

Example response:

{
  "valid": true,
  "base": "USD",
  "quote": "EUR",
  "date": "2023-12-25",
  "interval": "1d",
  "ohlc": [
    {
      "start": "2023-12-25T00:00:00Z",
      "open": 0.92000000000000,
      "high": 0.92500000000000,
      "low": 0.91800000000000,
      "close": 0.92200000000000
    }
  ]
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

currencyapinet-2.0.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

currencyapinet-2.0.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file currencyapinet-2.0.0.tar.gz.

File metadata

  • Download URL: currencyapinet-2.0.0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for currencyapinet-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d432fb4f892078207189ebc5ae28ab0bc183b4d9c72e5b3a9443b13e421d8c7a
MD5 7658551f8637e33427489d0c642f8dd6
BLAKE2b-256 780e6a5a10131f9daac2754a3be0c10b5d7caf2d7cc2108c3fe19dba118bf04d

See more details on using hashes here.

File details

Details for the file currencyapinet-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: currencyapinet-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for currencyapinet-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 40a7675343abc9899e016311c9fc8d888f413c2e1ab8b751979d258689501bd7
MD5 939d3cb4414e0f2ae4c8ea375e45cd6b
BLAKE2b-256 b6aeb8d29afd8760a04a168a2e0641cc80c9b422b0f4a127fdaa98679544c4f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page