Official PHP client for the Metals-API.
composer require metals-api/sdk<?php
require 'vendor/autoload.php';
use MetalsApi\MetalsClient;
$client = new MetalsClient('YOUR_ACCESS_KEY');
$response = $client->getLatest([
'base' => 'USD',
'symbols' => 'XAU,XAG,XPT'
]);
print_r($response);// Latest rates
$client->getLatest([
'base' => 'USD',
'symbols' => 'XAU,XAG,XPT'
]);
// Historical (YYYY-MM-DD)
$client->getHistorical('2024-05-15', [
'base' => 'USD',
'symbols' => 'XAU,XAG'
]);
// Time-series
$client->getTimeSeries([
'start_date' => '2024-01-01',
'end_date' => '2024-01-31',
'base' => 'USD',
'symbols' => 'XAU'
]);
// Fluctuation
$client->getFluctuation([
'start_date' => '2024-01-01',
'end_date' => '2024-01-31',
'base' => 'USD',
'symbols' => 'XAU,XAG'
]);
// Convert
$client->convert([
'from' => 'USD',
'to' => 'XAU',
'amount' => 100
]);
// Symbols
$client->getSymbols();
// Seasonality (cuando exista el endpoint)
$client->getSeasonality([
'symbol' => 'XAU',
'group_by' => 'month',
'years' => 5
]);use MetalsApi\MetalsApiException;
use MetalsApi\MetalsClient;
$client = new MetalsClient('YOUR_ACCESS_KEY');
try {
$response = $client->getLatest(['base' => 'USD']);
} catch (MetalsApiException $e) {
echo $e->getMessage();
echo $e->getStatusCode();
var_dump($e->getRaw());
}