Получение официальных данных компаний по ИНН из базы ЕГРЮЛ/ЕГРИП ФНС.
Официальный лицензированный доступ к ЕГРЮЛ ФНС
С 2024 года ФНС закрыл публичный API.
Прямое подключение к egrul.nalog.ru невозможно без обхода защиты.
Добавьте API ключ в файл .env:
# .env
DADATA_API_KEY=ваш_api_ключ_здесь
from modules.egrul import EgrulProvider
# Автоматически берет ключ из .env
provider = EgrulProvider()
# Получить данные по ИНН
company = provider.get_company_by_inn("7707083893")
if company['found']:
print(f"Название: {company['name_short']}")
print(f"Адрес: {company['address']}")
print(f"ОГРН: {company['ogrn']}")
else:
print(f"Не найдено: {company['message']}")
Универсальный провайдер с автоматическим выбором источника.
provider = EgrulProvider()
# Получить данные компании
company = provider.get_company_by_inn("7707083893")
# Проверить доступность источников
status = provider.test_connection()
print(status)
# {'dadata': {'available': True, 'message': '✅ ....'}}
from modules.egrul import DadataAPI
api = DadataAPI(api_key="your_key")
# Поиск по ИНН
company = api.get_company_by_inn("7707083893")
# Поиск по названию
results = api.suggest_company("Яндекс", count=5)
# Тест подключения
status = api.test_connection()
Метод get_company_by_inn() возвращает словарь:
{
"found": True, # Найдено ли
"inn": "7707083893", # ИНН
"kpp": "770701001", # КПП
"ogrn": "1027700132195", # ОГРН
"name_full": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"ЯНДЕКС\"",
"name_short": "ООО \"ЯНДЕКС\"", # Краткое название
"entity_type": "ООО", # Тип: ООО, ИП, АО, ПАО
"director": "Волож Аркадий", # Руководитель
"address": "119021, Москва...", # Юридический адрес
"phone": None, # Телефон (не возвращается)
"email": None, # Email (не возвращается)
"status": "active", # active, liquidated, liquidating
"registration_date": "2000-01-01", # Дата регистрации
"okved": "62.01", # ОКВЭД
"employees_count": None, # Кол-во сотрудников
"source": "Dadata" # Источник данных
}
Если не найдено:
{
"found": False,
"inn": "1234567890",
"message": "Компания с таким ИНН не найдена в ЕГРЮЛ"
}
Если не хотите использовать .env, передайте ключ напрямую:
provider = EgrulProvider(dadata_api_key="ваш_ключ")
company = provider.get_company_by_inn("7707083893")
Да, но она бесплатная и занимает 2 минуты.
10,000 запросов в день на бесплатном тарифе.
Для малого бизнеса этого хватит на годы.
Нет. ФНС закрыл публичный доступ к данным.
Dadata - единственный легальный способ получить данные из ЕГРЮЛ.
Да, Dadata обновляет базу каждый день напрямую из ФНС.
ВАЖНО: Не коммитьте API ключ в git!
Используйте .env файл (он в .gitignore):
# .env (НЕ коммитить!)
DADATA_API_KEY=ваш_секретный_ключ