{"openapi":"3.1.0","info":{"title":"Firi Nordic Exchange API","version":"1.0.0","description":"Live order-book exchange data from Firi, the regulated Norwegian crypto venue and the largest in the Nordics, over its public API — no key, nothing stored. This is the regional venue view for the Norwegian krone (NOK) and Danish krone (DKK) order books: Nordic on-exchange price discovery, distinct from the global-aggregate and the other regional-exchange APIs in the catalogue. The ticker endpoint returns a pair full market summary — last traded price, 24h high/low, the 24h change percent, day volume and the live best bid, best ask and spread. The orderbook endpoint returns the live limit-order book — top bids and asks with cumulative depth and the bid/ask spread — so you can read on-venue liquidity. The trades endpoint returns the most recent executed trades with price, amount, side and time. The markets endpoint lists every NOK and DKK pair the venue trades with its last price and day volume. Coins traded include BTC, ETH, XRP, SOL, ADA, LTC, BNB, DOT and USDC, quoted in NOK and DKK, updated live. Build a pair from coin plus fiat (coin=btc, fiat=nok) or pass it directly (pair=ETHDKK).","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/firi-api","description":"oanor gateway"}],"tags":[{"name":"Ticker"},{"name":"Orderbook"},{"name":"Trades"},{"name":"Markets"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/ticker":{"get":{"operationId":"get_v1_ticker","tags":["Ticker"],"summary":"Pair full market summary","description":"","parameters":[{"name":"coin","in":"query","required":true,"description":"Coin (btc, eth, xrp, sol…)","schema":{"type":"string"},"example":"btc"},{"name":"fiat","in":"query","required":false,"description":"Quote fiat: nok or dkk (default nok)","schema":{"type":"string"},"example":"nok"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"ask":607211.18,"bid":601000.79,"coin":"BTC","fiat":"NOK","last":609904.79,"pair":"BTCNOK","venue":"Firi","source":"Firi","spread":6210.39,"day_low":586452.56,"day_high":611157.48,"spread_pct":1.0228,"change_24h_pct":3.26,"day_volume_coin":5.16},"meta":{"timestamp":"2026-06-12T01:42:42.452Z","request_id":"2d64e172-d708-4148-93a7-1588cdfcbd6e"},"status":"ok","message":"Ticker retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/orderbook":{"get":{"operationId":"get_v1_orderbook","tags":["Orderbook"],"summary":"Live limit-order book with depth","description":"","parameters":[{"name":"coin","in":"query","required":true,"description":"Coin","schema":{"type":"string"},"example":"btc"},{"name":"fiat","in":"query","required":false,"description":"Quote fiat (default nok)","schema":{"type":"string"},"example":"nok"},{"name":"limit","in":"query","required":false,"description":"Levels per side (default 20, max 100)","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"asks":[{"price":607211.18,"amount":0.12653557},{"price":607211.19,"amount":1.61691537},{"price":607217.13,"amount":0.03746468},{"price":618320.56,"amount":1.20366991},{"price":618320.57,"amount":8.228e-5},{"price":618724.68,"amount":0.03602411},{"price":620000,"amount":0.00032975},{"price":627736.62,"amount":8.104e-5},{"price":630000,"amount":0.09595252},{"price":635000,"amount":2.0e-5},{"price":637296.06,"amount":7.983e-5},{"price":640000,"amount":2.0e-5},{"price":645000,"amount":2.0e-5},{"price":647001.08,"amount":7.863e-5},{"price":650000,"amount":2.0e-5},{"price":655000,"amount":2.0e-5},{"price":656853.88,"amount":7.745e-5},{"price":657500,"amount":2.0e-5},{"price":660000,"amount":2.0e-5},{"price":662500,"amount":2.0e-5}],"bids":[{"price":601001.15,"amount":0.38713278},{"price":601000.97,"amount":0.3364788},{"price":601000.79,"amount":0.38713301},{"price":600446.14,"amount":0.33472821},{"price":600446.13,"amount":0.04913014},{"price":600213.69,"amount":7.11836711},{"price":600213.53,"amount":0.08999288},{"price":598986.4,"amount":0.05240327},{"price":595316.44,"amount":0.08188571},{"price":594995.23,"amount":0.39051626},{"price":594128.17,"amount":0.10292828},{"price":593250,"amount":0.00049269},{"price":590060.63,"amount":0.01694741},{"price":588498.92,"amount":0.05037122},{"price":587791.93,"amount":0.00017012},{"price":585799.36,"amount":0.00051212},{"price":585695.6,"amount":0.07900272},{"price":584323.02,"amount":0.09893591},{"price":583022.19,"amount":0.12388387},{"price":580930.61,"amount":0.15533471}],"coin":"BTC","fiat":"NOK","pair":"BTCNOK","venue":"Firi","source":"Firi","spread":6210.03,"best_ask":607211.18,"best_bid":601001.15,"ask_depth_coin":3.11745114,"bid_depth_coin":9.85634722},"meta":{"timestamp":"2026-06-12T01:42:42.546Z","request_id":"3614d8cb-dd1c-4ebb-b2c2-aa636b12258b"},"status":"ok","message":"Order book retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/trades":{"get":{"operationId":"get_v1_trades","tags":["Trades"],"summary":"Most recent executed trades","description":"","parameters":[{"name":"coin","in":"query","required":true,"description":"Coin","schema":{"type":"string"},"example":"eth"},{"name":"fiat","in":"query","required":false,"description":"Quote fiat (default nok)","schema":{"type":"string"},"example":"nok"},{"name":"limit","in":"query","required":false,"description":"Trades (default 20, max 50)","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"coin":"ETH","fiat":"NOK","pair":"ETHNOK","count":20,"venue":"Firi","source":"Firi","trades":[{"side":"ask","time":"2026-06-11T22:47:56.107Z","price":16000,"total_fiat":49652.42992,"amount_coin":3.10327687},{"side":"ask","time":"2026-06-11T18:23:26.713Z","price":16000,"total_fiat":16.112,"amount_coin":0.001007},{"side":"ask","time":"2026-06-11T17:46:49.286Z","price":15666.78,"total_fiat":48998.74212975,"amount_coin":3.12755666},{"side":"ask","time":"2026-06-11T17:36:26.487Z","price":16000,"total_fiat":19721.94992,"amount_coin":1.23262187},{"side":"ask","time":"2026-06-11T15:48:27.565Z","price":15800,"total_fiat":4965.23990199,"amount_coin":0.31425569},{"side":"bid","time":"2026-06-11T09:56:51.779Z","price":16176.17,"total_fiat":2080.95071378,"amount_coin":0.12864298},{"side":"bid","time":"2026-06-11T09:56:51.779Z","price":16178.02,"total_fiat":2081.18870329,"amount_coin":0.12864298},{"side":"ask","time":"2026-06-11T09:54:37.699Z","price":16187,"total_fiat":19595.30153665,"amount_coin":1.21055795},{"side":"bid","time":"2026-06-11T09:54:37.438Z","price":16186.8,"total_fiat":19595.05942506,"amount_coin":1.21055795},{"side":"ask","time":"2026-06-11T09:53:30.091Z","price":16177,"total_fiat":84170.27757348,"amount_coin":5.20308324},{"side":"bid","time":"2026-06-11T09:53:30.018Z","price":16176.71,"total_fiat":104857.17264259,"amount_coin":6.48198383},{"side":"ask","time":"2026-06-11T09:52:05.495Z","price":16186,"total_fiat":33416.6517237,"amount_coin":2.06454045},{"side":"bid","time":"2026-06-11T09:52:05.215Z","price":16184.41,"total_fiat":218593.83300258,"amount_coin":13.50644435},{"side":"bid","time":"2026-06-11T09:43:25.758Z","price":17400,"total_fiat":17.4,"amount_coin":0.001},{"side":"bid","time":"2026-06-11T09:38:16.793Z","price":17200,"total_fiat":24472.106508,"amount_coin":1.42279689},{"side":"bid","time":"2026-06-11T09:38:16.793Z","price":17200,"total_fiat":17.2,"amount_coin":0.001},{"side":"ask","time":"2026-06-11T09:35:36.385Z","price":16177.45,"total_fiat":191.26599135,"amount_coin":0.011823},{"side":"ask","time":"2026-06-11T09:35:22.418Z","price":16177.45,"total_fiat":348.46906752,"amount_coin":0.02154042},{"side":"ask","time":"2026-06-11T09:35:11.702Z","price":16177.45,"total_fiat":3564.90106078,"amount_coin":0.22036236},{"side":"ask","time":"2026-06-11T09:35:10.472Z","price":16177.45,"total_fiat":3564.90106078,"amount_coin":0.22036236}]},"meta":{"timestamp":"2026-06-12T01:42:42.638Z","request_id":"d81d81e6-7c4a-4435-b1c1-3f5c3769efce"},"status":"ok","message":"Trades retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/markets":{"get":{"operationId":"get_v1_markets","tags":["Markets"],"summary":"Every NOK and DKK pair with last price and volume","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":11,"fiats":["NOK","DKK"],"venue":"Firi","source":"Firi","markets":[{"coin":"ADA","fiat":"NOK","last":1.64,"pair":"ADANOK","day_low":1.57,"day_high":1.64,"change_24h_pct":7.19,"day_volume_coin":1738.93},{"coin":"BNB","fiat":"NOK","last":5775,"pair":"BNBNOK","day_low":5775,"day_high":5775,"change_24h_pct":0,"day_volume_coin":0},{"coin":"BTC","fiat":"DKK","last":411137.24,"pair":"BTCDKK","day_low":0,"day_high":0,"change_24h_pct":0,"day_volume_coin":0},{"coin":"BTC","fiat":"NOK","last":609904.79,"pair":"BTCNOK","day_low":586452.56,"day_high":611157.48,"change_24h_pct":3.26,"day_volume_coin":5.16},{"coin":"DOT","fiat":"NOK","last":8.97,"pair":"DOTNOK","day_low":8.97,"day_high":9.22,"change_24h_pct":0.22,"day_volume_coin":80.11},{"coin":"ETH","fiat":"DKK","last":10000,"pair":"ETHDKK","day_low":0,"day_high":0,"change_24h_pct":0,"day_volume_coin":0},{"coin":"ETH","fiat":"NOK","last":16000,"pair":"ETHNOK","day_low":15666.78,"day_high":17400,"change_24h_pct":4.58,"day_volume_coin":139.42},{"coin":"LTC","fiat":"NOK","last":406.26,"pair":"LTCNOK","day_low":398.15,"day_high":410.28,"change_24h_pct":0,"day_volume_coin":3.42},{"coin":"SOL","fiat":"NOK","last":634,"pair":"SOLNOK","day_low":609.25,"day_high":634,"change_24h_pct":6.55,"day_volume_coin":1.94},{"coin":"USDC","fiat":"NOK","last":9.47,"pair":"USDCNOK","day_low":9.47,"day_high":9.47,"change_24h_pct":0,"day_volume_coin":7303.49},{"coin":"XRP","fiat":"NOK","last":10.86,"pair":"XRPNOK","day_low":10.46,"day_high":10.86,"change_24h_pct":3.92,"day_volume_coin":343730.29}]},"meta":{"timestamp":"2026-06-12T01:42:42.732Z","request_id":"78caf12f-6963-4ee1-bb34-1aef3d1f79f5"},"status":"ok","message":"Markets retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Build a pair from coin + fiat (coin=btc, fiat=nok → BTCNOK) or pass pair=ETHDKK directly. Fiats are NOK and DKK. Coins traded include BTC, ETH, XRP, SOL, ADA, LTC, BNB, DOT and USDC.","source":"Firi public API (api.firi.com/v2, live)","service":"firi-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/ticker":"Full market summary for a pair (coin=btc, fiat=nok).","GET /v1/trades":"Most recent executed trades (coin=eth, fiat=nok, limit=20).","GET /v1/markets":"Every NOK and DKK pair with last price and day volume.","GET /v1/orderbook":"Live limit-order book with depth and spread (coin=btc, fiat=nok, limit=20)."},"description":"Live order-book exchange data from Firi, the regulated Norwegian crypto venue (the largest in the Nordics), over its public API. The regional venue view for the Norwegian krone (NOK) and Danish krone (DKK) order books — Nordic on-exchange price discovery. ticker = a pair's full market summary (last, 24h high/low, 24h change %, day volume, live best bid/ask/spread); orderbook = the live limit-order book (top bids/asks, cumulative depth, spread); trades = the most recent executed trades (price, amount, side, time); markets = every NOK and DKK pair with last price and day volume. Live, no key, nothing stored.","markets_traded":11,"upstream_status":"ok"},"meta":{"timestamp":"2026-06-12T01:42:42.825Z","request_id":"15ee8f8f-b359-48b5-b4ba-10052d0670aa"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":15000,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":825,"monthly_call_quota":225000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2360,"monthly_call_quota":910000,"rps_limit":28,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":5340,"monthly_call_quota":3300000,"rps_limit":60,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/firi-api"}