Your reliable source for exchange rates. Fast, simple, and free.
$client = new HttpClient();
$date = new DateTimeImmutable();
$currency = 'USD';
$baseCurrency = 'EUR';
$url = sprintf(
'https://exrate.xakki.pro/api/v1/rate?date=%s¤cy=%s&base_currency=%s',
$date->format('Y-m-d'),
$currency,
$baseCurrency
);
$response = $client->request('GET', $url, [
'headers' => [
'Accept' => 'application/json',
]
]);
if ($response->getStatusCode() === 200) {
$data = $response->toArray();
echo "Rate: " . $data['rate'];
}
import requests
from datetime import datetime
date = datetime.now().strftime('%Y-%m-%d')
currency = 'USD'
base_currency = 'EUR'
url = f'https://exrate.xakki.pro/api/v1/rate?date={date}¤cy={currency}&base_currency={base_currency}'
response = requests.get(url, headers={'Accept': 'application/json'})
if response.status_code == 200:
data = response.json()
print(f"Rate: {data['rate']}")
const fetch = require('node-fetch');
const date = new Date().toISOString().slice(0, 10);
const currency = 'USD';
const baseCurrency = 'EUR';
const url = `https://exrate.xakki.pro/api/v1/rate?date=${date}¤cy=${currency}&base_currency=${baseCurrency}`;
fetch(url, {
headers: { 'Accept': 'application/json' }
})
.then(res => {
if (res.status === 200) {
return res.json();
}
})
.then(data => {
if (data) {
console.log(`Rate: ${data.rate}`);
}
});
package main
import (
"fmt"
"net/http"
"io/ioutil"
"time"
"encoding/json"
)
func main() {
date := time.Now().Format("2006-01-02")
currency := "USD"
baseCurrency := "EUR"
url := fmt.Sprintf("https://exrate.xakki.pro/api/v1/rate?date=%s¤cy=%s&base_currency=%s", date, currency, baseCurrency)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
// handle error
}
defer resp.Body.Close()
if resp.StatusCode == http.StatusOK {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
// handle error
}
var result map[string]interface{}
json.Unmarshal(body, &result)
fmt.Printf("Rate: %v
", result["rate"])
}
}