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()
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')
fetchHistorical(date, base, currencies, unit)
date<string> Required. Pass in a string with formatYYYY-MM-DDbase<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')
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 formatYYYY-MM-DD.end_date<string> Required. Specify the end date using the formatYYYY-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')
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 formatYYYY-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')
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 formatYYYY-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')
timeframe(start_date, end_date, base, currencies, unit)
start_date<string> Required. Specify the start date of your timeframe using the formatYYYY-MM-DD.end_date<string> Required. Specify the end date of your timeframe using the formatYYYY-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')
change(start_date, end_date, base, currencies, date_type)
start_date<string> Required. Specify the start date of your timeframe using the formatYYYY-MM-DD.end_date<string> Required. Specify the end date of your timeframe using the formatYYYY-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'])
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 formatYYYY-MM-DD. If not specified, uses live rates.
client.carat(base='USD', currency='XAU', date='2024-02-05')
usage()
client.usage()
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
374d7735823c894e6be3a19a6c6f0e6d77e324adfbe899fe026466765372729b
|
|
| MD5 |
7048b49246522fbaffa9c39a4a8a4769
|
|
| BLAKE2b-256 |
b2ccc4b51fd4c86772a03bcf077375d3f578ccbe2525a7e2488651c4b5dfaa37
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b496e679aa12d6bb404d6b0bd01acec32be16e85b4c10c3a8b2074b3e8b0132
|
|
| MD5 |
67530e2d13da5c8b49e008fbf8677e59
|
|
| BLAKE2b-256 |
75ff1e6aa1f14f432d9185aa276636b3a1ddb900adddedab1417154a8e5faa3d
|