Getting started
MXIK (ИКПУ) is the national catalogue of goods and services of Uzbekistan. Its 17-digit codes go on invoices and other electronic accounting documents, and tasnif.soliq.uz is where you look them up.
mxik calls the same API the site uses, so you can find codes from your own code: by keyword, barcode, brand or certificate number.
Not an official SDK
The library isn't affiliated with the Tax Committee of Uzbekistan or tasnif.soliq.uz. It uses the public API behind the site, which isn't documented and may change without notice. If a response suddenly looks different, open an issue.
Hosting outside Uzbekistan
The API may not respond to servers outside Uzbekistan. Before deploying abroad, check that your server can reach tasnif.soliq.uz. If it can't, route requests through a proxy with the baseURL option.
Install
npm i mxikpnpm add mxikyarn add mxikbun add mxikIn Deno, import it as npm:mxik.
First request
import { createMxik } from 'mxik'
const mxik = createMxik()
const { items, total } = await mxik.search('Maccoffee')items is the first page of results, 20 by default, and total is how many there are overall. Each item has the code, its name and the catalogue hierarchy around it:
items[0].mxikCode // '00901001001048023'
items[0].name // 'Молотый (порошкообразный) кофе: Maccoffee, в пакет 3в1 20г'
items[0].groupName // 'КОФЕ, ЧАЙ И СПЕЦИИ'When you already have a code, fetch its full card:
const details = await mxik.get('00901001001048023')
details?.subPositionNameRu // 'Молотый (порошкообразный) кофе'
details?.subPositionNameUz // 'Майдаланган (кукунсимон) кофе'get() returns null when the code doesn't exist.
Where it runs
- Node.js 20 or newer, Bun and Deno.
- Browsers: the API allows cross-origin requests.
- Edge runtimes and anything else with
fetch. You can also pass your own.
The package ships ESM and CommonJS builds with type declarations:
import { createMxik } from 'mxik'
// or
const { createMxik } = require('mxik')Next steps
- Searching: all lookup methods, pagination and languages.
- Catalog: browse the code tree, units and tax benefits.
- Client options: timeouts, proxies, custom
fetch. - Cache: skip repeated requests.
- Errors: what can go wrong and how to tell the cases apart.
- CLI and MCP server: search codes from the terminal or from an AI assistant.