{"name":"Московская биржа — ISS (Informational & Statistical Server)","vendor":"Московская биржа (MOEX)","industry":"finance","summary":"Информационно-статистический сервер Московской биржи отдаёт рыночные данные по HTTP в форматах XML и JSON. Данные устроены иерархически: торговые системы (engines) → рынки (markets) → режимы торгов (boards) → инструменты (securities). Есть итоги торгов за прошедшие дни (history). Описание собрано по официальным примерам клиентов MOEX (Python и VB.NET).","docsUrl":"https://iss.moex.com/iss/reference/","coverage":{"included":[],"excluded":[]},"scenarios":[{"id":"poluchit-itogi-torgov-po-vsem-aktsiyam","title":"Получить итоги торгов по всем акциям за день","summary":"Цены закрытия, число сделок и объёмы по каждой бумаге — для аналитики, бэктестов и отчётов по портфелю.","steps":["Запроси итоги: GET /iss/history/engines/{engine}/markets/{market}/boards/{board}/securities.json с engine = stock, market = shares, board — режимом торгов (основной для акций — TQBR) и date в формате YYYY-MM-DD.","В ответе блок history: columns — названия колонок, data — строки. Нужные колонки — SECID (тикер), LEGALCLOSEPRICE (цена закрытия), NUMTRADES (число сделок).","Ответ приходит частями: увеличивай start на число полученных строк и повторяй, пока data не станет пустым.","Дробные числа — с точкой, пустые значения — null. Для части данных (реальное время) нужна авторизация через MOEX Passport: cookie MicexPassportCert передаётся в каждом запросе."],"code":"import requests\n\nURL = \"https://iss.moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities.json\"\nrows, start = [], 0\nwhile True:\n    block = requests.get(URL, params={\"date\": \"2026-10-23\", \"start\": start}).json()[\"history\"]\n    if not block[\"data\"]:\n        break\n    cols = block[\"columns\"]\n    rows += [dict(zip(cols, r)) for r in block[\"data\"]]\n    start += len(block[\"data\"])\n\nfor r in rows[:5]:\n    print(r[\"SECID\"], r[\"LEGALCLOSEPRICE\"], r[\"NUMTRADES\"])","language":"python","methods":["GET /iss/history/engines/{engine}/markets/{market}/boards/{board}/securities.json"]},{"id":"nayti-nuzhnyy-rynok-i-rezhim-torgov","title":"Найти нужный рынок и режим торгов","summary":"Разобраться в иерархии биржи: торговые системы → рынки → режимы торгов, чтобы правильно собрать адрес запроса.","steps":["Список торговых систем: GET /iss/engines.xml — например, stock (фондовый рынок), currency, futures.","Рынки торговой системы: GET /iss/engines/{engine}/markets.xml — у stock это shares, bonds и другие.","Режимы торгов рынка: GET /iss/engines/{engine}/markets/{market}/boards.xml — в каждом режиме свои инструменты и итоги.","Формат ответа задаётся расширением в адресе: .xml или .json. Метаданные справочников меняются редко — сохрани их у себя."],"code":"curl https://iss.moex.com/iss/engines.xml\ncurl https://iss.moex.com/iss/engines/stock/markets.xml\ncurl https://iss.moex.com/iss/engines/stock/markets/shares/boards.xml","language":"bash","methods":["GET /iss/engines.xml","GET /iss/engines/{engine}/markets.xml","GET /iss/engines/{engine}/markets/{market}/boards.xml"]}],"baseUrls":[{"label":"Боевой","url":"http://iss.moex.com"},{"label":"Авторизация (MOEX Passport)","url":"https://passport.moex.com/authenticate"},{"label":"Формат ответа задаётся расширением в пути","url":".xml"}],"auth":{"type":"basic","description":"Запрос к `https://passport.moex.com/authenticate` с заголовком `Authorization: Basic base64(user:password)` (учётная запись MOEX Passport). В ответ приходит cookie `MicexPassportCert`, которую нужно передавать в следующих запросах к ISS. По примерам, логин и пароль нужны для данных в реальном времени и для запрошенных в примере исторических данных. При истечении cookie авторизацию повторяют.","example":""},"methods":[{"id":"GET /iss/engines.xml","title":"Список торговых систем","httpMethod":"GET","path":"/iss/engines.xml","description":"В блоке `engines` для каждой строки: `name`, `title`.","params":[],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /iss/engines/{engine}/markets.xml","title":"Рынки торговой системы","httpMethod":"GET","path":"/iss/engines/{engine}/markets.xml","description":"В блоке `markets`: `name`, `title`.","params":[{"name":"engine","in":"path","type":"string","required":true,"description":"Торговая система, например stock"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /iss/engines/{engine}/markets/{market}/boards.xml","title":"Режимы торгов рынка","httpMethod":"GET","path":"/iss/engines/{engine}/markets/{market}/boards.xml","description":"","params":[{"name":"engine","in":"path","type":"string","required":true,"description":"Торговая система"},{"name":"market","in":"path","type":"string","required":true,"description":"Рынок, например shares"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /iss/history/engines/{engine}/markets/{market}/boards/{board}/securities.json","title":"Итоги торгов по всем инструментам за дату","httpMethod":"GET","path":"/iss/history/engines/{engine}/markets/{market}/boards/{board}/securities.json","description":"Ответ приходит частями: увеличивайте `start` на число полученных строк, пока ответ не станет пустым. В блоке `history` поле `columns` — список идентификаторов колонок, `data` — строки; среди колонок `SECID`, `LEGALCLOSEPRICE`, `NUMTRADES`.\n\nТот же запрос в XML — `securities.xml`: блок `<data id=\"history\">`, строки в `<rows>`, значения в атрибутах.","params":[{"name":"engine","in":"path","type":"string","required":true,"description":"Торговая система, например stock"},{"name":"market","in":"path","type":"string","required":true,"description":"Рынок, например shares"},{"name":"board","in":"path","type":"string","required":true,"description":"Режим торгов, например eqne"},{"name":"date","in":"query","type":"string","required":true,"description":"Дата торгов YYYY-MM-DD, например 2010-04-29"},{"name":"start","in":"query","type":"integer","required":false,"description":"Смещение для постраничной загрузки"},{"name":"iss.json","in":"query","type":"string","required":false,"description":"extended — идентификаторы колонок вместе с данными в каждой строке (больше трафика)"}],"requestExample":"","responseExample":"","docsUrl":""}],"codeExamples":[{"title":"Шаблон запроса из официального примера на Python","language":"text","code":"requests = {'history_secs': 'http://iss.moex.com/iss/history/engines/%(engine)s/markets/%(market)s/boards/%(board)s/securities.json?date=%(date)s'}"}],"errors":[],"limits":"","gotchas":["Ответ JSON состоит из блоков (например, `history`), в каждом `columns` и `data`; метаданные рекомендуется хранить отдельно.","Дробные числа в ответах всегда с точкой в качестве разделителя.","Длинные ответы разбиты на страницы — всегда используйте `start`.","Пустые значения приходят как `null`."],"slug":"moex-iss","version":2,"updatedAt":"2026-10-24T17:05:34.362Z","sources":[{"title":"Справочник ISS","url":"https://iss.moex.com/iss/reference/","kind":"research","addedAt":"2026-10-17T08:18:28.736Z"},{"title":"Вставленный текст","url":"","kind":"import","addedAt":"2026-10-17T08:18:28.736Z"},{"title":"scenarios-moex-iss.md","url":"","kind":"import","addedAt":"2026-10-24T17:05:25.509Z"}],"logoUrl":null}