Code Examples


Below are complete examples for fetching the latest EUR exchange rates. Replace YOUR_API_KEY with your actual API key. Successful responses use the { "success": true, "data": { ... } } envelope, so the rates live under data.

cURL

curl -s -H "X-API-Key: YOUR_API_KEY" \
  "https://api.rateflow.com/v1/rates/latest?base=EUR"

Pair conversion with amount:

curl -s -H "X-API-Key: YOUR_API_KEY" \
  "https://api.rateflow.com/v1/rates/pair/EUR/USD?amount=100"

PHP

<?php

$apiKey = 'YOUR_API_KEY';
$url = 'https://api.rateflow.com/v1/rates/latest?base=EUR';

$context = stream_context_create([
    'http' => [
        'header' => "X-API-Key: $apiKey\r\n",
    ],
]);

$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);

echo "EUR to USD: " . $data['data']['rates']['USD'] . PHP_EOL;

With cURL extension:

<?php

$ch = curl_init('https://api.rateflow.com/v1/rates/pair/EUR/USD?amount=100');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: YOUR_API_KEY'],
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
echo "100 EUR = " . $data['data']['converted'] . " USD" . PHP_EOL;

Python

import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.rateflow.com/v1"

# Latest rates
response = requests.get(
    f"{BASE_URL}/rates/latest",
    params={"base": "EUR"},
    headers={"X-API-Key": API_KEY}
)
data = response.json()

print(f"EUR to USD: {data['data']['rates']['USD']}")

# Pair conversion
response = requests.get(
    f"{BASE_URL}/rates/pair/EUR/USD",
    params={"amount": 100},
    headers={"X-API-Key": API_KEY}
)
result = response.json()
print(f"100 EUR = {result['data']['converted']} USD")

JavaScript

const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://api.rateflow.com/v1';

// Latest rates
const response = await fetch(`${BASE_URL}/rates/latest?base=EUR`, {
    headers: { 'X-API-Key': API_KEY }
});
const body = await response.json();

console.log(`EUR to USD: ${body.data.rates.USD}`);

// Pair conversion
const pairResponse = await fetch(`${BASE_URL}/rates/pair/EUR/USD?amount=100`, {
    headers: { 'X-API-Key': API_KEY }
});
const result = await pairResponse.json();
console.log(`100 EUR = ${result.data.converted} USD`);

Node.js (with axios):

const axios = require('axios');

const client = axios.create({
    baseURL: 'https://api.rateflow.com/v1',
    headers: { 'X-API-Key': 'YOUR_API_KEY' }
});

const { data: body } = await client.get('/rates/latest?base=EUR');
console.log(`EUR to USD: ${body.data.rates.USD}`);

C\

using System.Net.Http;
using System.Text.Json;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");

// Latest rates
var response = await client.GetStringAsync(
    "https://api.rateflow.com/v1/rates/latest?base=EUR"
);
var data = JsonSerializer.Deserialize<JsonElement>(response);

Console.WriteLine($"EUR to USD: {data.GetProperty("data").GetProperty("rates").GetProperty("USD")}");

// Pair conversion
var pairResponse = await client.GetStringAsync(
    "https://api.rateflow.com/v1/rates/pair/EUR/USD?amount=100"
);
var result = JsonSerializer.Deserialize<JsonElement>(pairResponse);
Console.WriteLine($"100 EUR = {result.GetProperty("data").GetProperty("converted")} USD");

Go

package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    apiKey := "YOUR_API_KEY"
    baseURL := "https://api.rateflow.com/v1"

    // Latest rates
    req, _ := http.NewRequest("GET", baseURL+"/rates/latest?base=EUR", nil)
    req.Header.Set("X-API-Key", apiKey)

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)

    var data map[string]interface{}
    json.Unmarshal(body, &data)

    payload := data["data"].(map[string]interface{})
    rates := payload["rates"].(map[string]interface{})
    fmt.Printf("EUR to USD: %v\n", rates["USD"])
}