PHPackages                             ex3mm/dadata-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ex3mm/dadata-api

ActiveLibrary[API Development](/categories/api)

ex3mm/dadata-api
================

PHP-клиент для API DaData с поддержкой Laravel и автономного (standalone) PHP.

v1.0.0(2mo ago)02MITPHPPHP ^8.1CI failing

Since Feb 19Pushed 2mo agoCompare

[ Source](https://github.com/ex3mm/dadata-api)[ Packagist](https://packagist.org/packages/ex3mm/dadata-api)[ RSS](/packages/ex3mm-dadata-api/feed)WikiDiscussions main Synced 2mo ago

READMEChangelogDependencies (8)Versions (2)Used By (0)

DaData API клиент для Laravel и PHP
===================================

[](#dadata-api-клиент-для-laravel-и-php)

PHP пакет для работы с API DaData с поддержкой Laravel и чистого PHP.

Возможности
-----------

[](#возможности)

- Подсказки: адреса, компании
- Стандартизация: адреса
- Поиск по ID: ФИАС, ГАР, КЛАДР, ИНН, ОГРН, кадастровый номер
- Аффилированные компании через учредителей и руководителей
- Упрощенные методы с предустановленными параметрами
- Автоматическое кеширование и логирование
- Обработка Rate Limiting
- PHP 8.1+

Установка
---------

[](#установка)

```
composer require ex3mm/dadata-api
```

Быстрый старт
-------------

[](#быстрый-старт)

### Настройка .env

[](#настройка-env)

```
DADATA_API_KEY=your-api-key
DADATA_SECRET_KEY=your-secret-key
DADATA_CACHE_ENABLED=true
DADATA_LOGGING_ENABLED=true
DADATA_LOG_RESPONSE_BODY=false  # Включить для отладки (создает большие логи)
```

### Публикация конфигурации

[](#публикация-конфигурации)

```
php artisan vendor:publish --tag=dadata-config
```

Методы фасада
-------------

[](#методы-фасада)

### Адреса

[](#адреса)

```
use Ex3mm\DaDataApi\Laravel\Facades\DaData;

// Подсказки
DaData::suggestAddress('москва тверская');
DaData::suggestAddress('ленина', 5, 'Москва');

// Поиск по ID (ФИАС, ГАР, КЛАДР, кадастровый номер)
DaData::findAddressById('7700000000000');

// Стандартизация
DaData::cleanAddress('мск сухонская 11');
```

### Компании

[](#компании)

#### Подсказки - упрощенные методы

[](#подсказки---упрощенные-методы)

```
// По статусу (принимают только query и count)
DaData::suggestCompanyActive('сбербанк');           // ACTIVE
DaData::suggestCompanyLiquidating('сбербанк');      // LIQUIDATING
DaData::suggestCompanyLiquidated('сбербанк');       // LIQUIDATED

// Юридические лица по статусу
DaData::suggestCompanyLegal('сбербанк');            // LEGAL + ACTIVE
DaData::suggestCompanyLegalLiquidating('сбербанк'); // LEGAL + LIQUIDATING
DaData::suggestCompanyLegalLiquidated('сбербанк');  // LEGAL + LIQUIDATED

// ИП по статусу
DaData::suggestCompanyIndividual('иванов');            // INDIVIDUAL + ACTIVE
DaData::suggestCompanyIndividualLiquidating('иванов'); // INDIVIDUAL + LIQUIDATING
DaData::suggestCompanyIndividualLiquidated('иванов');  // INDIVIDUAL + LIQUIDATED

// С фильтром по ОКВЭД
DaData::suggestCompanyByOkved('сбербанк', '64.19');
DaData::suggestCompanyByOkved('банк', '64.19', 10);

// Базовый метод (если нужны кастомные параметры)
DaData::suggestCompany('сбербанк', 10, 'ACTIVE', 'LEGAL');
```

#### Поиск по ИНН/ОГРН

[](#поиск-по-инногрн)

```
// Базовый поиск
DaData::findCompany('7707083893');                    // По ИНН
DaData::findCompany('1027700132195');                 // По ОГРН
DaData::findCompanyByKpp('7707083893', '770701001'); // По ИНН и КПП

// По типу организации
DaData::findCompanyLegal('7707083893');               // Юрлицо
DaData::findCompanyIndividual('773301001');           // ИП

// По типу подразделения
DaData::findCompanyMain('7707083893');                // Головная организация
DaData::findCompanyBranch('7707083893');              // Филиал
DaData::findCompanyLegal('7707083893', 'MAIN');       // Юрлицо + головная
DaData::findCompanyLegal('7707083893', 'BRANCH');     // Юрлицо + филиал
```

#### Аффилированные компании

[](#аффилированные-компании)

```
DaData::findCompanyAffiliated('7707083893');              // Все
DaData::findCompanyAffiliatedByFounders('7707083893');    // Через учредителей
DaData::findCompanyAffiliatedByManagers('7707083893');    // Через руководителей
```

### Использование билдеров

[](#использование-билдеров)

Для более гибкой настройки параметров используйте билдеры напрямую:

```
// Suggest билдер
DaData::suggest()->address('москва', ['count' => 5])->toArray();
DaData::suggest()->party('сбербанк', ['okved' => ['64.19']])->toArray();
DaData::suggest()->country('росс', ['count' => 5])->toArray();
DaData::suggest()->bank('сбербанк', ['status' => ['ACTIVE']])->toArray();
DaData::suggest()->fio('иванов', ['gender' => 'MALE'])->toArray();
DaData::suggest()->fnsUnit('нижнего', ['filters' => [['region_code' => '52']]])->toArray();
DaData::suggest()->court('нижний', ['filters' => [['court_type' => 'MS']]])->toArray();
DaData::suggest()->findById('party', '7707083893', ['kpp' => '770701001'])->toArray();
DaData::suggest()->findAffiliated('7707083893', ['scope' => ['FOUNDERS']])->toArray();

// Clean билдер
DaData::clean()->address(['мск сухонская 11'])->toArray();
DaData::clean()->fio(['Иванов Иван Иванович'])->toArray();
DaData::clean()->phone(['+79991234567'])->toArray();
DaData::clean()->email(['test@example.com'])->toArray();
DaData::clean()->passport(['4509 235857'])->toArray();

// Произвольные запросы для других справочников
DaData::suggestRaw('suggest/email', ['query' => 'test@']);
DaData::cleanRaw('clean/vehicle', ['АА1234567']);
```

Конфигурация
------------

[](#конфигурация)

### Laravel (.env)

[](#laravel-env)

```
DADATA_API_KEY=your-api-key
DADATA_SECRET_KEY=your-secret-key
DADATA_TIMEOUT=30
DADATA_RETRY_ATTEMPTS=3
DADATA_CACHE_ENABLED=true
DADATA_CACHE_TTL=3600
DADATA_LOGGING_ENABLED=true
DADATA_LOG_CHANNEL=stack
DADATA_LOG_RESPONSE_BODY=false
DADATA_RATE_LIMIT_BEHAVIOR=wait
```

### Чистый PHP

[](#чистый-php)

```
use Ex3mm\DaDataApi\Client;
use Ex3mm\DaDataApi\Config\Configuration;

$config = new Configuration([
    'api_key' => 'your-api-key',
    'secret_key' => 'your-secret-key',
    'timeout' => 30,
    'retry_attempts' => 3,
    'cache_enabled' => true,
    'cache_ttl' => 3600,
    'logging_enabled' => true,
    'log_response_body' => false,
    'rate_limit_behavior' => 'wait',
]);

$client = new Client($config);

// Использование
$companies = $client->suggestCompanyLegal('сбербанк');
$company = $client->findCompany('7707083893');
```

Обработка ошибок
----------------

[](#обработка-ошибок)

```
use Ex3mm\DaDataApi\Exceptions\{
    RateLimitException,
    ApiException,
    AuthenticationException,
    NetworkException
};

try {
    $result = DaData::suggestCompany('сбербанк');
} catch (RateLimitException $e) {
    echo "Retry after " . $e->getRetryAfter() . " seconds";
} catch (AuthenticationException $e) {
    echo "Ошибка аутентификации: " . $e->getMessage();
} catch (NetworkException $e) {
    echo "Ошибка сети: " . $e->getMessage();
} catch (ApiException $e) {
    echo "Ошибка API: " . $e->getMessage();
}
```

Кеширование и логирование
-------------------------

[](#кеширование-и-логирование)

### Laravel

[](#laravel)

Кеш и логгер подключаются автоматически. Для логирования в отдельный канал:

```
// config/logging.php
'channels' => [
    'dadata' => [
        'driver' => 'single',
        'path' => storage_path('logs/dadata.log'),
        'level' => 'debug',
    ],
],

// .env
DADATA_LOG_CHANNEL=dadata
DADATA_LOGGING_ENABLED=true
DADATA_LOG_RESPONSE_BODY=false  # true для отладки (создает большие логи)
```

**Опции логирования:**

- `DADATA_LOGGING_ENABLED` - включить/выключить логирование
- `DADATA_LOG_CHANNEL` - канал логирования Laravel
- `DADATA_LOG_RESPONSE_BODY` - логировать полное тело ответа API (по умолчанию `false`)

⚠️ **Внимание**: Включение `DADATA_LOG_RESPONSE_BODY=true` создаст большие файлы логов, так как будет записывать полный JSON ответ от API. Используйте только для отладки.

### Чистый PHP

[](#чистый-php-1)

```
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
use Symfony\Component\Cache\Psr16Cache;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$cache = new Psr16Cache(new FilesystemAdapter());
$logger = new Logger('dadata');
$logger->pushHandler(new StreamHandler('dadata.log'));

$client = new Client($config, $cache, $logger);
```

Примеры
-------

[](#примеры)

Смотрите директорию `examples/` для полных примеров использования.

Документация
------------

[](#документация)

- [Официальная документация DaData](https://dadata.ru/api/)

Требования
----------

[](#требования)

- PHP 8.1+
- Guzzle HTTP Client 7.0+

Лицензия
--------

[](#лицензия)

MIT License

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance83

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

88d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f01600d020e8476851965036a64a38bfb941a85de2ac1f633e5e9d913733995e?d=identicon)[Ex3mm](/maintainers/Ex3mm)

---

Top Contributors

[![ex3mm](https://avatars.githubusercontent.com/u/23587681?v=4)](https://github.com/ex3mm "ex3mm (1 commits)")

---

Tags

phpapilaraveladdresspassportBankfiocompanyDaDatarussian-data

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/ex3mm-dadata-api/health.svg)

```
[![Health](https://phpackages.com/badges/ex3mm-dadata-api/health.svg)](https://phpackages.com/packages/ex3mm-dadata-api)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[algolia/algoliasearch-client-php

API powering the features of Algolia.

69433.0M114](/packages/algolia-algoliasearch-client-php)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)[movemoveapp/laravel-dadata

Laravel SDK for working with the DaData.RU service API

45209.8k](/packages/movemoveapp-laravel-dadata)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

762.6k](/packages/scriptdevelop-whatsapp-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
