Dasturchilar
Finmind HTTP API
Ochiq bozor sahifalarida koʻrsatilgan hamma narsa oʻsha manzilda kirishsiz JSON koʻrinishida mavjud. API ning qolgan qismi tizimga kirgan platformaga xizmat qiladi va Finmind hisobi tokenini yoki tashkilotning oʻz tizimlari uchun tashkilot API kalitini talab qiladi. Bu sahifa bugun nima mavjudligini sozlangan cheklovlar bilan aytadi; maʼlumotnoma OpenAPI sxemasidir.
Asosiy URL https://finmind.uz. Sxema versiyasi 0.1.0. Ishlab chiqarish muhitida 2026-09-26 kuni tekshirilgan.
Kirishsiz
Ochiq endpointlar
Ular har qanday soʻrovchiga javob beradi. Serverda oʻn daqiqa keshlanadi va ochiq Cache-Control sarlavhasi bilan yuboriladi, shuning uchun mijoz ham ularni keshlashi mumkin. Manbani oʻqish muvaffaqiyatsiz boʻlsa, eskirgan yoki boʻsh javob oʻrniga Retry-After sarlavhasi bilan 503 qaytaradi.
| Yoʻl | Qaytaradi | Soʻrovlar cheklovi |
|---|---|---|
GET /api/v1/public/market/instruments/ | Finmind kuzatadigan har bir UZSE aksiyasi va obligatsiyasi: tiker, ISIN, nomi, sektori, soʻnggi saqlangan yopilish narxi, oldingi saqlangan savdo kunidan beri oʻzgarish va uning savdo sanasi; as_of maʼlumotlardagi soʻnggi savdo kuni. | daqiqasiga 600 |
GET /api/v1/public/market/stocks/<TICKER>/ | Bitta aksiya: soʻnggi savdo kuni (ochilish, eng yuqori, eng past, yopilish, hajm, savdo sanasi), bir yillik kunlik yopilish narxlari, hisobot koʻrsatkichlari, emitent, uning soʻnggi korporativ axboroti va boshqa aksiya sinflari. | daqiqasiga 600 |
GET /api/v1/public/market/bonds/<ISIN>/ | Bitta obligatsiya: nominal qiymati, kuponi, toʻlov davriyligi, chiqarilish va soʻndirish sanalari, joylashtirilgan soni, soʻnggi savdo kuni, yopilish narxlari tarixi va emitentning korporativ axboroti. | daqiqasiga 600 |
GET /api/v1/public/market/sector-map/ | Har bir ochiq aksiya, uning sektori va oxirgi bir yildagi oʻzgarishi: tiker, nomi, aksiya sinfi, soʻnggi yopilish narxi va savdo sanasi hamda base_date sanasidagi yopilish narxiga nisbatan change_pct. Yil davomida savdo qilinmagan yoki undan oldingi yopilish narxi yoʻq aksiyada oʻzgarish null va change_reason bilan beriladi, hech qachon nol emas. | daqiqasiga 600 |
GET /api/v1/public/market/home-map/ | Bosh sahifadagi bozor xaritasi: eng yangi saqlangan haftalik yil boshidan beri xarita, har bir ochiq aksiya uchun bitta qator: sektori, oʻtgan yilning soʻnggi yopilish narxiga nisbatan oʻzgarishi va birja yil davomida eʼlon qilgan aylanma, yoki sabab bilan null. Shanba kunlari Toshkent vaqti bilan 07:00 da quriladi; birinchi qurilishgacha 404 qaytaradi. | daqiqasiga 600 |
GET /api/v1/public/market/disclosures/ | openinfo.uz dan eng yangi ellikta emitent axboroti: tiker, emitent, sarlavha, toifa, eʼlon qilingan vaqt va manba havolasi. | daqiqasiga 600 |
GET /api/v1/blog/posts/ | Ingliz, oʻzbek va rus tillaridagi eʼlon qilingan blog maqolalari; bitta maqola /api/v1/blog/posts/<slug>/ manzilida. | daqiqasiga 600 |
GET /api/v1/health/ | Ishlash holati: maʼlumotlar bazasi va kesh tekshiruvlari hamda API versiyasi. | daqiqasiga 600 |
Pul va narxlar aniq oʻnlik sonlarni saqlaydigan JSON satrlari, hech qachon float emas. trade_date saqlangan yopilish narxi tegishli boʻlgan birja savdo kuni; oʻzgarish oldingi saqlangan savdo kuniga nisbatan oʻlchanadi, kam savdo qilinadigan aksiya uchun u bir necha hafta oldin boʻlishi mumkin. Korporativ axborotda published_at UTC da, published_date esa Toshkent taqvimida beriladi.
Sinab koʻring
Bugun ishlaydigan uchta soʻrov
Har bir misol 2026-09-26 kuni ishlab chiqarish muhitida bajarilgan; koʻrsatilgan natija nomlangan maydonlar bilan qisqartirilgan.
Instrumentlar indeksi, maʼlumotlardagi soʻnggi savdo kuni bilan
curl -s https://finmind.uz/api/v1/public/market/instruments/Natija, qisqartirilgan
{"as_of": "2026-09-25",
"stocks": [{"ticker": "AGBA", "isin": "UZ7001560000", "name": "Agrobank ATB",
"share_class": "common", "sector": "Financials",
"last": "589", "change_pct": "-0.17", "trade_date": "2026-09-25"}, ...],
"bonds": [{"isin": "UZ6057687AE6", "ticker": "BFMT2B5",
"coupon_rate_pct": "27", "maturity_date": "2028-01-20",
"currency": "UZS", "last": "123998", "trade_date": "2026-09-25"}, ...]}Bitta aksiya: soʻnggi savdo kuni va bir yillik yopilish narxlari
curl -s https://finmind.uz/api/v1/public/market/stocks/AGBA/Natija, qisqartirilgan
{"kind": "stock", "ticker": "AGBA", "isin": "UZ7001560000", "name": "Agrobank ATB",
"currency": "UZS", "exchange": "UZSE",
"issuer": {"sector": "Financials", "sub_industry": "Diversified Banks", ...},
"quote": {"last": "589", "prev_close": "590", "change": "-1", "change_pct": "-0.17",
"open": "609", "high": "609", "low": "589", "volume": "28615",
"trade_date": "2026-09-25", "prev_trade_date": "2026-09-24"},
"history": [..., {"date": "2026-09-25", "close": "589"}],
"fundamentals": {...}, "disclosures": [...], "other_share_classes": [...]}ISIN boʻyicha bitta obligatsiya
curl -s https://finmind.uz/api/v1/public/market/bonds/UZ6057687AE6/Natija, qisqartirilgan
{"kind": "bond", "isin": "UZ6057687AE6", "ticker": "BFMT2B5",
"issuer": "BIZNES FINANS MIKROMOLIYA TASHKILOTI MChJ",
"face_value": "100000", "coupon_rate_pct": "27", "coupon_frequency_per_year": 12,
"issue_date": "2026-01-28", "maturity_date": "2028-01-20", "matured": false,
"quote": {"last": "123998", "prev_close": "120000", "change_pct": "3.33",
"trade_date": "2026-09-25", "prev_trade_date": "2026-09-24"},
"history": [...], "disclosures": [...]}Tizimga kirgan holda
Autentifikatsiya va huquqlar
Boshqa har bir endpoint Finmind hisobining elektron pochtasi va paroli bilan olingan JSON Web Token talab qiladi. Token shaxsning oʻz huquqlarini oʻzida saqlaydi: pullik funksiya ortidagi endpoint tokensiz 401, Finmind hisobida oʻsha funksiya boʻlmasa feature_locked kodi bilan 403 qaytaradi. Katalogning bepul qismlari (buyurtmalar roʻyxati, oʻrganish) faqat tokenni talab qiladi, Essentials tarifidagi vositalar, masalan portfel, esa shu tarifni talab qiladi.
curl -s -X POST https://finmind.uz/api/v1/auth/token/ \
-H 'Content-Type: application/json' \
-d '{"email": "you@example.com", "password": "..."}'
# {"refresh": "...", "access": "..."}
curl -s https://finmind.uz/api/v1/portfolio/ \
-H 'Authorization: Bearer <access>'- Kirish tokeni
- 30 daqiqa amal qiladi. Authorization: Bearer sarlavhasi sifatida yuboriladi.
- Yangilash tokeni
- 24 soat amal qiladi, kirish soʻrovida remember: true yuborilsa esa 30 kun; ikki bosqichli Finmind hisobi uchun bu maydon sessiya yaratiladigan ikkinchi qadamda, /api/v1/auth/2fa/verify/ manzilida oʻqiladi. Yangilash tokenini /api/v1/auth/token/refresh/ manziliga POST qiling; har bir yangilash yangi juftlik qaytaradi, eskisini bekor qiladi va muddatni qaytadan boshlaydi.
- Ikki bosqichli Finmind hisoblari
- Birinchi soʻrov token oʻrniga twofa_required va challenge bilan javob beradi; ikkinchi qadam sxemada hujjatlashtirilgan.
- Chiqish
- Yangilash tokenini bekor qilish uchun uni /api/v1/auth/logout/ manziliga POST qiling.
Tashkilotlar uchun
Tashkilot API kalitlari
Tashkilot hisobi (fond, sugʻurta kompaniyasi, bank gʻaznachiligi) oʻz tizimlariga API kalitlarini berishi mumkin. Egalar va administratorlar ularni tashkilot ish maydonida, oʻzlarini tasdiqlagandan soʻng, har biriga kerakli ruxsat doiralari bilan yaratadi. Kalit shaxsga emas, tashkilotga tegishli va faqat oʻsha tashkilotning manzillarini ochadi: hech qachon shaxsning oʻz maʼlumotlarini, boshqa tashkilotnikini, aʼzolar, kalitlar yoki shartnomani ochmaydi.
curl -s https://finmind.uz/api/v1/orgs/<organisation>/market/instruments/ \
-H 'Authorization: Api-Key fm_org_<prefix>_<secret>'- Bir marta koʻrsatiladi
- Toʻliq kalit yaratilganda bir marta koʻrsatiladi. Finmind uning maxfiy qismining faqat SHA-256 barmoq izini saqlaydi va uni qayta koʻrsata olmaydi.
- Amal qilish muddati
- Boshqacha tanlanmasa 90 kun, koʻpi bilan 365 kun. Har bir tashkilotda 20 tagacha ishlaydigan kalit.
- Soʻrovlar cheklovi
- Shartnomada koʻproq belgilanmagan boʻlsa, tashkilotning barcha kalitlari uchun birgalikda va har bir kalit uchun daqiqasiga 120 ta soʻrov; bozor maʼlumotlari uchun daqiqasiga 600 ta ochiq chegara, eksport va import uchun esa har biriga daqiqasiga 30 ta chegara ham amal qiladi, tashkilot boʻyicha hisoblanadi. Cheklangan murojaat Retry-After sarlavhasi bilan 429 javobini oladi.
- Kalit qachon ishlashdan toʻxtaydi
- Bekor qilinganda, muddati tugaganda, tashkilot toʻxtatilganda yoki yopilganda yoxud shartnomaga endi API orqali kirish kirmaganda: javob qaysi sabab ekanini aytadigan kod bilan 401 boʻladi. Bekor qilingan kalitlar roʻyxatda qoladi; hech narsa kalitni oʻchirmaydi.
| Ruxsat doirasi | Ochadi |
|---|---|
market:read | UZSE aksiyalari va obligatsiyalari: instrumentlar roʻyxati, bitta aksiya, bitta obligatsiya. Tashkilotning ichki foydalanishi uchun, har bir javobda manbalar koʻrsatiladi./api/v1/orgs/<organisation>/market/instruments/ /api/v1/orgs/<organisation>/market/stocks/<TICKER>/ /api/v1/orgs/<organisation>/market/bonds/<ISIN>/ |
portfolios:read | Tashkilot portfellari: roʻyxat, tafsilot, baholash, saqlangan baholashlar, taqsimot, aktivlar, tranzaksiyalar, omonatlar, qoʻlda kiritilgan instrumentlar, qoʻlda belgilangan narxlar, importlar; hamda shartnomada maʼlumotlar eksporti boʻlsa, CSV yoki XLSX eksportlari./api/v1/orgs/<organisation>/portfolios/ /api/v1/orgs/<organisation>/portfolios/<portfolio>/holdings/ /api/v1/orgs/<organisation>/portfolios/<portfolio>/valuation/ /api/v1/orgs/<organisation>/exports/ |
portfolios:import | Portfelga pozitsiyalar yoki tranzaksiyalar faylini yuborish: avval oldindan koʻrish, keyin saqlash. Har bir saqlash fayl xeshi va qatorlar soni bilan auditga yoziladi./api/v1/orgs/<organisation>/portfolios/<portfolio>/import/preview/ /api/v1/orgs/<organisation>/portfolios/<portfolio>/import/commit/ |
reports:read | Tayyorlangan tashkilot hisobotlari. Hali hech bir manzil xizmat qilmaydi. |
limits:read | Limit qoidalari va ularning tekshiruvlari. Hali hech bir manzil xizmat qilmaydi. |
Kalit orqali yoki eksportdagi bozor maʼlumotlari faqat tashkilotning ichki foydalanishi uchun va ularni tarqatish mumkin emas; har bir javobda manbalarni (uzse.uz, openinfo.uz, cbu.uz) koʻrsatadigan data_licence obyekti bor. Tashkilotning oʻz pozitsiyalari va tranzaksiyalari bu cheklovsiz uniki. Har bir import va har bir eksport tashkilotning audit jurnaliga yoziladi.
Cheklovlar
Soʻrovlar cheklovi, sahifalash va versiyalash
Har bir guruhning oʻz soʻrovlar cheklovi bor: tizimga kirgan holdagi soʻrov Finmind hisobi boʻyicha, boshqa har qanday soʻrov mijoz manzili boʻyicha hisoblanadi; guruhlar oʻrtasida umumiy cheklov yoʻq. Cheklangan soʻrov Retry-After sarlavhasi bilan 429 qaytaradi.
| Endpointlar | Soʻrovlar cheklovi |
|---|---|
| Yuqoridagi ochiq bozor endpointlari va ular bilan bir limitni baham koʻradigan, tizimga kirishni talab qilmaydigan boshqa oʻqishlar: brokerlar, ularning reytinglari va tariflari, bozor sharhi, toʻlovlar taqvimi va ish haqi | 600/min |
| Token olish | 10/min |
| Finmind hisobi yaratish | 5/min |
| Aloqa shakli | 5/min |
| Yordamchi (tizimga kirgan holda) | 20/min |
| Ochiq maʼlumotlar qidiruvi (tizimga kirgan holda) | 30/min |
| Oʻzining cheklovini koʻrsatmaydigan har qanday endpoint, masalan, blog roʻyxati, ishlash holati tekshiruvi va tizimga kirgan holdagi oddiy oʻqish | 600/min |
Roʻyxatlar page va page_size bilan sahifalanadi (standart 50, koʻpi bilan 500). Bitta versiya prefiksi, /api/v1, xizmat koʻrsatadi; moslikni buzadigan oʻzgarish yangi prefiks ostida keladi.
Ochiq aytilgan
Hali taklif qilinmaydigan narsalar
- Shaxsiy API kalitlari yoʻq. Shaxsning tokeni uning oʻz Finmind kirishi boʻlib, faqat uning oʻz maʼlumotlari va huquqlari uchun amal qiladi. API kalitlari faqat tashkilot hisoblari uchun mavjud va hech qachon shaxsning oʻz maʼlumotlarini ochmaydi.
- Boshqa saytlardan brauzer soʻrovlari yoʻq. CORS faqat finmind.uz ga ruxsat beradi, shuning uchun boshqa domendagi sahifa tashrif buyuruvchi brauzeridan API ga murojaat qila olmaydi; server, skript yoki notebook qila oladi.
- Jonli kotirovkalar yoʻq. Narxlar birjaning saqlangan kunlik yopilish narxlari; har biri tegishli savdo kunini oʻzida saqlaydi, manba eʼlon qilmagan koʻrsatkich esa null boʻladi, hech qachon nol emas.
- Eʼlon qilingan eskirtirish siyosati hali yoʻq. Bitta versiya prefiksi bor va sxema oʻz versiyasini koʻrsatadi; yozmagan siyosatimizni vaʼda qilgandan koʻra shuni aytganimiz maʼqul.
Foydalanish shartlari
Maʼlumotlardan foydalanish
API foydalanish shartlari bilan qamrab olingan. Shaxsiy foydalanish, tadqiqot va oʻz investitsiyalaringiz uchun vosita yaratish mumkin. Maʼlumotlarni ommaviy yuklab olish, qayta sotish yoki tarqatish uchun avval bizning yozma ruxsatimiz kerak: finmind_support@protonmail.com manziliga yozing va nima yaratayotganingizni ayting. Raqamlarni eʼlon qilganda manbalarni koʻrsating: narxlar birjaniki (uzse.uz), kompaniya maʼlumotlari va korporativ axborot esa openinfo.uz niki, ikkalasini ham Finmind oʻqiydi.
Mashina oʻqiy oladigan qoʻshnilar: /feeds/disclosures.xml manzilidagi korporativ axborot lentasi, sayt xaritasi va til modellari uchun /llms.txt.