dadata


Namedadata JSON
Version 25.7.0 PyPI version JSON
download
home_pageNone
SummaryData cleansing, enrichment and suggestions via Dadata API
upload_time2025-07-30 14:43:17
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords dadata clean suggest api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Dadata API Client

> Data cleansing, enrichment and suggestions via [Dadata API](https://dadata.ru/api)

Thin Python wrapper over Dadata API.

## Installation

```sh
pip install dadata
```

Requirements:

-   Python 3.9+
-   [httpx](https://pypi.org/project/httpx/)

## Usage

Import Dadata client and set API keys:

```python
from dadata import Dadata

token = "Replace with Dadata API key"
secret = "Replace with Dadata secret key"
```

Use `with Dadata()` if you want a context-managed client:

```python
with Dadata(token, secret) as dadata:
    ...
```

Alternatively, use `dadata.close()` if you want to close a client explicitly:

```python
dadata = Dadata(token, secret)
...
dadata.close()
```

Call API methods as specified below.

## Usage (async)

Import Dadata client and set API keys:

```python
from dadata import DadataAsync

token = "Replace with Dadata API key"
secret = "Replace with Dadata secret key"
```

Use `async with DadataAsync()` if you want a context-managed client:

```python
async with DadataAsync(token, secret) as dadata:
    ...
```

Alternatively, use `await dadata.close()` if you want to close a client explicitly:

```python
dadata = DadataAsync(token, secret)
...
await dadata.close()
```

Call API methods as specified below (add `async` / `await` keywords where applicable).

## Options

The default request timeout is 3 seconds. You can change it with the `timeout` parameter:

```python
with Dadata(token, secret, timeout=1) as dadata:
    ...
```

## Postal Address

### [Validate and cleanse address](https://dadata.ru/api/clean/address/)

```python
>>> dadata.clean(name="address", source="мск сухонская 11 89")
{
    'source': 'мск сухонская 11 89',
    'result': 'г Москва, ул Сухонская, д 11, кв 89',
    'postal_code': '127642',
    'country': 'Россия',
    'region': 'Москва',
    'city_area': 'Северо-восточный',
    'city_district': 'Северное Медведково',
    'street': 'Сухонская',
    'house': '11',
    'flat': '89',
    'flat_area': '34.6',
    'flat_price': '6854710',
    'fias_id': '5ee84ac0-eb9a-4b42-b814-2f5f7c27c255',
    'timezone': 'UTC+3',
    'geo_lat': '55.8782557',
    'geo_lon': '37.65372',
    'qc_geo': 0,
    'qc': 0,
    'metro': [ ... ],
    ...
}
```

### [Geocode address](https://dadata.ru/api/geocode/)

Same API method as "validate and cleanse":

```python
>>> dadata.clean(name="address", source="москва сухонская 11")
{
    'source': 'мск сухонская 11 89',
    'result': 'г Москва, ул Сухонская, д 11, кв 89',
    ...
    'geo_lat': '55.8782557',
    'geo_lon': '37.65372',
    'beltway_hit': 'IN_MKAD',
    'beltway_distance': None,
    'qc_geo': 0,
    ...
}
```

### [Reverse geocode address](https://dadata.ru/api/geolocate/)

```python
>>> dadata.geolocate(name="address", lat=55.878, lon=37.653)
[
    { 'value': 'г Москва, ул Сухонская, д 11', ... },
    { 'value': 'г Москва, ул Сухонская, д 11А', ... },
    { 'value': 'г Москва, ул Сухонская, д 13', ... },
    ...
]
```

### [GeoIP city](https://dadata.ru/api/iplocate/)

```python
>>> dadata.iplocate("46.226.227.20")
{
    'value': 'г Краснодар',
    'unrestricted_value': '350000, Краснодарский край, г Краснодар',
    'data': { ... }
}
```

### [Autocomplete (suggest) address](https://dadata.ru/api/suggest/address/)

```python
>>> dadata.suggest(name="address", query="самара метал")
[
    { 'value': 'г Самара, пр-кт Металлургов', ... },
    { 'value': 'г Самара, ул Металлистов', ... },
    { 'value': 'г Самара, поселок Зубчаниновка, ул Металлургическая', ... },
    ...
]
```

Show suggestions in English:

```python
>>> dadata.suggest(name="address", query="samara metal", language="en")
[
    { 'value': 'Russia, gorod Samara, prospekt Metallurgov', ... },
    { 'value': 'Russia, gorod Samara, ulitsa Metallistov', ... },
    { 'value': 'Russia, gorod Samara, poselok Zubchaninovka, ulitsa Metallurgicheskaya', ... },
    ...
]
```

Constrain by city (Yuzhno-Sakhalinsk):

```python
>>> locations = [{ "kladr_id": "6500000100000" }]
>>> dadata.suggest(name="address", query="Ватутина", locations=locations)
[
    {'value': 'г Южно-Сахалинск, ул Ватутина' ... }
]
```

Constrain by specific geo point and radius (in Vologda city):

```python
>>> geo = [{ "lat": 59.244634,  "lon": 39.913355, "radius_meters": 200 }]
>>> dadata.suggest(name="address", query="сухонская", locations_geo=geo)
[
    {'value': 'г Вологда, ул Сухонская' ... }
]
```

Boost city to top (Toliatti):

```python
>>> boost = [{ "kladr_id": "6300000700000" }]
>>> dadata.suggest(name="address", query="авто", locations_boost=boost)
[
    {'value': 'Самарская обл, г Тольятти, Автозаводское шоссе' ... },
    {'value': 'Самарская обл, г Тольятти, ул Автомобилистов' ... },
    {'value': 'Самарская обл, г Тольятти, ул Автостроителей' ... },
    ...
]
```

### [Find address by FIAS ID](https://dadata.ru/api/find-address/)

```python
>>> dadata.find_by_id(name="address", query="9120b43f-2fae-4838-a144-85e43c2bfb29")
[
    { 'value': 'г Москва, ул Снежная', ... }
]
```

Find by KLADR ID:

```python
>>> dadata.find_by_id(name="address", query="77000000000268400")
```

### [Find postal office](https://dadata.ru/api/suggest/postal_unit/)

Suggest postal office by address or code:

```python
>>> dadata.suggest(name="postal_unit", query="дежнева 2а")
[
    {
        'value': '127642',
        'unrestricted_value': 'г Москва, проезд Дежнёва, д 2А',
        'data': { ... }
    }
]
```

Find postal office by code:

```python
>>> dadata.find_by_id(name="postal_unit", query="127642")
[
    {
        'value': '127642',
        'unrestricted_value': 'г Москва, проезд Дежнёва, д 2А',
        'data': { ... }
    }
]
```

Find nearest postal office:

```python
>>> dadata.geolocate(name="postal_unit", lat=55.878, lon=37.653, radius_meters=1000)
[
    {
        'value': '127642',
        'unrestricted_value': 'г Москва, проезд Дежнёва, д 2А',
        'data': { ... }
    }
]
```

### [Get City ID for delivery services](https://dadata.ru/api/delivery/)

```python
>>> dadata.find_by_id(name="delivery", query="3100400100000")
[
    {
        'value': '3100400100000',
        'unrestricted_value': 'fe7eea4a-875a-4235-aa61-81c2a37a0440',
        'data': {
            ...
            'boxberry_id': '01929',
            'cdek_id': '344',
            'dpd_id': '196006461'
        }
    }
]
```

### [Get address strictly according to FIAS](https://dadata.ru/api/find-fias/)

```python
>>> dadata.find_by_id(name="fias", query="9120b43f-2fae-4838-a144-85e43c2bfb29")
[
    { 'value': 'г Москва, ул Снежная', ... }
]
```

### [Suggest country](https://dadata.ru/api/suggest/country/)

```python
>>> dadata.suggest(name="country", query="та")
[
    { 'value': 'Таджикистан', ... },
    { 'value': 'Таиланд', ... },
    { 'value': 'Тайвань', ... },
    ...
]
```

## Company or individual enterpreneur

## [Find company by INN](https://dadata.ru/api/find-party/)

```python
>>> dadata.find_by_id(name="party", query="7707083893")
[
    {
        'value': 'ПАО СБЕРБАНК',
        'unrestricted_value': 'ПАО СБЕРБАНК',
        'data': {
            'inn': '7707083893',
            'kpp': '773601001',
            ...
        }
    },
    ...
]
```

Find by INN and KPP:

```python
>>> dadata.find_by_id(name="party", query="7707083893", kpp="540602001")
[
    {
        'value': 'СИБИРСКИЙ БАНК ПАО СБЕРБАНК',
        'unrestricted_value': 'СИБИРСКИЙ БАНК ПАО СБЕРБАНК',
        'data': {
            'inn': '7707083893',
            'kpp': '540602001',
            ...
        }
    }
]
```

### [Suggest company](https://dadata.ru/api/suggest/party/)

```python
>>> dadata.suggest(name="party", query="сбер")
[
    { 'value': 'ПАО СБЕРБАНК', ... },
    { 'value': 'АО "СБЕРБРОКЕР"', ... },
    { 'value': 'АО "СБЕРИНВЕСТКАПИТАЛ"', ... },
    ...
]
```

Constrain by specific regions (Saint Petersburg and Leningradskaya oblast):

```python
>>> locations = [{ "kladr_id": "7800000000000" }, { "kladr_id": "4700000000000"}]
>>> dadata.suggest(name="party", query="сбер", locations=locations)
```

Constrain by active companies:

```python
>>> dadata.suggest(name="party", query="сбер", status=["ACTIVE"])
```

Constrain by individual entrepreneurs:

```python
>>> dadata.suggest(name="party", query="сбер", type="INDIVIDUAL")
```

Constrain by head companies, no branches:

```python
>>> dadata.suggest(name="party", query="сбер", branch_type=["MAIN"])
```

### [Find affiliated companies](https://dadata.ru/api/find-affiliated/)

```python
>>> dadata.find_affiliated("7736207543")
[
    { 'value': 'ООО "ДЗЕН.ПЛАТФОРМА"', ... },
    { 'value': 'ООО "ЕДАДИЛ"', ... },
    { 'value': 'ООО "ЗНАНИЕ"', ... },
    ...
]
```

Search only by manager INN:

```python
>>> dadata.find_affiliated("773006366201", scope=["MANAGERS"])
[
    { 'value': 'ООО "ЯНДЕКС"', ... },
    { 'value': 'МФ "ФОИ"', ... },
    { 'value': 'АНО ДПО "ШАД"', ... },
]
```

## Bank

### [Find bank by BIC, SWIFT or INN](https://dadata.ru/api/find-bank/)

```python
>>> dadata.find_by_id(name="bank", query="044525225")
[
    {
        'value': 'ПАО Сбербанк',
        'unrestricted_value': 'ПАО Сбербанк',
        'data': {
            'bic': '044525225',
            'swift': 'SABRRUMM',
            'inn': '7707083893',
            ...
        }
    }
]
```

Find by SWIFT code:

```python
>>> dadata.find_by_id(name="bank", query="SABRRUMM")
```

Find by INN:

```python
>>> dadata.find_by_id(name="bank", query="7728168971")
```

Find by INN and KPP:

```python
>>> dadata.find_by_id(name="bank", query="7728168971", kpp="667102002")
```

Find by registration number:

```python
>>> dadata.find_by_id(name="bank", query="1481")
```

### [Suggest bank](https://dadata.ru/api/suggest/bank/)

```python
>>> dadata.suggest(name="bank", query="ти")
[
    { 'value': 'АО «Тимер Банк»', ... },
    { 'value': 'АО «Тинькофф Банк»', ... },
    { 'value': '«Азиатско-Тихоокеанский Банк» (ПАО)', ... },
    ...
]
```

## Personal name

### [Validate and cleanse name](https://dadata.ru/api/clean/name/)

```python
>>> dadata.clean(name="name", source="Срегей владимерович иванов")
{
    'source': 'Срегей владимерович иванов',
    'result': 'Иванов Сергей Владимирович',
    ...
    'surname': 'Иванов',
    'name': 'Сергей',
    'patronymic': 'Владимирович',
    'gender': 'М',
    'qc': 1
}
```

### [Suggest name](https://dadata.ru/api/suggest/name/)

```python
>>> dadata.suggest(name="fio", query="викт")
[
    { 'value': 'Виктор', ... },
    { 'value': 'Виктория', ... },
    { 'value': 'Викторова', ... },
    ...
]
```

Suggest female first name:

```python
>>> dadata.suggest(name="fio", query="викт", parts=["NAME"], gender="FEMALE")
[
    { 'value': 'Виктория', ... },
    { 'value': 'Викторина', ... }
]
```

## Phone

### [Validate and cleanse phone](https://dadata.ru/api/clean/phone/)

```python
>>> dadata.clean(name="phone", source="9168-233-454")
{
    'source': '9168-233-454',
    'type': 'Мобильный',
    'phone': '+7 916 823-34-54',
    'provider': 'ПАО "Мобильные ТелеСистемы"',
    'country': 'Россия',
    'region': 'Москва и Московская область',
    'timezone': 'UTC+3',
    'qc': 0,
    ...
}
```

## Passport

### [Validate passport](https://dadata.ru/api/clean/passport/)

```python
>>> dadata.clean(name="passport", source="4509 235857")
{
    'source': '4509 235857',
    'series': '45 09',
    'number': '235857',
    'qc': 0
}
```

### [Suggest issued by](https://dadata.ru/api/suggest/fms_unit/)

```python
>>> dadata.suggest(name="fms_unit", query="772 053")
[
    { 'value': 'ОВД ЗЮЗИНО Г. МОСКВЫ', ... },
    { 'value': 'ОВД РАЙОНА ЗЮЗИНО УВД ЮГО-ЗАО Г. МОСКВЫ', ... },
    { 'value': 'ПАСПОРТНО-ВИЗОВЫМ ОТДЕЛЕНИЕМ ОВД РАЙОНА ЗЮЗИНО Г. МОСКВЫ', ... },
    ...
]
```

## Email

### [Validate email](https://dadata.ru/api/clean/email/)

```python
>>> dadata.clean(name="email", source="serega@yandex/ru")
{
    'source': 'serega@yandex/ru',
    'email': 'serega@yandex.ru',
    'local': 'serega',
    'domain': 'yandex.ru',
    'type': 'PERSONAL',
    'qc': 4
}
```

### [Suggest email](https://dadata.ru/api/suggest/email/)

```python
>>> dadata.suggest(name="email", query="maria@")
[
    { 'value': 'maria@mail.ru', ... },
    { 'value': 'maria@gmail.com', ... },
    { 'value': 'maria@yandex.ru', ... },
    ...
]
```

## Other datasets

### [Tax office](https://dadata.ru/api/suggest/fns_unit/)

```python
>>> dadata.find_by_id(name="fns_unit", query="5257")
[
    {
        'value': 'Инспекция ФНС России по Канавинскому району г.Нижнего Новгорода',
        'unrestricted_value': 'Инспекция ФНС России по Канавинскому району г.Нижнего Новгорода',
        'data': {
            'code': '5257'
            'oktmo': '22701000',
            'inn': '5257046101',
            'kpp': '525701001',
            ...
        }
    }
]
```

### [Regional court](https://dadata.ru/api/suggest/region_court/)

```python
>>> dadata.suggest(name="region_court", query="таганско")
[
    { 'value': 'Судебный участок № 371 Таганского судебного района г. Москвы', ... },
    { 'value': 'Судебный участок № 372 Таганского судебного района г. Москвы', ... },
    { 'value': 'Судебный участок № 373 Таганского судебного района г. Москвы', ... },
    ...
]
```

### [Metro station](https://dadata.ru/api/suggest/metro/)

```python
>>> dadata.suggest(name="metro", query="алек")
[
    { 'value': 'Александровский сад', ... },
    { 'value': 'Алексеевская', ... },
    { 'value': 'Площадь Александра Невского 1', ... },
    ...
]
```

Constrain by city (Saint Petersburg):

```python
>>> filters = [{ "city": "Санкт-Петербург" }]
>>> dadata.suggest(name="metro", query="алек", filters=filters)
[
    { 'value': 'Площадь Александра Невского 1', ... },
    { 'value': 'Площадь Александра Невского 2', ... }
]
```

### [Car brand](https://dadata.ru/api/suggest/car_brand/)

```python
>>> dadata.suggest(name="car_brand", query="фо")
[
    { 'value': 'Volkswagen', ... },
    { 'value': 'Ford', ... },
    { 'value': 'Foton', ... }
]
```

### [Currency](https://dadata.ru/api/suggest/currency/)

```python
>>> dadata.suggest(name="currency", query="руб")
[
    { 'value': 'Белорусский рубль', ... },
    { 'value': 'Российский рубль', ... }
]
```

### [OKVED 2](https://dadata.ru/api/suggest/okved2/)

```python
>>> dadata.suggest(name="okved2", query="космических")
[
    { 'value': 'Производство космических аппаратов (в том числе спутников), ракет-носителей', ... },
    { 'value': 'Производство автоматических космических аппаратов', ... },
    { 'value': 'Деятельность космических лабораторий', ... },
    ...
]
```

### [OKPD 2](https://dadata.ru/api/suggest/okpd2/)

```python
>>> dadata.suggest(name="okpd2", query="калоши")
[
    { 'value': 'Услуги по обрезинованию валенок (рыбацкие калоши)', ... }
]
```

## Profile API

Balance:

```python
>>> dadata.get_balance()
150.00
```

Usage stats:

```python
>>> dadata.get_daily_stats()
{
    'date': '2024-10-10',
    'services': {
        'clean': 200,
        'company': 0,
        'company_similar': 0,
        'merging': 0,
        'suggestions': 15000,
    },
    'remaining': {
        'clean': 800,
        'company': 50,
        'company_similar': 0,
        'merging': 15000,
        'suggestions': 185000
    }
}
```

Dataset versions:

```python
>>> dadata.get_versions()
{
    'dadata': { 'version': 'stable (9048:bf33b2acc8ba)' },
    'factor': {
        'resources': { ... },
        'version': '20.06 (eb70078e)'
    },
    'suggestions': {
        'resources': { ... },
        'version': '20.5 (b55eb7c4)'
    }
}
```

## Development setup

```sh
$ python3 -m venv env
$ . env/bin/activate
$ make deps
$ tox
```

## Contributing

This project only accepts bug fixes.

## [Changelog](CHANGELOG.md)

This library uses [CalVer](https://calver.org/) with YY.MM.MICRO schema. See changelog for details specific to each release.

## License

[MIT](https://choosealicense.com/licenses/mit/)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "dadata",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "dadata, clean, suggest, api",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/26/f2/14c4dbfacbd6a4432909625b4e35e2c04f459dfb6fa8cd87451736f44a13/dadata-25.7.0.tar.gz",
    "platform": null,
    "description": "# Dadata API Client\n\n> Data cleansing, enrichment and suggestions via [Dadata API](https://dadata.ru/api)\n\nThin Python wrapper over Dadata API.\n\n## Installation\n\n```sh\npip install dadata\n```\n\nRequirements:\n\n-   Python 3.9+\n-   [httpx](https://pypi.org/project/httpx/)\n\n## Usage\n\nImport Dadata client and set API keys:\n\n```python\nfrom dadata import Dadata\n\ntoken = \"Replace with Dadata API key\"\nsecret = \"Replace with Dadata secret key\"\n```\n\nUse `with Dadata()` if you want a context-managed client:\n\n```python\nwith Dadata(token, secret) as dadata:\n    ...\n```\n\nAlternatively, use `dadata.close()` if you want to close a client explicitly:\n\n```python\ndadata = Dadata(token, secret)\n...\ndadata.close()\n```\n\nCall API methods as specified below.\n\n## Usage (async)\n\nImport Dadata client and set API keys:\n\n```python\nfrom dadata import DadataAsync\n\ntoken = \"Replace with Dadata API key\"\nsecret = \"Replace with Dadata secret key\"\n```\n\nUse `async with DadataAsync()` if you want a context-managed client:\n\n```python\nasync with DadataAsync(token, secret) as dadata:\n    ...\n```\n\nAlternatively, use `await dadata.close()` if you want to close a client explicitly:\n\n```python\ndadata = DadataAsync(token, secret)\n...\nawait dadata.close()\n```\n\nCall API methods as specified below (add `async` / `await` keywords where applicable).\n\n## Options\n\nThe default request timeout is 3 seconds. You can change it with the `timeout` parameter:\n\n```python\nwith Dadata(token, secret, timeout=1) as dadata:\n    ...\n```\n\n## Postal Address\n\n### [Validate and cleanse address](https://dadata.ru/api/clean/address/)\n\n```python\n>>> dadata.clean(name=\"address\", source=\"\u043c\u0441\u043a \u0441\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f 11 89\")\n{\n    'source': '\u043c\u0441\u043a \u0441\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f 11 89',\n    'result': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u0443\u043b \u0421\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f, \u0434 11, \u043a\u0432 89',\n    'postal_code': '127642',\n    'country': '\u0420\u043e\u0441\u0441\u0438\u044f',\n    'region': '\u041c\u043e\u0441\u043a\u0432\u0430',\n    'city_area': '\u0421\u0435\u0432\u0435\u0440\u043e-\u0432\u043e\u0441\u0442\u043e\u0447\u043d\u044b\u0439',\n    'city_district': '\u0421\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u041c\u0435\u0434\u0432\u0435\u0434\u043a\u043e\u0432\u043e',\n    'street': '\u0421\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f',\n    'house': '11',\n    'flat': '89',\n    'flat_area': '34.6',\n    'flat_price': '6854710',\n    'fias_id': '5ee84ac0-eb9a-4b42-b814-2f5f7c27c255',\n    'timezone': 'UTC+3',\n    'geo_lat': '55.8782557',\n    'geo_lon': '37.65372',\n    'qc_geo': 0,\n    'qc': 0,\n    'metro': [ ... ],\n    ...\n}\n```\n\n### [Geocode address](https://dadata.ru/api/geocode/)\n\nSame API method as \"validate and cleanse\":\n\n```python\n>>> dadata.clean(name=\"address\", source=\"\u043c\u043e\u0441\u043a\u0432\u0430 \u0441\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f 11\")\n{\n    'source': '\u043c\u0441\u043a \u0441\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f 11 89',\n    'result': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u0443\u043b \u0421\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f, \u0434 11, \u043a\u0432 89',\n    ...\n    'geo_lat': '55.8782557',\n    'geo_lon': '37.65372',\n    'beltway_hit': 'IN_MKAD',\n    'beltway_distance': None,\n    'qc_geo': 0,\n    ...\n}\n```\n\n### [Reverse geocode address](https://dadata.ru/api/geolocate/)\n\n```python\n>>> dadata.geolocate(name=\"address\", lat=55.878, lon=37.653)\n[\n    { 'value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u0443\u043b \u0421\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f, \u0434 11', ... },\n    { 'value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u0443\u043b \u0421\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f, \u0434 11\u0410', ... },\n    { 'value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u0443\u043b \u0421\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f, \u0434 13', ... },\n    ...\n]\n```\n\n### [GeoIP city](https://dadata.ru/api/iplocate/)\n\n```python\n>>> dadata.iplocate(\"46.226.227.20\")\n{\n    'value': '\u0433 \u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440',\n    'unrestricted_value': '350000, \u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439, \u0433 \u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440',\n    'data': { ... }\n}\n```\n\n### [Autocomplete (suggest) address](https://dadata.ru/api/suggest/address/)\n\n```python\n>>> dadata.suggest(name=\"address\", query=\"\u0441\u0430\u043c\u0430\u0440\u0430 \u043c\u0435\u0442\u0430\u043b\")\n[\n    { 'value': '\u0433 \u0421\u0430\u043c\u0430\u0440\u0430, \u043f\u0440-\u043a\u0442 \u041c\u0435\u0442\u0430\u043b\u043b\u0443\u0440\u0433\u043e\u0432', ... },\n    { 'value': '\u0433 \u0421\u0430\u043c\u0430\u0440\u0430, \u0443\u043b \u041c\u0435\u0442\u0430\u043b\u043b\u0438\u0441\u0442\u043e\u0432', ... },\n    { 'value': '\u0433 \u0421\u0430\u043c\u0430\u0440\u0430, \u043f\u043e\u0441\u0435\u043b\u043e\u043a \u0417\u0443\u0431\u0447\u0430\u043d\u0438\u043d\u043e\u0432\u043a\u0430, \u0443\u043b \u041c\u0435\u0442\u0430\u043b\u043b\u0443\u0440\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f', ... },\n    ...\n]\n```\n\nShow suggestions in English:\n\n```python\n>>> dadata.suggest(name=\"address\", query=\"samara metal\", language=\"en\")\n[\n    { 'value': 'Russia, gorod Samara, prospekt Metallurgov', ... },\n    { 'value': 'Russia, gorod Samara, ulitsa Metallistov', ... },\n    { 'value': 'Russia, gorod Samara, poselok Zubchaninovka, ulitsa Metallurgicheskaya', ... },\n    ...\n]\n```\n\nConstrain by city (Yuzhno-Sakhalinsk):\n\n```python\n>>> locations = [{ \"kladr_id\": \"6500000100000\" }]\n>>> dadata.suggest(name=\"address\", query=\"\u0412\u0430\u0442\u0443\u0442\u0438\u043d\u0430\", locations=locations)\n[\n    {'value': '\u0433 \u042e\u0436\u043d\u043e-\u0421\u0430\u0445\u0430\u043b\u0438\u043d\u0441\u043a, \u0443\u043b \u0412\u0430\u0442\u0443\u0442\u0438\u043d\u0430' ... }\n]\n```\n\nConstrain by specific geo point and radius (in Vologda city):\n\n```python\n>>> geo = [{ \"lat\": 59.244634,  \"lon\": 39.913355, \"radius_meters\": 200 }]\n>>> dadata.suggest(name=\"address\", query=\"\u0441\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f\", locations_geo=geo)\n[\n    {'value': '\u0433 \u0412\u043e\u043b\u043e\u0433\u0434\u0430, \u0443\u043b \u0421\u0443\u0445\u043e\u043d\u0441\u043a\u0430\u044f' ... }\n]\n```\n\nBoost city to top (Toliatti):\n\n```python\n>>> boost = [{ \"kladr_id\": \"6300000700000\" }]\n>>> dadata.suggest(name=\"address\", query=\"\u0430\u0432\u0442\u043e\", locations_boost=boost)\n[\n    {'value': '\u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b, \u0433 \u0422\u043e\u043b\u044c\u044f\u0442\u0442\u0438, \u0410\u0432\u0442\u043e\u0437\u0430\u0432\u043e\u0434\u0441\u043a\u043e\u0435 \u0448\u043e\u0441\u0441\u0435' ... },\n    {'value': '\u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b, \u0433 \u0422\u043e\u043b\u044c\u044f\u0442\u0442\u0438, \u0443\u043b \u0410\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0438\u0441\u0442\u043e\u0432' ... },\n    {'value': '\u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b, \u0433 \u0422\u043e\u043b\u044c\u044f\u0442\u0442\u0438, \u0443\u043b \u0410\u0432\u0442\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u0435\u0439' ... },\n    ...\n]\n```\n\n### [Find address by FIAS ID](https://dadata.ru/api/find-address/)\n\n```python\n>>> dadata.find_by_id(name=\"address\", query=\"9120b43f-2fae-4838-a144-85e43c2bfb29\")\n[\n    { 'value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u0443\u043b \u0421\u043d\u0435\u0436\u043d\u0430\u044f', ... }\n]\n```\n\nFind by KLADR ID:\n\n```python\n>>> dadata.find_by_id(name=\"address\", query=\"77000000000268400\")\n```\n\n### [Find postal office](https://dadata.ru/api/suggest/postal_unit/)\n\nSuggest postal office by address or code:\n\n```python\n>>> dadata.suggest(name=\"postal_unit\", query=\"\u0434\u0435\u0436\u043d\u0435\u0432\u0430 2\u0430\")\n[\n    {\n        'value': '127642',\n        'unrestricted_value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u043f\u0440\u043e\u0435\u0437\u0434 \u0414\u0435\u0436\u043d\u0451\u0432\u0430, \u0434 2\u0410',\n        'data': { ... }\n    }\n]\n```\n\nFind postal office by code:\n\n```python\n>>> dadata.find_by_id(name=\"postal_unit\", query=\"127642\")\n[\n    {\n        'value': '127642',\n        'unrestricted_value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u043f\u0440\u043e\u0435\u0437\u0434 \u0414\u0435\u0436\u043d\u0451\u0432\u0430, \u0434 2\u0410',\n        'data': { ... }\n    }\n]\n```\n\nFind nearest postal office:\n\n```python\n>>> dadata.geolocate(name=\"postal_unit\", lat=55.878, lon=37.653, radius_meters=1000)\n[\n    {\n        'value': '127642',\n        'unrestricted_value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u043f\u0440\u043e\u0435\u0437\u0434 \u0414\u0435\u0436\u043d\u0451\u0432\u0430, \u0434 2\u0410',\n        'data': { ... }\n    }\n]\n```\n\n### [Get City ID for delivery services](https://dadata.ru/api/delivery/)\n\n```python\n>>> dadata.find_by_id(name=\"delivery\", query=\"3100400100000\")\n[\n    {\n        'value': '3100400100000',\n        'unrestricted_value': 'fe7eea4a-875a-4235-aa61-81c2a37a0440',\n        'data': {\n            ...\n            'boxberry_id': '01929',\n            'cdek_id': '344',\n            'dpd_id': '196006461'\n        }\n    }\n]\n```\n\n### [Get address strictly according to FIAS](https://dadata.ru/api/find-fias/)\n\n```python\n>>> dadata.find_by_id(name=\"fias\", query=\"9120b43f-2fae-4838-a144-85e43c2bfb29\")\n[\n    { 'value': '\u0433 \u041c\u043e\u0441\u043a\u0432\u0430, \u0443\u043b \u0421\u043d\u0435\u0436\u043d\u0430\u044f', ... }\n]\n```\n\n### [Suggest country](https://dadata.ru/api/suggest/country/)\n\n```python\n>>> dadata.suggest(name=\"country\", query=\"\u0442\u0430\")\n[\n    { 'value': '\u0422\u0430\u0434\u0436\u0438\u043a\u0438\u0441\u0442\u0430\u043d', ... },\n    { 'value': '\u0422\u0430\u0438\u043b\u0430\u043d\u0434', ... },\n    { 'value': '\u0422\u0430\u0439\u0432\u0430\u043d\u044c', ... },\n    ...\n]\n```\n\n## Company or individual enterpreneur\n\n## [Find company by INN](https://dadata.ru/api/find-party/)\n\n```python\n>>> dadata.find_by_id(name=\"party\", query=\"7707083893\")\n[\n    {\n        'value': '\u041f\u0410\u041e \u0421\u0411\u0415\u0420\u0411\u0410\u041d\u041a',\n        'unrestricted_value': '\u041f\u0410\u041e \u0421\u0411\u0415\u0420\u0411\u0410\u041d\u041a',\n        'data': {\n            'inn': '7707083893',\n            'kpp': '773601001',\n            ...\n        }\n    },\n    ...\n]\n```\n\nFind by INN and KPP:\n\n```python\n>>> dadata.find_by_id(name=\"party\", query=\"7707083893\", kpp=\"540602001\")\n[\n    {\n        'value': '\u0421\u0418\u0411\u0418\u0420\u0421\u041a\u0418\u0419 \u0411\u0410\u041d\u041a \u041f\u0410\u041e \u0421\u0411\u0415\u0420\u0411\u0410\u041d\u041a',\n        'unrestricted_value': '\u0421\u0418\u0411\u0418\u0420\u0421\u041a\u0418\u0419 \u0411\u0410\u041d\u041a \u041f\u0410\u041e \u0421\u0411\u0415\u0420\u0411\u0410\u041d\u041a',\n        'data': {\n            'inn': '7707083893',\n            'kpp': '540602001',\n            ...\n        }\n    }\n]\n```\n\n### [Suggest company](https://dadata.ru/api/suggest/party/)\n\n```python\n>>> dadata.suggest(name=\"party\", query=\"\u0441\u0431\u0435\u0440\")\n[\n    { 'value': '\u041f\u0410\u041e \u0421\u0411\u0415\u0420\u0411\u0410\u041d\u041a', ... },\n    { 'value': '\u0410\u041e \"\u0421\u0411\u0415\u0420\u0411\u0420\u041e\u041a\u0415\u0420\"', ... },\n    { 'value': '\u0410\u041e \"\u0421\u0411\u0415\u0420\u0418\u041d\u0412\u0415\u0421\u0422\u041a\u0410\u041f\u0418\u0422\u0410\u041b\"', ... },\n    ...\n]\n```\n\nConstrain by specific regions (Saint Petersburg and Leningradskaya oblast):\n\n```python\n>>> locations = [{ \"kladr_id\": \"7800000000000\" }, { \"kladr_id\": \"4700000000000\"}]\n>>> dadata.suggest(name=\"party\", query=\"\u0441\u0431\u0435\u0440\", locations=locations)\n```\n\nConstrain by active companies:\n\n```python\n>>> dadata.suggest(name=\"party\", query=\"\u0441\u0431\u0435\u0440\", status=[\"ACTIVE\"])\n```\n\nConstrain by individual entrepreneurs:\n\n```python\n>>> dadata.suggest(name=\"party\", query=\"\u0441\u0431\u0435\u0440\", type=\"INDIVIDUAL\")\n```\n\nConstrain by head companies, no branches:\n\n```python\n>>> dadata.suggest(name=\"party\", query=\"\u0441\u0431\u0435\u0440\", branch_type=[\"MAIN\"])\n```\n\n### [Find affiliated companies](https://dadata.ru/api/find-affiliated/)\n\n```python\n>>> dadata.find_affiliated(\"7736207543\")\n[\n    { 'value': '\u041e\u041e\u041e \"\u0414\u0417\u0415\u041d.\u041f\u041b\u0410\u0422\u0424\u041e\u0420\u041c\u0410\"', ... },\n    { 'value': '\u041e\u041e\u041e \"\u0415\u0414\u0410\u0414\u0418\u041b\"', ... },\n    { 'value': '\u041e\u041e\u041e \"\u0417\u041d\u0410\u041d\u0418\u0415\"', ... },\n    ...\n]\n```\n\nSearch only by manager INN:\n\n```python\n>>> dadata.find_affiliated(\"773006366201\", scope=[\"MANAGERS\"])\n[\n    { 'value': '\u041e\u041e\u041e \"\u042f\u041d\u0414\u0415\u041a\u0421\"', ... },\n    { 'value': '\u041c\u0424 \"\u0424\u041e\u0418\"', ... },\n    { 'value': '\u0410\u041d\u041e \u0414\u041f\u041e \"\u0428\u0410\u0414\"', ... },\n]\n```\n\n## Bank\n\n### [Find bank by BIC, SWIFT or INN](https://dadata.ru/api/find-bank/)\n\n```python\n>>> dadata.find_by_id(name=\"bank\", query=\"044525225\")\n[\n    {\n        'value': '\u041f\u0410\u041e \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a',\n        'unrestricted_value': '\u041f\u0410\u041e \u0421\u0431\u0435\u0440\u0431\u0430\u043d\u043a',\n        'data': {\n            'bic': '044525225',\n            'swift': 'SABRRUMM',\n            'inn': '7707083893',\n            ...\n        }\n    }\n]\n```\n\nFind by SWIFT code:\n\n```python\n>>> dadata.find_by_id(name=\"bank\", query=\"SABRRUMM\")\n```\n\nFind by INN:\n\n```python\n>>> dadata.find_by_id(name=\"bank\", query=\"7728168971\")\n```\n\nFind by INN and KPP:\n\n```python\n>>> dadata.find_by_id(name=\"bank\", query=\"7728168971\", kpp=\"667102002\")\n```\n\nFind by registration number:\n\n```python\n>>> dadata.find_by_id(name=\"bank\", query=\"1481\")\n```\n\n### [Suggest bank](https://dadata.ru/api/suggest/bank/)\n\n```python\n>>> dadata.suggest(name=\"bank\", query=\"\u0442\u0438\")\n[\n    { 'value': '\u0410\u041e \u00ab\u0422\u0438\u043c\u0435\u0440 \u0411\u0430\u043d\u043a\u00bb', ... },\n    { 'value': '\u0410\u041e \u00ab\u0422\u0438\u043d\u044c\u043a\u043e\u0444\u0444 \u0411\u0430\u043d\u043a\u00bb', ... },\n    { 'value': '\u00ab\u0410\u0437\u0438\u0430\u0442\u0441\u043a\u043e-\u0422\u0438\u0445\u043e\u043e\u043a\u0435\u0430\u043d\u0441\u043a\u0438\u0439 \u0411\u0430\u043d\u043a\u00bb (\u041f\u0410\u041e)', ... },\n    ...\n]\n```\n\n## Personal name\n\n### [Validate and cleanse name](https://dadata.ru/api/clean/name/)\n\n```python\n>>> dadata.clean(name=\"name\", source=\"\u0421\u0440\u0435\u0433\u0435\u0439 \u0432\u043b\u0430\u0434\u0438\u043c\u0435\u0440\u043e\u0432\u0438\u0447 \u0438\u0432\u0430\u043d\u043e\u0432\")\n{\n    'source': '\u0421\u0440\u0435\u0433\u0435\u0439 \u0432\u043b\u0430\u0434\u0438\u043c\u0435\u0440\u043e\u0432\u0438\u0447 \u0438\u0432\u0430\u043d\u043e\u0432',\n    'result': '\u0418\u0432\u0430\u043d\u043e\u0432 \u0421\u0435\u0440\u0433\u0435\u0439 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447',\n    ...\n    'surname': '\u0418\u0432\u0430\u043d\u043e\u0432',\n    'name': '\u0421\u0435\u0440\u0433\u0435\u0439',\n    'patronymic': '\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u043e\u0432\u0438\u0447',\n    'gender': '\u041c',\n    'qc': 1\n}\n```\n\n### [Suggest name](https://dadata.ru/api/suggest/name/)\n\n```python\n>>> dadata.suggest(name=\"fio\", query=\"\u0432\u0438\u043a\u0442\")\n[\n    { 'value': '\u0412\u0438\u043a\u0442\u043e\u0440', ... },\n    { 'value': '\u0412\u0438\u043a\u0442\u043e\u0440\u0438\u044f', ... },\n    { 'value': '\u0412\u0438\u043a\u0442\u043e\u0440\u043e\u0432\u0430', ... },\n    ...\n]\n```\n\nSuggest female first name:\n\n```python\n>>> dadata.suggest(name=\"fio\", query=\"\u0432\u0438\u043a\u0442\", parts=[\"NAME\"], gender=\"FEMALE\")\n[\n    { 'value': '\u0412\u0438\u043a\u0442\u043e\u0440\u0438\u044f', ... },\n    { 'value': '\u0412\u0438\u043a\u0442\u043e\u0440\u0438\u043d\u0430', ... }\n]\n```\n\n## Phone\n\n### [Validate and cleanse phone](https://dadata.ru/api/clean/phone/)\n\n```python\n>>> dadata.clean(name=\"phone\", source=\"9168-233-454\")\n{\n    'source': '9168-233-454',\n    'type': '\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439',\n    'phone': '+7 916 823-34-54',\n    'provider': '\u041f\u0410\u041e \"\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0422\u0435\u043b\u0435\u0421\u0438\u0441\u0442\u0435\u043c\u044b\"',\n    'country': '\u0420\u043e\u0441\u0441\u0438\u044f',\n    'region': '\u041c\u043e\u0441\u043a\u0432\u0430 \u0438 \u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c',\n    'timezone': 'UTC+3',\n    'qc': 0,\n    ...\n}\n```\n\n## Passport\n\n### [Validate passport](https://dadata.ru/api/clean/passport/)\n\n```python\n>>> dadata.clean(name=\"passport\", source=\"4509 235857\")\n{\n    'source': '4509 235857',\n    'series': '45 09',\n    'number': '235857',\n    'qc': 0\n}\n```\n\n### [Suggest issued by](https://dadata.ru/api/suggest/fms_unit/)\n\n```python\n>>> dadata.suggest(name=\"fms_unit\", query=\"772 053\")\n[\n    { 'value': '\u041e\u0412\u0414 \u0417\u042e\u0417\u0418\u041d\u041e \u0413. \u041c\u041e\u0421\u041a\u0412\u042b', ... },\n    { 'value': '\u041e\u0412\u0414 \u0420\u0410\u0419\u041e\u041d\u0410 \u0417\u042e\u0417\u0418\u041d\u041e \u0423\u0412\u0414 \u042e\u0413\u041e-\u0417\u0410\u041e \u0413. \u041c\u041e\u0421\u041a\u0412\u042b', ... },\n    { 'value': '\u041f\u0410\u0421\u041f\u041e\u0420\u0422\u041d\u041e-\u0412\u0418\u0417\u041e\u0412\u042b\u041c \u041e\u0422\u0414\u0415\u041b\u0415\u041d\u0418\u0415\u041c \u041e\u0412\u0414 \u0420\u0410\u0419\u041e\u041d\u0410 \u0417\u042e\u0417\u0418\u041d\u041e \u0413. \u041c\u041e\u0421\u041a\u0412\u042b', ... },\n    ...\n]\n```\n\n## Email\n\n### [Validate email](https://dadata.ru/api/clean/email/)\n\n```python\n>>> dadata.clean(name=\"email\", source=\"serega@yandex/ru\")\n{\n    'source': 'serega@yandex/ru',\n    'email': 'serega@yandex.ru',\n    'local': 'serega',\n    'domain': 'yandex.ru',\n    'type': 'PERSONAL',\n    'qc': 4\n}\n```\n\n### [Suggest email](https://dadata.ru/api/suggest/email/)\n\n```python\n>>> dadata.suggest(name=\"email\", query=\"maria@\")\n[\n    { 'value': 'maria@mail.ru', ... },\n    { 'value': 'maria@gmail.com', ... },\n    { 'value': 'maria@yandex.ru', ... },\n    ...\n]\n```\n\n## Other datasets\n\n### [Tax office](https://dadata.ru/api/suggest/fns_unit/)\n\n```python\n>>> dadata.find_by_id(name=\"fns_unit\", query=\"5257\")\n[\n    {\n        'value': '\u0418\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u044f \u0424\u041d\u0421 \u0420\u043e\u0441\u0441\u0438\u0438 \u043f\u043e \u041a\u0430\u043d\u0430\u0432\u0438\u043d\u0441\u043a\u043e\u043c\u0443 \u0440\u0430\u0439\u043e\u043d\u0443 \u0433.\u041d\u0438\u0436\u043d\u0435\u0433\u043e \u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\u0430',\n        'unrestricted_value': '\u0418\u043d\u0441\u043f\u0435\u043a\u0446\u0438\u044f \u0424\u041d\u0421 \u0420\u043e\u0441\u0441\u0438\u0438 \u043f\u043e \u041a\u0430\u043d\u0430\u0432\u0438\u043d\u0441\u043a\u043e\u043c\u0443 \u0440\u0430\u0439\u043e\u043d\u0443 \u0433.\u041d\u0438\u0436\u043d\u0435\u0433\u043e \u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\u0430',\n        'data': {\n            'code': '5257'\n            'oktmo': '22701000',\n            'inn': '5257046101',\n            'kpp': '525701001',\n            ...\n        }\n    }\n]\n```\n\n### [Regional court](https://dadata.ru/api/suggest/region_court/)\n\n```python\n>>> dadata.suggest(name=\"region_court\", query=\"\u0442\u0430\u0433\u0430\u043d\u0441\u043a\u043e\")\n[\n    { 'value': '\u0421\u0443\u0434\u0435\u0431\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u2116 371 \u0422\u0430\u0433\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u0441\u0443\u0434\u0435\u0431\u043d\u043e\u0433\u043e \u0440\u0430\u0439\u043e\u043d\u0430 \u0433. \u041c\u043e\u0441\u043a\u0432\u044b', ... },\n    { 'value': '\u0421\u0443\u0434\u0435\u0431\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u2116 372 \u0422\u0430\u0433\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u0441\u0443\u0434\u0435\u0431\u043d\u043e\u0433\u043e \u0440\u0430\u0439\u043e\u043d\u0430 \u0433. \u041c\u043e\u0441\u043a\u0432\u044b', ... },\n    { 'value': '\u0421\u0443\u0434\u0435\u0431\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u2116 373 \u0422\u0430\u0433\u0430\u043d\u0441\u043a\u043e\u0433\u043e \u0441\u0443\u0434\u0435\u0431\u043d\u043e\u0433\u043e \u0440\u0430\u0439\u043e\u043d\u0430 \u0433. \u041c\u043e\u0441\u043a\u0432\u044b', ... },\n    ...\n]\n```\n\n### [Metro station](https://dadata.ru/api/suggest/metro/)\n\n```python\n>>> dadata.suggest(name=\"metro\", query=\"\u0430\u043b\u0435\u043a\")\n[\n    { 'value': '\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432\u0441\u043a\u0438\u0439 \u0441\u0430\u0434', ... },\n    { 'value': '\u0410\u043b\u0435\u043a\u0441\u0435\u0435\u0432\u0441\u043a\u0430\u044f', ... },\n    { 'value': '\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u041d\u0435\u0432\u0441\u043a\u043e\u0433\u043e 1', ... },\n    ...\n]\n```\n\nConstrain by city (Saint Petersburg):\n\n```python\n>>> filters = [{ \"city\": \"\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\" }]\n>>> dadata.suggest(name=\"metro\", query=\"\u0430\u043b\u0435\u043a\", filters=filters)\n[\n    { 'value': '\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u041d\u0435\u0432\u0441\u043a\u043e\u0433\u043e 1', ... },\n    { 'value': '\u041f\u043b\u043e\u0449\u0430\u0434\u044c \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0430 \u041d\u0435\u0432\u0441\u043a\u043e\u0433\u043e 2', ... }\n]\n```\n\n### [Car brand](https://dadata.ru/api/suggest/car_brand/)\n\n```python\n>>> dadata.suggest(name=\"car_brand\", query=\"\u0444\u043e\")\n[\n    { 'value': 'Volkswagen', ... },\n    { 'value': 'Ford', ... },\n    { 'value': 'Foton', ... }\n]\n```\n\n### [Currency](https://dadata.ru/api/suggest/currency/)\n\n```python\n>>> dadata.suggest(name=\"currency\", query=\"\u0440\u0443\u0431\")\n[\n    { 'value': '\u0411\u0435\u043b\u043e\u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0440\u0443\u0431\u043b\u044c', ... },\n    { 'value': '\u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0440\u0443\u0431\u043b\u044c', ... }\n]\n```\n\n### [OKVED 2](https://dadata.ru/api/suggest/okved2/)\n\n```python\n>>> dadata.suggest(name=\"okved2\", query=\"\u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445\")\n[\n    { 'value': '\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043e\u0432 (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432), \u0440\u0430\u043a\u0435\u0442-\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u0435\u0439', ... },\n    { 'value': '\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043e\u0432', ... },\n    { 'value': '\u0414\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u0438\u0439', ... },\n    ...\n]\n```\n\n### [OKPD 2](https://dadata.ru/api/suggest/okpd2/)\n\n```python\n>>> dadata.suggest(name=\"okpd2\", query=\"\u043a\u0430\u043b\u043e\u0448\u0438\")\n[\n    { 'value': '\u0423\u0441\u043b\u0443\u0433\u0438 \u043f\u043e \u043e\u0431\u0440\u0435\u0437\u0438\u043d\u043e\u0432\u0430\u043d\u0438\u044e \u0432\u0430\u043b\u0435\u043d\u043e\u043a (\u0440\u044b\u0431\u0430\u0446\u043a\u0438\u0435 \u043a\u0430\u043b\u043e\u0448\u0438)', ... }\n]\n```\n\n## Profile API\n\nBalance:\n\n```python\n>>> dadata.get_balance()\n150.00\n```\n\nUsage stats:\n\n```python\n>>> dadata.get_daily_stats()\n{\n    'date': '2024-10-10',\n    'services': {\n        'clean': 200,\n        'company': 0,\n        'company_similar': 0,\n        'merging': 0,\n        'suggestions': 15000,\n    },\n    'remaining': {\n        'clean': 800,\n        'company': 50,\n        'company_similar': 0,\n        'merging': 15000,\n        'suggestions': 185000\n    }\n}\n```\n\nDataset versions:\n\n```python\n>>> dadata.get_versions()\n{\n    'dadata': { 'version': 'stable (9048:bf33b2acc8ba)' },\n    'factor': {\n        'resources': { ... },\n        'version': '20.06 (eb70078e)'\n    },\n    'suggestions': {\n        'resources': { ... },\n        'version': '20.5 (b55eb7c4)'\n    }\n}\n```\n\n## Development setup\n\n```sh\n$ python3 -m venv env\n$ . env/bin/activate\n$ make deps\n$ tox\n```\n\n## Contributing\n\nThis project only accepts bug fixes.\n\n## [Changelog](CHANGELOG.md)\n\nThis library uses [CalVer](https://calver.org/) with YY.MM.MICRO schema. See changelog for details specific to each release.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Data cleansing, enrichment and suggestions via Dadata API",
    "version": "25.7.0",
    "project_urls": {
        "Source": "https://github.com/hflabs/dadata-py"
    },
    "split_keywords": [
        "dadata",
        " clean",
        " suggest",
        " api"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dabbd7819222b16a1e5b7c9436122e9ec8106a322b454984b10045d090620c56",
                "md5": "5ecd72f65bc29a76bde352d24fefa2a5",
                "sha256": "0363dfe4e2a08ba6c4bdf064b2e6517d203b423fe61ad7eb131f4288b78a481c"
            },
            "downloads": -1,
            "filename": "dadata-25.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5ecd72f65bc29a76bde352d24fefa2a5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 10054,
            "upload_time": "2025-07-30T14:43:16",
            "upload_time_iso_8601": "2025-07-30T14:43:16.298977Z",
            "url": "https://files.pythonhosted.org/packages/da/bb/d7819222b16a1e5b7c9436122e9ec8106a322b454984b10045d090620c56/dadata-25.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "26f214c4dbfacbd6a4432909625b4e35e2c04f459dfb6fa8cd87451736f44a13",
                "md5": "24163fc6372a7cdc0a11f27bdfc5983e",
                "sha256": "b6b122ad261eb6b59452fea26ece31c44e6d2d73dee6319143534d0648556b62"
            },
            "downloads": -1,
            "filename": "dadata-25.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "24163fc6372a7cdc0a11f27bdfc5983e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 7883,
            "upload_time": "2025-07-30T14:43:17",
            "upload_time_iso_8601": "2025-07-30T14:43:17.287761Z",
            "url": "https://files.pythonhosted.org/packages/26/f2/14c4dbfacbd6a4432909625b4e35e2c04f459dfb6fa8cd87451736f44a13/dadata-25.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-30 14:43:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hflabs",
    "github_project": "dadata-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "dadata"
}
        
Elapsed time: 1.76960s