npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

russia-cities-data

v1.0.5

Published

Data of Russian cities and regions with declensions

Readme

Города и регионы России со склонениями

Russia cities and regions JSON dataset

Описание файлов

  • russia-regions.json - регионы Российской Федерации: 86 субъектов
  • russia-cities.json - населённые пункты со статусом города: 1205 городов, включая регион каждого из них

В списки входят коды ФИАС, принадлежность регионам и столицам, склонения названий по падежам и много другой информации.

Названия географических объектов указаны с буквой «Ё», где это необходимо. В поле name_alt указано название города с заменой буквы «ё» на «е».

Москва и Санкт-Петербург являются городами федерального значения, поэтому регионом для них указаны сами города.

Города в составе городов федерального значения (Зеленоград, Троицк и т.п.) в список не входят.

Актуальность данных

Основной список: 1102 города — данные на 2023 год. В 2023 году статус города получили населённые пункты Колтуши Ленинградской области и Ачхой-Мартан Чеченской Республики.

Дополнение: 103 города Донецкой Народной Республики, Луганской Народной Республики и Запорожской области (данные по переименованиям 2024 года).

Численность населения указана по итогам переписи населения на 1 октября 2021 года.

Как воспроизвести или дополнить данные

Набор формируется конвейером в scripts/ и может быть переиспользован для повторного обогащения новыми городами.

  1. Конфигурация — scripts/enrichment-config.json: список регионов и городов для добавления (включая значения переименований).
  2. Сбор данных (нужен API-ключ DaData в переменной окружения DADATA_TOKEN):
    npm run enrich:fetch
    Результат: dadata-fetch-results.json, dadata-renamed-results.json.
  3. Сборка записей из конфигурации и результатов DaData:
    npm run enrich:build
    Результат: new-cities.json, new-regions.json.
  4. Применение к основным спискам (идемпотентно — при повторном запуске новые записи не дублируются, а обновляются):
    npm run enrich:apply
  5. Нормализация признака isDualName (пересчёт по реальному количеству вхождений имени):
    npm run dual:normalize

Шаги 3–5 можно выполнить одной командой:

npm run enrich

Проверить склонения сгенерированных названий:

npm run namecase:check

Генератор склонений вынесен в переиспользуемые модули: scripts/lib/namecase.js (7 падежей, сохранение «ё») и scripts/lib/translit.js (translit-метки).

Описание полей

В квадратных скобках указан номер в списке источников данных

{
  "name": "Олёкминск", // название города на русском языке [2]
  "name_alt": "Олекминск", // название города на русском языке с заменой буквы «ё» [2]
  "label": "olyokminsk", // уникальная метка города, дефисы и пробелы заменены на подчёркивания. Может использоваться в url, разметке рекламных кампаний и подобных задачах
  "type": "Город", // тип объекта полностью [1]
  "typeShort": "г", // тип объекта кратко [1]
  "contentType": "city", // тип объекта [1]
  "id": "1402300100000", // КЛАДР код объекта [1]
  "okato": "98241501000", // код ОКАТО [1]
  "oktmo": "98641101001", // код ОКТМО [1]
  "guid": "c3aba7f3-caf7-443f-a906-8d79e6ec37f6", // ФИАС код объекта [1]
  "isDualName": false, // признак города с неуникальным названием
  "isCapital": false, // признак столицы региона
  "zip": 678100, // почтовый индекс [1]
  "population": 8398, // население [2]
  "yearFounded": 1635, // год основания или первое упоминание (не для всех городов это цифровое значение) [2]
  "yearCityStatus": 1783, // год присвоения статуса города. При неоднократном присвоении статуса указан год последнего присвоения [2]
  "name_en": "Olyokminsk", // название на английском языке [5]
  "namecase": {
    // склонение названия по падежам [6]
    "nominative": "Олёкминск", // именительный
    "genitive": "Олёкминска", // родительный
    "dative": "Олёкминску", // дательный
    "accusative": "Олёкминск", // винительный
    "ablative": "Олёкминском", // творительный
    "prepositional": "Олёкминске", // предложный
    "locative": "Олёкминске" // местный (для ответа на вопрос «где?» следует использовать его)
  },
  "coords": { "lat": 60.3758006, "lon": 120.4060878 }, // координаты [7]
  "timezone": { // часовой пояс [8]
      "tzid": "Asia/Yakutsk",
      "abbreviation": "YAKT",
      "utcOffset": "UTC+09:00",
      "mskOffset": "MSK+06"
  },
  "region": {
    // информация о регионе объекта, эта часть также выделена в отдельный список регионов
    "name": "Саха /Якутия/", // название на русском языке [1]
    "label": "yakutiya", // человекочитаемая уникальная метка
    "type": "Республика", // тип объекта полностью [1]
    "typeShort": "Респ", // тип объекта кратко [1]
    "contentType": "region", // тип объекта [1]
    "id": "1400000000000", // КЛАДР код объекта [1]
    "okato": "98000000000", // код ОКАТО [1]
    "oktmo": "98000000", // код ОКТМО [1]
    "guid": "c225d3db-1db6-4063-ace0-b3fe9ea3805f", // ФИАС код объекта [1]
    "code": "14", // порядковый код региона [3]
    "iso_3166-2": "RU-SA", // код ISO 3166-2 [4]
    "population": 995686, // население [3]
    "yearFounded": 1922, // год образования [3]
    "area": 3083523, // площадь в км² [3]
    "fullname": "Республика Саха /Якутия/", // полное официальное наименование
    "unofficialName": "Якутия", // неофициальное наименование (необязательное поле)
    "name_en": "Republic of Sakha (Yakutia)", // название на английском языке [5]
    "district": "Дальневосточный", // принадлежность к федеральному округу [2]
    "namecase": {
      // склонения полного наименования [6]
      "nominative": "Республика Саха /Якутия/",
      "genitive": "Республики Саха /Якутия/",
      "dative": "Республике Саха /Якутия/",
      "accusative": "Республику Саха /Якутия/",
      "ablative": "Республикой Саха /Якутия/",
      "prepositional": "Республике Саха /Якутия/",
      "locative": "Республике Саха /Якутия/"
    },
    "capital": {
      // столица или административный центр региона, значения полей как у города
      "name": "Якутск",
      "label": "yakutsk",
      "id": "1400000100000",
      "okato": "98401000000",
      "oktmo": "98701000001",
      "contentType": "city"
    }
  }
}

