Indonesian Tax Exchange Rates
Freefinance:kurs-pajak
Official weekly tax exchange rates set by the Minister of Finance (valid Wednesday to Tuesday) for 25 currencies, with the decree number and validity period. Used for VAT, income tax and import duties on foreign-currency transactions.
No key yet? Sign up free
GET/v1/finance:kurs-pajak/kurs
Tax exchange rates valid this week or on a given date, with the decree number.
Cache 21600 s
1 quota / request
finance.kurs-pajak.kurs
cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs?currency=USD"
Python
import requests
response = requests.get(
"https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs",
params={"currency": "USD"},
headers={"x-api-key": "ga_live_..."},
timeout=30,
)
body = response.json()
print(body["data"] if body["ok"] else body["error"])
JavaScript
const params = new URLSearchParams({"currency": "USD"});
const response = await fetch(`https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs?${params}`, {
headers: { "x-api-key": "ga_live_..." },
});
const body = await response.json();
console.log(body.ok ? body.data : body.error);
PHP
<?php
$ch = curl_init('https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs?' . http_build_query(['currency' => 'USD']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['x-api-key: ga_live_...'],
CURLOPT_TIMEOUT => 30,
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body['ok'] ? $body['data'] : $body['error']);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Set("currency", "USD")
req, _ := http.NewRequest("GET", "https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs?"+params.Encode(), nil)
req.Header.Set("x-api-key", "ga_live_...")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var body map[string]any
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body["data"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs?currency=USD"))
.header("x-api-key", "ga_live_...")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Ruby
require "net/http"
require "json"
uri = URI("https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs")
uri.query = URI.encode_www_form({"currency" => "USD"})
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "ga_live_..."
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
body = JSON.parse(response.body)
puts body["ok"] ? body["data"] : body["error"]
C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "ga_live_...");
var json = await client.GetStringAsync("https://kajidata.artonlabs.com/v1/finance:kurs-pajak/kurs?currency=USD");
Console.WriteLine(json);