- pipeline: fetch/extract/normalize/categorize/validate/llm_extract/raw/orchestrator - analytics: dynamics, spreads/arbitrage, seasonality, anomalies, alerts, forecast - dashboard: FastAPI + Plotly (overview/products/product/countries/alerts/quality/sources) - scheduler (APScheduler 07:30), digest (Telegram/SMTP dry-run), demo_data - SQLite (PORTABLE) with idempotent upserts, quarantine, alerts dedup - truthfulness: LLM quote-verified, source link + date on every price - tests: 13 passed, 1 skipped (robots port)
1 line
10 KiB
JSON
1 line
10 KiB
JSON
{"quotes":[{"date":"2026-09-24","code":"CNY","unit":"₸/юнит","value":66.7,"prev":0,"changePct":0,"source":"open.er-api.com"},{"date":"2026-09-24","code":"EUR","unit":"₸/юнит","value":508.1,"prev":0,"changePct":0,"source":"open.er-api.com"},{"date":"2026-09-24","code":"RUB","unit":"₸/юнит","value":5.294,"prev":0,"changePct":0,"source":"open.er-api.com"},{"date":"2026-09-24","code":"USD","unit":"₸/юнит","value":445.6,"prev":0,"changePct":0,"source":"open.er-api.com"}],"weather":[{"date":"2026-08-26","city":"Astana","max":26.3,"min":12.9,"rain":0.5},{"date":"2026-08-26","city":"Almaty","max":27.8,"min":14.8,"rain":0},{"date":"2026-08-26","city":"Shymkent","max":34.1,"min":19.1,"rain":0},{"date":"2026-08-26","city":"Pavlodar","max":23.4,"min":13.3,"rain":0},{"date":"2026-08-27","city":"Astana","max":26.8,"min":17.1,"rain":0},{"date":"2026-08-27","city":"Almaty","max":30.9,"min":17.1,"rain":0},{"date":"2026-08-27","city":"Shymkent","max":34.2,"min":18.6,"rain":0},{"date":"2026-08-27","city":"Pavlodar","max":28.5,"min":14.6,"rain":0.2},{"date":"2026-08-28","city":"Astana","max":22.6,"min":15.1,"rain":0.2},{"date":"2026-08-28","city":"Almaty","max":33.5,"min":18.8,"rain":0},{"date":"2026-08-28","city":"Shymkent","max":34.8,"min":20.2,"rain":0},{"date":"2026-08-28","city":"Pavlodar","max":24,"min":16.7,"rain":2.8},{"date":"2026-08-29","city":"Astana","max":18.7,"min":11,"rain":0},{"date":"2026-08-29","city":"Almaty","max":34.7,"min":19.7,"rain":0},{"date":"2026-08-29","city":"Shymkent","max":33.9,"min":20.8,"rain":0},{"date":"2026-08-29","city":"Pavlodar","max":17.1,"min":10.1,"rain":8},{"date":"2026-08-30","city":"Astana","max":17.1,"min":8.9,"rain":1.8},{"date":"2026-08-30","city":"Almaty","max":33.6,"min":21.1,"rain":0},{"date":"2026-08-30","city":"Shymkent","max":36.9,"min":21.9,"rain":0},{"date":"2026-08-30","city":"Pavlodar","max":19.3,"min":8.2,"rain":0.1},{"date":"2026-08-31","city":"Astana","max":13.7,"min":5.3,"rain":0},{"date":"2026-08-31","city":"Almaty","max":36.1,"min":20.9,"rain":0.4},{"date":"2026-08-31","city":"Shymkent","max":30.6,"min":20.7,"rain":1.5},{"date":"2026-08-31","city":"Pavlodar","max":13.6,"min":6.4,"rain":0},{"date":"2026-09-01","city":"Astana","max":15.2,"min":6.2,"rain":0.4},{"date":"2026-09-01","city":"Almaty","max":19.9,"min":14.4,"rain":2},{"date":"2026-09-01","city":"Shymkent","max":29.4,"min":15.6,"rain":0},{"date":"2026-09-01","city":"Pavlodar","max":15.7,"min":6.3,"rain":3.9},{"date":"2026-09-02","city":"Astana","max":15.5,"min":3.6,"rain":0},{"date":"2026-09-02","city":"Almaty","max":22,"min":11.7,"rain":1.1},{"date":"2026-09-02","city":"Shymkent","max":29,"min":15.4,"rain":0},{"date":"2026-09-02","city":"Pavlodar","max":14.8,"min":5.3,"rain":0.1},{"date":"2026-09-03","city":"Astana","max":19.4,"min":6.9,"rain":0},{"date":"2026-09-03","city":"Almaty","max":23.1,"min":11.7,"rain":0.5},{"date":"2026-09-03","city":"Shymkent","max":29.8,"min":15.2,"rain":0},{"date":"2026-09-03","city":"Pavlodar","max":19.9,"min":6.4,"rain":0},{"date":"2026-09-04","city":"Astana","max":23.1,"min":8.6,"rain":0},{"date":"2026-09-04","city":"Almaty","max":22.8,"min":14.1,"rain":0},{"date":"2026-09-04","city":"Shymkent","max":29.4,"min":17.1,"rain":0},{"date":"2026-09-04","city":"Pavlodar","max":21.9,"min":9.5,"rain":0},{"date":"2026-09-05","city":"Astana","max":25.6,"min":11.4,"rain":0},{"date":"2026-09-05","city":"Almaty","max":24.1,"min":13,"rain":0},{"date":"2026-09-05","city":"Shymkent","max":30.8,"min":15.6,"rain":0},{"date":"2026-09-05","city":"Pavlodar","max":25.9,"min":12.3,"rain":0.1},{"date":"2026-09-06","city":"Astana","max":27.6,"min":12,"rain":0},{"date":"2026-09-06","city":"Almaty","max":27,"min":10.5,"rain":0},{"date":"2026-09-06","city":"Shymkent","max":32.4,"min":15.9,"rain":0},{"date":"2026-09-06","city":"Pavlodar","max":27.1,"min":12.5,"rain":0},{"date":"2026-09-07","city":"Astana","max":27.7,"min":11.3,"rain":0},{"date":"2026-09-07","city":"Almaty","max":28.2,"min":14.5,"rain":0},{"date":"2026-09-07","city":"Shymkent","max":33.7,"min":17.6,"rain":0},{"date":"2026-09-07","city":"Pavlodar","max":27.4,"min":14.3,"rain":0},{"date":"2026-09-08","city":"Astana","max":26.7,"min":14,"rain":0},{"date":"2026-09-08","city":"Almaty","max":30,"min":16.2,"rain":0},{"date":"2026-09-08","city":"Shymkent","max":34.7,"min":18.3,"rain":0},{"date":"2026-09-08","city":"Pavlodar","max":27.8,"min":14.7,"rain":0},{"date":"2026-09-09","city":"Astana","max":30.1,"min":13.7,"rain":0},{"date":"2026-09-09","city":"Almaty","max":30.9,"min":16.6,"rain":0},{"date":"2026-09-09","city":"Shymkent","max":34.6,"min":18.9,"rain":0},{"date":"2026-09-09","city":"Pavlodar","max":29.7,"min":14.6,"rain":0},{"date":"2026-09-10","city":"Astana","max":29.4,"min":15.1,"rain":0},{"date":"2026-09-10","city":"Almaty","max":31.7,"min":17.8,"rain":0},{"date":"2026-09-10","city":"Shymkent","max":34.7,"min":19.2,"rain":0},{"date":"2026-09-10","city":"Pavlodar","max":32.8,"min":16.3,"rain":0},{"date":"2026-09-11","city":"Astana","max":30.7,"min":18.4,"rain":0},{"date":"2026-09-11","city":"Almaty","max":33.4,"min":17.8,"rain":0},{"date":"2026-09-11","city":"Shymkent","max":33.8,"min":18.9,"rain":0},{"date":"2026-09-11","city":"Pavlodar","max":31.8,"min":17.5,"rain":0},{"date":"2026-09-12","city":"Astana","max":21.9,"min":15.4,"rain":1.2},{"date":"2026-09-12","city":"Almaty","max":30.9,"min":19.1,"rain":0},{"date":"2026-09-12","city":"Shymkent","max":27.5,"min":19.6,"rain":0},{"date":"2026-09-12","city":"Pavlodar","max":32.3,"min":17.9,"rain":0},{"date":"2026-09-13","city":"Astana","max":22.1,"min":13.4,"rain":0.5},{"date":"2026-09-13","city":"Almaty","max":30.2,"min":19.8,"rain":0},{"date":"2026-09-13","city":"Shymkent","max":31,"min":14.6,"rain":0},{"date":"2026-09-13","city":"Pavlodar","max":26.5,"min":14.5,"rain":0},{"date":"2026-09-14","city":"Astana","max":18.5,"min":10.4,"rain":0},{"date":"2026-09-14","city":"Almaty","max":30.6,"min":18,"rain":0},{"date":"2026-09-14","city":"Shymkent","max":31.3,"min":17.2,"rain":0},{"date":"2026-09-14","city":"Pavlodar","max":21.9,"min":14.3,"rain":0},{"date":"2026-09-15","city":"Astana","max":17.3,"min":10.8,"rain":0},{"date":"2026-09-15","city":"Almaty","max":30.3,"min":18.1,"rain":0},{"date":"2026-09-15","city":"Shymkent","max":32.5,"min":18,"rain":0},{"date":"2026-09-15","city":"Pavlodar","max":19.1,"min":14.4,"rain":0.1},{"date":"2026-09-16","city":"Astana","max":18.7,"min":9.7,"rain":0},{"date":"2026-09-16","city":"Almaty","max":26.5,"min":16.4,"rain":0},{"date":"2026-09-16","city":"Shymkent","max":31.2,"min":19.4,"rain":0},{"date":"2026-09-16","city":"Pavlodar","max":18.9,"min":12.6,"rain":1.9},{"date":"2026-09-17","city":"Astana","max":22.8,"min":8.8,"rain":0},{"date":"2026-09-17","city":"Almaty","max":25.7,"min":13.9,"rain":0},{"date":"2026-09-17","city":"Shymkent","max":31.2,"min":15.5,"rain":0},{"date":"2026-09-17","city":"Pavlodar","max":20.7,"min":10.4,"rain":0.3},{"date":"2026-09-18","city":"Astana","max":24.1,"min":13.1,"rain":0.1},{"date":"2026-09-18","city":"Almaty","max":28.3,"min":14.1,"rain":0},{"date":"2026-09-18","city":"Shymkent","max":30.9,"min":16.7,"rain":0},{"date":"2026-09-18","city":"Pavlodar","max":25.8,"min":12.9,"rain":0},{"date":"2026-09-19","city":"Astana","max":20.8,"min":13.5,"rain":0.1},{"date":"2026-09-19","city":"Almaty","max":31.1,"min":14.9,"rain":0},{"date":"2026-09-19","city":"Shymkent","max":32.6,"min":15.8,"rain":0},{"date":"2026-09-19","city":"Pavlodar","max":19.1,"min":12.9,"rain":0.5},{"date":"2026-09-20","city":"Astana","max":21.9,"min":10.8,"rain":0},{"date":"2026-09-20","city":"Almaty","max":32.5,"min":15.9,"rain":0.1},{"date":"2026-09-20","city":"Shymkent","max":27.8,"min":18.2,"rain":0},{"date":"2026-09-20","city":"Pavlodar","max":19.3,"min":9.3,"rain":0},{"date":"2026-09-21","city":"Astana","max":21.6,"min":9.5,"rain":0},{"date":"2026-09-21","city":"Almaty","max":26.2,"min":16.2,"rain":0.3},{"date":"2026-09-21","city":"Shymkent","max":29.5,"min":15.3,"rain":0},{"date":"2026-09-21","city":"Pavlodar","max":21,"min":12,"rain":0},{"date":"2026-09-22","city":"Astana","max":20,"min":9.8,"rain":0},{"date":"2026-09-22","city":"Almaty","max":27,"min":13.8,"rain":0},{"date":"2026-09-22","city":"Shymkent","max":30.6,"min":14.4,"rain":0},{"date":"2026-09-22","city":"Pavlodar","max":20.3,"min":9.8,"rain":0},{"date":"2026-09-23","city":"Astana","max":17,"min":8,"rain":0},{"date":"2026-09-23","city":"Almaty","max":27,"min":15.6,"rain":0},{"date":"2026-09-23","city":"Shymkent","max":30.8,"min":14.3,"rain":0},{"date":"2026-09-23","city":"Pavlodar","max":17.4,"min":8.3,"rain":0},{"date":"2026-09-24","city":"Astana","max":18.6,"min":6.9,"rain":0},{"date":"2026-09-24","city":"Almaty","max":26.5,"min":14.3,"rain":0},{"date":"2026-09-24","city":"Shymkent","max":26.7,"min":15.2,"rain":0},{"date":"2026-09-24","city":"Pavlodar","max":18.1,"min":8.2,"rain":0}],"meta":{"lastRun":"2026-09-24T07:00:02.386Z","sources":[{"id":"fx","name":"Forex open.er-api.com","ok":true,"count":4},{"id":"weather","name":"open-meteo.com (4 regions)","ok":false,"count":1},{"id":"agrop","name":"Vetlex/ALAPI (agricultural prices)","ok":false,"note":"Planned — container has no access to KZ sources"}],"summary":"Данные за 24 сентября 2026 года фиксируют полную стабильность валютного курса, где доллар США составляет 445,6 тенге, евро — 508,1 тенге, рубль — 5,294 тенге, а юань — 66,7 тенге без изменений в процентах. Погодные условия в ключевых агроклиматических регионах Казахстана (Астана, Алматы, Шымкент, Павлодар) характеризуются отсутствием осадков и умеренными температурами. Инвариантность валютных курсов снижает волатильность себестоимости импорта и экспорта, стабилизируя ценовые ожидания на сельскохозяйственную продукцию. Отсутствие дождей в текущий период может облегчить транспортировку по наземным маршрутам, однако потенциально влияет на состояние почв и последующие логистические затраты при уходе за культурами. В целом, текущая ситуация не создает немедленных угроз для ценообразования или логистических цепочек.","lastBackfill":"2026-09-24T05:25:06.046Z"}} |