Источники данных

  1. База ФИАС через сервис ФИАС в облаке
  2. Список городов России - Wikipedia
  3. Список субъектов России - Wikipedia
  4. ISO 3166-2:RU - Wikipedia
  5. List of cities and towns in Russia - Wikipedia
  6. Morphos
  7. ru-cities - Github
  8. Time in Russia - Wikipedia

Города с неуникальными названиями

Обратите внимание на города с одинаковыми названиями, поиск по первому вхождению названия сыграет злую шутку, не делайте так. Каждый город с неуникальным названием имеет признак isDualName: true

Список городов с повторяющимися названиями:

  • Александровск - Пермский край
  • Александровск - Луганская Народная
  • Артёмовск - Красноярский край
  • Артёмовск - Донецкая Народная
  • Артёмовск - Луганская Народная
  • Берёзовский - Кемеровская область
  • Берёзовский - Свердловская область
  • Благовещенск - Амурская область
  • Благовещенск - Республика Башкортостан
  • Горняк - Алтайский край
  • Горняк - Донецкая Народная
  • Гурьевск - Калининградская область
  • Гурьевск - Кемеровская область
  • Дзержинск - Нижегородская область
  • Дзержинск - Донецкая Народная
  • Донецк - Ростовская область
  • Донецк - Донецкая Народная
  • Железногорск - Красноярский край
  • Железногорск - Курская область
  • Заречный - Пензенская область
  • Заречный - Свердловская область
  • Киров - Калужская область
  • Киров - Кировская область
  • Кировск - Ленинградская область
  • Кировск - Мурманская область
  • Кировск - Луганская Народная
  • Красноармейск - Московская область
  • Красноармейск - Саратовская область
  • Красноармейск - Донецкая Народная
  • Краснознаменск - Калининградская область
  • Краснознаменск - Московская область
  • Краснослободск - Волгоградская область
  • Краснослободск - Республика Мордовия
  • Мирный - Архангельская область
  • Мирный - Республика Саха (Якутия)
  • Михайловск - Свердловская область
  • Михайловск - Ставропольский край
  • Никольск - Вологодская область
  • Никольск - Пензенская область
  • Озёрск - Калининградская область
  • Озёрск - Челябинская область
  • Первомайск - Нижегородская область
  • Первомайск - Луганская Народная
  • Приморск - Калининградская область
  • Приморск - Ленинградская область
  • Приморск - Запорожская
  • Радужный - Владимирская область
  • Радужный - Ханты-Мансийский АО
  • Северск - Томская область
  • Северск - Донецкая Народная
  • Советск - Калининградская область
  • Советск - Кировская область
  • Советск - Тульская область
  • Углегорск - Сахалинская область
  • Углегорск - Донецкая Народная
  • Фокино - Брянская область
  • Фокино - Приморский край

Contributions

Исправления, дополнения, идеи с благодарностью принимаю в issue или PR, пишите!

Created by Timur Arbaev https://github.com/arbaev