Skip to content

metalpriceapi/metalpriceapi-swift

Repository files navigation

MetalpriceAPI

MetalpriceAPI is the official Swift 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

We offer multiple ways to install our metal price api library.

Cocoapods

In your Podfile, specify:

pod MetalpriceAPI

Carthage

In your Cartfile, specify:

github "MetalpriceAPI"

Swift Package Manager

In Xcode, select File ▸ Swift Packages ▸ Add Package Dependency… and use the url: https://github.com/metalpriceapi/metalpriceapi-swift.git

Usage

import MetalpriceAPI

apiKey = 'SET_YOUR_API_KEY_HERE'
let client = MetalpriceAPIService(apiKey: apiKey)

Documentation

fetchSymbols()

client.fetchSymbols(completion: { result in
  // do something
}

Link


fetchLive(base, currencies)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • currencies <List<string>> Optional. Pass in an list of currencies to return values for.
client.fetchLive(base: "USD", currencies: ["XAU", "XAG", "XPD", "XPT"], completion: { result in
  // do something
}

Link


fetchHistorical(date, base, currencies)

  • 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 an list of currencies to return values for.
clientfetchHistorical(date: "2024-02-05", base: "USD", currencies: ["XAU", "XAG", "XPD", "XPT"], completion: { result in
  // do something
}

Link


convert(from_currency, to_currency, amount, date)

  • 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.
client.convert(fromCurrency: "USD", toCurrency: "EUR", amount: 100.0, date: "2024-02-05", completion: { result in
  // do something
}

Link


timeframe(start_date, end_date, base, currencies)

  • 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 an list of currencies to return values for.
client.timeframe(startDate: "2024-02-05", endDate: "2024-02-06", base: "USD", currencies: ["XAU", "XAG", "XPD", "XPT"], completion: { result in
  // do something
}

Link


change(start_date, end_date, base, currencies)

  • 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 an list of currencies to return values for.
client.change(startDate: "2024-02-05", endDate: "2024-02-06", base: "USD", currencies: ["XAU", "XAG", "XPD", "XPT"], completion: { result in
  // do something
}

Link


carat(base, date)

  • base <string> Optional. Pass in a base currency, defaults to USD.
  • 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", date: "2024-02-05", completion: { result in
  // do something
}

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.