REST Countries

Currency

Cambodian riel KHR

Everything you need to work with Cambodian riel (KHR): its current exchange rate and a ready-to-run request, sourced from the Currencies API and ready to drop into your project.

Exchange rate

1 USD = 4,042.095624 KHR
1 KHR = 0.000248 USD

Rate as of 2026-07-12.

Call the Cambodian riel rate API

Request the live Cambodian riel rate table from the Currencies API. Copy the snippet for your language and drop in your own API key.

curl "https://api.restcountries.com/currencies/v1/rates/KHR?pretty=1" \
  -H "Authorization: Bearer YOUR_API_KEY"
const response = await fetch(
  'https://api.restcountries.com/currencies/v1/rates/KHR',
  { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const data = await response.json();
fetch(
  'https://api.restcountries.com/currencies/v1/rates/KHR',
  { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
)
  .then(function (response) { return response.json(); })
  .then(function (data) { console.log(data); });
import requests
response = requests.get(
  'https://api.restcountries.com/currencies/v1/rates/KHR',
  headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
data = response.json()
$ch = curl_init('https://api.restcountries.com/currencies/v1/rates/KHR');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_API_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true);
require 'net/http'
require 'json'
uri = URI('https://api.restcountries.com/currencies/v1/rates/KHR')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
data = JSON.parse(response.body)
package main
import (
  "encoding/json"
  "io"
  "net/http"
)
req, _ := http.NewRequest("GET", "https://api.restcountries.com/currencies/v1/rates/KHR", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var data map[string]interface{}
json.Unmarshal(body, &data)
use reqwest::blocking::Client;
use serde_json::Value;
let client = Client::new();
let response = client
  .get("https://api.restcountries.com/currencies/v1/rates/KHR")
  .header("Authorization", "Bearer YOUR_API_KEY")
  .send()?;
let data: Value = response.json()?;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
  .uri(URI.create("https://api.restcountries.com/currencies/v1/rates/KHR"))
  .header("Authorization", "Bearer YOUR_API_KEY")
  .GET()
  .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String body = response.body();
using System.Net.Http;
using System.Net.Http.Json;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
var data = await client.GetFromJsonAsync<JsonElement>(
  "https://api.restcountries.com/currencies/v1/rates/KHR");
import Foundation
var request = URLRequest(url: URL(string: "https://api.restcountries.com/currencies/v1/rates/KHR")!)
request.addValue("Bearer YOUR_API_KEY", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
let json = try JSONSerialization.jsonObject(with: data)

Integrate Cambodian riel rates into your app

The Currencies API returns exchange rates as structured JSON over HTTPS, ready to pull straight into web, mobile, and backend projects with no scraping and no manual data entry. Request only what you need and cache the response.

  • Show prices in Cambodian riel alongside your default currency.
  • Convert checkout and invoice totals to and from Cambodian riel at request time.
  • Power multi-currency dashboards, reports, and analytics.
  • Look up the KHR rate against any supported base currency.

Read the API docs