Skip to main content

Official Python wrapper for metalpriceapi.com

Project description

metalpriceapi

metalpriceapi is the official Python wrapper for MetalpriceAPI.com. This allows you to quickly integrate our metal price API and foreign exchange rate API into your application. Check https://metalpriceapi.com documentation for more information.

Installation

Install the latest release with:

pip install metalpriceapi

Usage

from metalpriceapi.client import Client

api_key = 'SET_YOUR_API_KEY_HERE'
client = Client(api_key)

# Or use EU server:
# client = Client(api_key, server='eu')

Server Regions

MetalpriceAPI provides two regional endpoints. Choose the one closest to your servers for optimal performance.

Region Base URL
United States (default) https://api.metalpriceapi.com/v1
Europe https://api-eu.metalpriceapi.com/v1
from metalpriceapi.client import Client

# Default (US)
client = Client('SET_YOUR_API_KEY_HERE')

# Europe
client = Client('SET_YOUR_API_KEY_HERE', server='eu')

Documentation

fetchSymbols()

client.fetchSymbols()

Link


setServer(server)

  • server <string> Pass 'eu' to use the EU server (api-eu.metalpriceapi.com), or 'us' for the US server. Defaults to US if not specified.
client.setServer('eu')

fetchLive(base, currencies, unit, purity, math)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <List<string>> Optional. Pass in a list of currencies to return values for.
  • unit <string> Optional. Pass in a unit for metal prices (e.g. troy_oz, gram, kilogram).
  • purity <string> Optional. Pass in a purity level for metal prices.
  • math <string> Optional. Pass in a math expression to apply to the rates.
client.fetchLive(base='USD', currencies=['XAU', 'XAG', 'XPD', 'XPT'], unit='troy_oz')

Link


fetchHistorical(date, base, currencies, unit)

  • date <string> Required. Pass in a string with format YYYY-MM-DD
  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <List<string>> Optional. Pass in a list of currencies to return values for.
  • unit <string> Optional. Pass in a unit for metal prices (e.g. troy_oz, gram, kilogram).
client.fetchHistorical(date='2024-02-05', base='USD', currencies=['XAU', 'XAG', 'XPD', 'XPT'], unit='troy_oz')

Link


hourly(base, currency, unit, start_date, end_date, math, date_type)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currency <string> Required. Specify currency you would like to get hourly rates for.
  • unit <string> Optional. Pass in a unit for metal prices (e.g. troy_oz, gram, kilogram).
  • start_date <string> Required. Specify the start date using the format YYYY-MM-DD.
  • end_date <string> Required. Specify the end date using the format YYYY-MM-DD.
  • math <string> Optional. Pass in a math expression to apply to the rates.
  • date_type <string> Optional. Pass in a date type, overrides date parameters if passed in.
client.hourly(base='USD', currency='XAU', unit='troy_oz', start_date='2025-11-03', end_date='2025-11-03')

Link


fetchOHLC(base, currency, date, unit, date_type)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currency <string> Required. Specify currency you would like to get OHLC for.
  • date <string> Required. Specify date to get OHLC for specific date using format YYYY-MM-DD.
  • unit <string> Optional. Pass in a unit, defaults to troy_oz.
  • date_type <string> Optional. Pass in a date type, overrides date parameter if passed in.
client.fetchOHLC(base='USD', currency='XAU', date='2024-02-05', unit='troy_oz')

Link


convert(from_currency, to_currency, amount, date, unit)

  • from_currency <string> Optional. Pass in a base currency, defaults to USD.
  • to_currency <string> Required. Specify currency you would like to convert to.
  • amount <number> Required. The amount to convert.
  • date <string> Optional. Specify date to use historical midpoint value for conversion with format YYYY-MM-DD. Otherwise, it will use live exchange rate date if value not passed in.
  • unit <string> Optional. Pass in a unit for metal prices (e.g. troy_oz, gram, kilogram).
client.convert(from_currency='USD', to_currency='EUR', amount=100, date='2024-02-05')

Link


timeframe(start_date, end_date, base, currencies, unit)

  • start_date <string> Required. Specify the start date of your timeframe using the format YYYY-MM-DD.
  • end_date <string> Required. Specify the end date of your timeframe using the format YYYY-MM-DD.
  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <List<string>> Optional. Pass in a list of currencies to return values for.
  • unit <string> Optional. Pass in a unit for metal prices (e.g. troy_oz, gram, kilogram).
client.timeframe(start_date='2024-02-05', end_date='2024-02-06', base='USD', currencies=['XAU', 'XAG', 'XPD', 'XPT'], unit='troy_oz')

Link


change(start_date, end_date, base, currencies, date_type)

  • start_date <string> Required. Specify the start date of your timeframe using the format YYYY-MM-DD.
  • end_date <string> Required. Specify the end date of your timeframe using the format YYYY-MM-DD.
  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <List<string>> Optional. Pass in a list of currencies to return values for.
  • date_type <string> Optional. Pass in a date type, overrides date parameters if passed in.
client.change(start_date='2024-02-05', end_date='2024-02-06', base='USD', currencies=['XAU', 'XAG', 'XPD', 'XPT'])

Link


carat(base, currency, date)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currency <string> Optional. Pass in a metal code to get carat prices for (defaults to XAU).
  • date <string> Optional. Specify date to get Carat for specific date using format YYYY-MM-DD. If not specified, uses live rates.
client.carat(base='USD', currency='XAU', date='2024-02-05')

Link


usage()

client.usage()

Link


Official documentation


FAQ

  • How do I get an API Key?

    Free API Keys are available here.

  • I want more information

    Checkout our FAQs here.

Support

For support, get in touch using this form.

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

metalpriceapi-1.3.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

metalpriceapi-1.3.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file metalpriceapi-1.3.0.tar.gz.

File metadata

  • Download URL: metalpriceapi-1.3.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for metalpriceapi-1.3.0.tar.gz
Algorithm Hash digest
SHA256 374d7735823c894e6be3a19a6c6f0e6d77e324adfbe899fe026466765372729b
MD5 7048b49246522fbaffa9c39a4a8a4769
BLAKE2b-256 b2ccc4b51fd4c86772a03bcf077375d3f578ccbe2525a7e2488651c4b5dfaa37

See more details on using hashes here.

File details

Details for the file metalpriceapi-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: metalpriceapi-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for metalpriceapi-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b496e679aa12d6bb404d6b0bd01acec32be16e85b4c10c3a8b2074b3e8b0132
MD5 67530e2d13da5c8b49e008fbf8677e59
BLAKE2b-256 75ff1e6aa1f14f432d9185aa276636b3a1ddb900adddedab1417154a8e5faa3d

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