Jett APIapp.jett.uz ↗
Access Uzbekistan stock exchange data via the Jett.uz API: stock listings, company financials, live order books, and historical OHLCV candles for listed equities.
What is the Jett API?
This API provides 4 endpoints covering the Uzbekistan stock market as listed on Jett.uz, including real-time order book depth, OHLCV candlestick history, and company financials. The list_stocks endpoint returns paginated results across all listed equities and bonds with current price, market cap, and sector filtering. The get_stock_details endpoint goes deeper, exposing quarterly financial statements, valuation multiples, and dividend history for individual securities.
curl -X GET 'https://api.parse.bot/scraper/ef782952-f945-417d-a098-eb98de344a18/list_stocks?limit=10&offset=0&period=today&sort_by=gross_trade_amount&order_by=asc&market_code=STK' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace app-jett-uz-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: JettUz SDK — Uzbekistan stock market data, bounded and re-runnable."""
from parse_apis.app_jett_uz_api import JettUz, Stock, MarketCode, Period, Interval, StockNotFound
client = JettUz()
# Search stocks sorted by turnover, filter to exchange stocks only
for stock in client.stocks.search(market_code=MarketCode.STK, period=Period.TODAY, limit=5):
print(f"{stock.ticker}: {stock.value} UZS, vol={stock.volume_today}, growth={stock.growth_prcnt_today}%")
# Drill into a single stock for full details
stock = client.stocks.search(query="UZTL", limit=1).first()
if stock:
detail = stock.details()
print(f"Detail: {detail.stock.issuer_name}, price={detail.ticker.current.last_price}")
# Get the live order book
book = stock.orderbook()
print(f"Orderbook: last={book.last}, bid_vol={book.bid_volume}, ask_vol={book.ask_volume}")
for level in book.ask[:3]:
print(f" Ask: {level.price} x {level.volume} ({level.order_count} orders)")
# Fetch daily candles for charting
for candle in stock.candles(interval=Interval.DAILY, limit=3):
print(f" {candle.format_time}: O={candle.open} H={candle.high} L={candle.low} C={candle.close} V={candle.volume}")
# Typed error handling: construct a stock by ID and attempt details
try:
bad_stock = Stock(_api=client, stock_id=999999)
bad_detail = bad_stock.details()
except StockNotFound as exc:
print(f"Stock not found: {exc.stock_id}")
print("Exercised: stocks.search / stock.details / stock.orderbook / stock.candles")
Search and list stocks and bonds on the Uzbekistan stock exchange. Returns paginated results with current price, volume, growth percentages, and market cap.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of results per page (max 50). |
| query | string | Search query to filter by ticker or company name. |
| cat_id | string | Category/sector ID to filter by. Values: 1 (Finance), 2 (Insurance), 3 (Energy), 4 (Industry), 5 (Others), 6 (Construction), 7 (Agriculture), 8 (Lease), 9 (Communications and IT), 10 (Transportation), 11 (Funds). |
| offset | integer | Pagination offset (number of records to skip). |
| period | string | Time period for volume/growth metrics. |
| sort_by | string | Field to sort results by. Accepted values: gross_trade_amount, value, volume_today, growth_prcnt_today, market_cap, trades_today. |
| order_by | string | Sort order. |
| market_code | string | Market/paper type code to filter by. |
{
"type": "object",
"fields": {
"stats": "object containing total_records, total_pages, limit, page",
"stocks": "array of stock objects with pricing, volume, and growth data"
},
"sample": {
"stats": {
"page": 1,
"limit": 5,
"total_pages": 170,
"total_records": 848
},
"stocks": [
{
"value": 5.66,
"active": 1,
"cat_id": 11,
"ticker": "UZNF",
"stock_id": 997,
"issue_code": "UZ7058980010",
"issue_name": "UzNIF",
"market_cap": 28607.13,
"market_code": "STK",
"trades_today": 385,
"volume_today": 271460850,
"nominal_price": 5,
"gross_trade_amount": 1520480675.96,
"growth_prcnt_today": 0
}
]
}
}About the Jett API
Stock Listings and Filtering
The list_stocks endpoint returns a paginated array of Uzbekistan-listed stocks and bonds. Each result includes current price, trading volume, growth percentages, and market cap. You can filter by cat_id to target a specific sector — valid values map to Finance (1), Insurance (2), Energy (3), Industry (4), and Others (5/6). Results can be sorted by fields like gross_trade_amount, growth_prcnt_today, or market_cap using the sort_by and order_by parameters. The stats object in the response reports total_records, total_pages, and current page for pagination control.
Company Details and Financials
The get_stock_details endpoint accepts a numeric stock_id (obtainable from list_stocks) and returns a stock object with company profile data, financial indicators broken down by quarter and year (revenue, profit, equity, assets, liabilities), valuation multiples (PE, PB, PS, DE, ROA, ROE), dividend history, free float data, and stock split history. A separate ticker object carries current trading data alongside last-month and last-year performance comparisons.
Order Book and Candles
The get_orderbook endpoint returns up to 10 price levels on each side of the book, with volume, order count, and percentage data per level. Session-level fields include open, high, low, last, volume, ask_volume, and bid_volume. The get_stock_candles endpoint returns historical OHLCV data in chronological order. You can scope the range using the to Unix timestamp and limit (up to 300 candles), and select the candle interval to match your charting needs.
The Jett API is a managed, monitored endpoint for app.jett.uz — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when app.jett.uz changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official app.jett.uz API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Screening Uzbekistan-listed equities by sector using
cat_idand sorting bygrowth_prcnt_today - Building a company fundamental dashboard using PE, PB, ROE, and quarterly revenue from
get_stock_details - Rendering live bid/ask depth charts using order book price levels from
get_orderbook - Back-testing trading strategies against historical OHLCV data from
get_stock_candles - Tracking dividend history and free float changes for long-term portfolio analysis
- Monitoring session highs, lows, and last-traded prices across multiple stocks
- Comparing market cap and volume across sectors to identify liquidity concentrations
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Jett.uz offer an official public developer API?+
What does `get_stock_details` return beyond basic price data?+
stock object containing quarterly and annual financial indicators (revenue, profit, equity, total assets, liabilities), valuation multiples (PE, PB, PS, DE, ROA, ROE), dividend history, free float records, and stock split events. The ticker object carries current trading figures plus last-month and last-year stats.What is the maximum number of candles I can retrieve per request?+
get_stock_candles endpoint returns up to 300 candles per request. You can shift the time window backward using the to parameter (Unix timestamp in seconds) to retrieve older data in successive calls.Does the API cover intraday trade-by-trade tick data or only candles?+
get_stock_candles and snapshot order book depth via get_orderbook. Individual trade-level tick data is not exposed. You can fork this API on Parse and revise it to add a trades or time-and-sales endpoint if that granularity is available on the source.Are bonds and other instrument types covered, or only equities?+
list_stocks returns both stocks and bonds listed on the Uzbekistan exchange. The market_code parameter can be used to filter by paper type. Coverage is limited to instruments listed on Jett.uz — instruments traded on other Uzbek exchanges or OTC are not currently included. You can fork the API on Parse and revise it to add coverage from additional sources.