Introduction
Welcome to Nicesi API v1! Our API provides RESTful HTTP access to a large part of the functionality of Nicesi.
Nicesi's API documentation page was inspired by Slate
API Format
API results are currently returned in JSON formats. Specify the JSON format by including the HTTP header in all requests:
Content-type: application/json
REST API Client
We offer a ready to use collection of requests for Insomnia The request file contains all example requests from this documentation.
Insomnia
To explore our APIs with Insomnia, follow these steps:
-
Open Insomnia and Import our workspace.
-
If you aren't registered, here
-
Specify it in your workspace: Manage Environments -> Nicesi ->
{
"apikey": "CHANGE-IT-WITH-YOUR-API-KEY"
}
- Start exploring
Authentication
There is one way to authenticate against Nicesi.
Token Authentication
apikey: YOUR-API-KEY
Host: https://api.nicesi.com
To authenticate against Nicesi using tokens, you need to pass an YOUR-API-KEY via an apikey
header.
We will update from free plan to paid plan when the payment is completed. BUY NOW
Help
If you have any questions/feedback regarding the Nicesi API v1, please reach out to us. We're here to help. You can send message to Nicesi Support Contact.
Errors
The Nicesi API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid |
401 | Unauthorized -- Your API key is incorrect |
403 | Forbidden -- The resource requested is hidden for administrators only |
404 | Not Found -- The specified resource could not be found |
405 | Method Not Allowed -- You tried to access a resource with an invalid method |
406 | Not Acceptable -- You requested a format that isn't json |
429 | Too Many Requests -- You're requesting too many resources! Slow down! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |
Endpoints
APIs: Currency Exchange Rate API, ...
Location, Email, Language, Account APIs will be published soon.
Exchange API
Latest Rate
GET /curr/rate/EUR/USD HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
var request = require("request");
var options = {
url: "https://api.nicesi.com/curr/rate/ETH/USD,
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
var data = body;
});
import requests
import json
url = 'https://api.nicesi.com/curr/rate/ETH/USD
response = requests.get(url)
response.raise_for_status()
response.json()
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.nicesi.com/curr/rate/ETH/USD,
CURLOPT_RETURNTRANSFER => true
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$json_response = json_decode($response);
}
require 'net/http'
require 'json'
uri = URI('https://api.nicesi.com/curr/rate/ETH/USD)
response = Net::HTTP.get(uri)
data = JSON.parse(response)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.nicesi.com/curr/rate/ETH/USD)
.build();
Response response = client.newCall(request).execute();
var client = new RestClient("https://api.nicesi.com/curr/rate/ETH/USD);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.nicesi.com/curr/rate/ETH/USD
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import Foundation
let postData = NSData(data: "".data(using: String.Encoding.utf8)!)
let request = NSMutableURLRequest(url: NSURL(string: "https://api.nicesi.com/curr/rate/ETH/USD)! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.nicesi.com/curr/rate/ETH/USD)
.build()
val response = client.newCall(request).execute();
The above request returns JSON structured like this:
{
"ts": 1591894347,
"rt": 1.135046
}
This endpoint to get latest currency exchange rates (60/30/10 minute updates).
GET rate/{base_currency}/{target_currency}
Convert
GET /curr/convert/EUR/USD/10 HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
var request = require("request");
var options = {
url: "https://api.nicesi.com/curr/convert/EUR/USD/10,
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
var data = body;
});
import requests
import json
url = 'https://api.nicesi.com/curr/convert/EUR/USD/10
response = requests.get(url)
response.raise_for_status()
response.json()
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.nicesi.com/curr/convert/EUR/USD/10,
CURLOPT_RETURNTRANSFER => true
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$json_response = json_decode($response);
}
require 'net/http'
require 'json'
uri = URI('https://api.nicesi.com/curr/convert/EUR/USD/10)
response = Net::HTTP.get(uri)
data = JSON.parse(response)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.nicesi.com/curr/convert/EUR/USD/10)
.build();
Response response = client.newCall(request).execute();
var client = new RestClient("https://api.nicesi.com/curr/convert/EUR/USD/10);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.nicesi.com/curr/convert/EUR/USD/10
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import Foundation
let postData = NSData(data: "".data(using: String.Encoding.utf8)!)
let request = NSMutableURLRequest(url: NSURL(string: "https://api.nicesi.com/curr/convert/EUR/USD/10)! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.nicesi.com/curr/convert/EUR/USD/10)
.build()
val response = client.newCall(request).execute();
The above request returns JSON structured like this:
{
"ts": 1593249076,
"vl": 11.192449
}
This endpoint to get converted amount from one currency to another. (5 minute updates).
GET convert/{base_currency}/{target_currency}/{value}
All Latest Rates
GET /curr/rates HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
var request = require("request");
var options = {
url: "https://api.nicesi.com/curr/rates,
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
var data = body;
});
import requests
import json
url = 'https://api.nicesi.com/curr/rates
response = requests.get(url)
response.raise_for_status()
response.json()
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.nicesi.com/curr/rates,
CURLOPT_RETURNTRANSFER => true
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$json_response = json_decode($response);
}
require 'net/http'
require 'json'
uri = URI('https://api.nicesi.com/curr/rates)
response = Net::HTTP.get(uri)
data = JSON.parse(response)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.nicesi.com/curr/rates)
.build();
Response response = client.newCall(request).execute();
var client = new RestClient("https://api.nicesi.com/curr/rates);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.nicesi.com/curr/rates
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import Foundation
let postData = NSData(data: "".data(using: String.Encoding.utf8)!)
let request = NSMutableURLRequest(url: NSURL(string: "https://api.nicesi.com/curr/rates)! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.nicesi.com/curr/rates)
.build()
val response = client.newCall(request).execute();
The above request returns JSON structured like this:
{
"ts": 1593249076,
"bs": "USD",
"rt": {
"ETH": 0.004352,
"EUR": 0.89346,
"GBP": 0.813649,
"JPY": 107.18,
"...": ...
}
}
This endpoint to get latest all currency exchange rates based USD (60/30/10 minute updates).
GET rates
List of Currencies
GET /curr/list HTTP/1.1
HTTP/1.1 200 OK
Content-Type: application/json
var request = require("request");
var options = {
url: "https://api.nicesi.com/curr/list,
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
var data = body;
});
import requests
import json
url = 'https://api.nicesi.com/curr/list
response = requests.get(url)
response.raise_for_status()
response.json()
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.nicesi.com/curr/list,
CURLOPT_RETURNTRANSFER => true
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
$json_response = json_decode($response);
}
require 'net/http'
require 'json'
uri = URI('https://api.nicesi.com/curr/list)
response = Net::HTTP.get(uri)
data = JSON.parse(response)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.nicesi.com/curr/list)
.build();
Response response = client.newCall(request).execute();
var client = new RestClient("https://api.nicesi.com/curr/list);
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.nicesi.com/curr/list
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import Foundation
let postData = NSData(data: "".data(using: String.Encoding.utf8)!)
let request = NSMutableURLRequest(url: NSURL(string: "https://api.nicesi.com/curr/list)! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.nicesi.com/curr/list)
.build()
val response = client.newCall(request).execute();
The above request returns JSON structured like this:
{
"AED": "United Arab Emirates Dirham",
"AFN": "Afghan Afghani",
"ALL": "Albanian Lek",
"AMD": "Armenian Dram",
"ANG": "Netherlands Antillean Gulden",
"AOA": "Angolan Kwanza",
"ARS": "Argentine Peso",
"AUD": "Australian Dollar",
"AWG": "Aruban Florin",
"AZN": "Azerbaijani Manat",
"BAM": "Bosnia and Herzegovina Convertible Mark",
"BBD": "Barbadian Dollar",
"BDT": "Bangladeshi Taka",
"BGN": "Bulgarian Lev",
"BHD": "Bahraini Dinar",
"BIF": "Burundian Franc",
"BMD": "Bermudian Dollar",
"BND": "Brunei Dollar",
"BOB": "Bolivian Boliviano",
"BRL": "Brazilian Real",
"BSD": "Bahamian Dollar",
"BTN": "Bhutanese Ngultrum",
"BWP": "Botswana Pula",
"BYN": "Belarusian Ruble",
"BYR": "Belarusian Ruble",
"BZD": "Belize Dollar",
"CAD": "Canadian Dollar",
"CDF": "Congolese Franc",
"CHF": "Swiss Franc",
"CLF": "Unidad de Fomento",
"CLP": "Chilean Peso",
"CNH": "Chinese Renminbi Yuan Offshore",
"CNY": "Chinese Renminbi Yuan",
"COP": "Colombian Peso",
"CRC": "Costa Rican Colón",
"CUC": "Cuban Convertible Peso",
"CVE": "Cape Verdean Escudo",
"CZK": "Czech Koruna",
"DJF": "Djiboutian Franc",
"DKK": "Danish Krone",
"DOP": "Dominican Peso",
"DZD": "Algerian Dinar",
"EEK": "Estonian Kroon",
"EGP": "Egyptian Pound",
"ERN": "Eritrean Nakfa",
"ETB": "Ethiopian Birr",
"EUR": "Euro",
"FJD": "Fijian Dollar",
"FKP": "Falkland Pound",
"GBP": "British Pound",
"GEL": "Georgian Lari",
"GGP": "Guernsey Pound",
"GHS": "Ghanaian Cedi",
"GIP": "Gibraltar Pound",
"GMD": "Gambian Dalasi",
"GNF": "Guinean Franc",
"GTQ": "Guatemalan Quetzal",
"GYD": "Guyanese Dollar",
"HKD": "Hong Kong Dollar",
"HNL": "Honduran Lempira",
"HRK": "Croatian Kuna",
"HTG": "Haitian Gourde",
"HUF": "Hungarian Forint",
"IDR": "Indonesian Rupiah",
"ILS": "Israeli New Sheqel",
"IMP": "Isle of Man Pound",
"INR": "Indian Rupee",
"IQD": "Iraqi Dinar",
"ISK": "Icelandic Króna",
"JEP": "Jersey Pound",
"JMD": "Jamaican Dollar",
"JOD": "Jordanian Dinar",
"JPY": "Japanese Yen",
"KES": "Kenyan Shilling",
"KGS": "Kyrgyzstani Som",
"KHR": "Cambodian Riel",
"KMF": "Comorian Franc",
"KRW": "South Korean Won",
"KWD": "Kuwaiti Dinar",
"KYD": "Cayman Islands Dollar",
"KZT": "Kazakhstani Tenge",
"LAK": "Lao Kip",
"LBP": "Lebanese Pound",
"LKR": "Sri Lankan Rupee",
"LRD": "Liberian Dollar",
"LSL": "Lesotho Loti",
"LTL": "Lithuanian Litas",
"LVL": "Latvian Lats",
"LYD": "Libyan Dinar",
"MAD": "Moroccan Dirham",
"MDL": "Moldovan Leu",
"MGA": "Malagasy Ariary",
"MKD": "Macedonian Denar",
"MMK": "Myanmar Kyat",
"MNT": "Mongolian Tögrög",
"MOP": "Macanese Pataca",
"MRO": "Mauritanian Ouguiya",
"MTL": "Maltese Lira",
"MUR": "Mauritian Rupee",
"MVR": "Maldivian Rufiyaa",
"MWK": "Malawian Kwacha",
"MXN": "Mexican Peso",
"MYR": "Malaysian Ringgit",
"MZN": "Mozambican Metical",
"NAD": "Namibian Dollar",
"NGN": "Nigerian Naira",
"NIO": "Nicaraguan Córdoba",
"NOK": "Norwegian Krone",
"NPR": "Nepalese Rupee",
"NZD": "New Zealand Dollar",
"OMR": "Omani Rial",
"PAB": "Panamanian Balboa",
"PEN": "Peruvian Sol",
"PGK": "Papua New Guinean Kina",
"PHP": "Philippine Peso",
"PKR": "Pakistani Rupee",
"PLN": "Polish Złoty",
"PYG": "Paraguayan Guaraní",
"QAR": "Qatari Riyal",
"RON": "Romanian Leu",
"RSD": "Serbian Dinar",
"RUB": "Russian Ruble",
"RWF": "Rwandan Franc",
"SAR": "Saudi Riyal",
"SBD": "Solomon Islands Dollar",
"SCR": "Seychellois Rupee",
"SEK": "Swedish Krona",
"SGD": "Singapore Dollar",
"SHP": "Saint Helenian Pound",
"SLL": "Sierra Leonean Leone",
"SOS": "Somali Shilling",
"SRD": "Surinamese Dollar",
"SSP": "South Sudanese Pound",
"STD": "São Tomé and Príncipe Dobra",
"SVC": "Salvadoran Colón",
"SZL": "Swazi Lilangeni",
"THB": "Thai Baht",
"TJS": "Tajikistani Somoni",
"TMT": "Turkmenistani Manat",
"TND": "Tunisian Dinar",
"TOP": "Tongan Paʻanga",
"TRY": "Turkish Lira",
"TTD": "Trinidad and Tobago Dollar",
"TWD": "New Taiwan Dollar",
"TZS": "Tanzanian Shilling",
"UAH": "Ukrainian Hryvnia",
"UGX": "Ugandan Shilling",
"USD": "US Dollar",
"UYU": "Uruguayan Peso",
"UZS": "Uzbekistan Som",
"VEF": "Venezuelan Bolívar",
"VES": "Venezuelan Bolívar Soberano",
"VND": "Vietnamese Đồng",
"VUV": "Vanuatu Vatu",
"WST": "Samoan Tala",
"XAF": "Central African Cfa Franc",
"XAG": "Silver (Troy Ounce)",
"XAU": "Gold (Troy Ounce)",
"XCD": "East Caribbean Dollar",
"XDR": "Special Drawing Rights",
"XOF": "West African Cfa Franc",
"XPD": "Palladium",
"XPF": "Cfp Franc",
"XPT": "Platinum",
"YER": "Yemeni Rial",
"ZAR": "South African Rand",
"ZMK": "Zambian Kwacha",
"ZMW": "Zambian Kwacha",
"ZWL": "Zimbabwean Dollar",
"ATOM": "Cosmos",
"BAT": "Basic Attention Token",
"BCH": "Bitcoin Cash",
"BSV": "Bitcoin SV",
"BTC": "Bitcoin",
"DAI": "DAI",
"DASH": "DASH",
"EOS": "EOS",
"ETC": "Ethereum Classic",
"ETH": "Ethereum",
"KNC": "Kyber Network",
"LINK": "Chainlink",
"LTC": "Litecoin",
"OMG": "OMG Network",
"OXT": "Orchid Token",
"REP": "Augur",
"USDC": "USD Coin",
"XLM": "Stellar",
"XRP": "XRP",
"XTZ": "Tezos",
"ZEC": "Zcash",
"ZRX": "0x"
}
This endpoint to get list of currencies.
GET list
Changelog
v1.0
- Init.