Проект «Декларації» надає доступ до всіх наявних даних у машиночитному форматі JSON за допомогою простого відкритого API.
У новій версії API ми надали можливість користувачам сайту отримувати всі декларації, включно з зацифрованими паперовими (подавалися з 2011 по 2015 включно) та новими електронними деклараціями від НАЗК (подавалися з 2015), в одному, унифікованому форматі
Для доступу до даних у форматі JSON достатньо додати параметр адресного рядка "format=opendata" до майже будь-якої сторінки.
Наразі через відкритий API доступні такі URL:
- Усі декларації — http://declarations.com.ua/search?q=&format=opendata&page=<номер сторінки> (наприклад, http://declarations.com.ua/search?q=Суддя&format=opendata&page=2)
- Довільний пошук — http://declarations.com.ua/search?q=<пошуковий запит>&format=opendata&page=<номер сторінки> (наприклад, http://declarations.com.ua/search?q=Суддя&format=opendata&page=2)
- Окрема декларація — http://declarations.com.ua/declaration/<ID декларації>?format=opendata (наприклад, http://declarations.com.ua/declaration/5257?format=opendata)
Будь ласка, зауважте, що ви можете отримати машиночитну інформацію для пошукового запиту будь якої складності (включно з повнотекстовим пошуком, фільтрами, сортуванням та булевими операторами в запиті). Просто сформуйте бажаний запит до сайту за допомогою форми розширеного пошуку, а потім додайте до посилання в адресному рядку вашого браузера &format=opendata.
Ви також можете отримати інформацію з наступних сторінок за допомогою API:
- Всі регіони — http://declarations.com.ua/region?format=opendata
- Посади за регіоном — http://declarations.com.ua/region/<регіон>?format=opendata (наприклад, http://declarations.com.ua/region/Загальнодержавний регіон?format=opendata)
- Декларації за регіоном та відомством — http://declarations.com.ua/region/<регіон>/<відомство>?format=opendata&page=<номер сторінки> (наприклад, http://declarations.com.ua/region/Загальнодержавний регіон/Міністерство юстиції?format=opendata&page=2)
- Декларації за відомством, незалежно від регіону — http://declarations.com.ua/office/<відомство>?format=opendata&page=<номер сторінки> (наприклад, http://declarations.com.ua/office/Міністерство юстиції?format=opendata&page=2)
В тих випадках, де наявний параметр адресного рядка "page", у результатах використовується нумерація сторінок для скорочення кількості даних, що передаються.
Інформація щодо нумерації доступна за ключем "paginator" у словнику з ключем "results". Наприклад:
"paginator": {"per_page": 30, "count": 1139, "num_pages": 38}
Це означає що за даним запитом існує 1139 декларацій, розподілених на 38 сторінок по 30 декларацій на одну сторінку. Нумерація починається з одиниці.
Якщо у такому запиті не вказати параметр "page", то будуть передані результати для першої сторінки.
Для кожної декларації повертається документ, що складається з п'яти розділів:
- guid — унікальний строковий код документа
- infocard — коротенька картка документа, що описує декларанта (ПІБ, місце роботи та посада), тип декларації, тощо
- raw_source — для старих, паперових декларацій буде мати повний машиночитний документ декларації у старому форматі. Для нових декларацій НАЗК буде містити посилання на машиночитну копію декларації на сайті НАЗК
- unified_source — для старих декларацій буде мати декларацію, що була сконвертована зі старого формату, до нового, такого самого як в НАЗК. Для нових декларацій НАЗК буде містити повний документ декларації нового зразка з невеличкими корекціями формату, котрі ми робимо для уніфікації
- related_entities — містить інформацію щодо пов'язаних фізичних та юридичних осіб декларанта, а також документів. До фізичних осіб входить родина декларанта. До юридичних осіб входять ті компанії, в котрих декларант є бенефіціаром (owned, тільки ЄДРПОУ), має фінансовий зв'язок (related, тільки ЄДРПОУ), а також усі компанії, що були згадані в декларації (all, можуть зустрічатися як ЄДРПОУ так й назви). Нарешті, в пов'язаних документах містяться посилання на наявні виправлені (або оригінальні) декларації до поточної
Ви також можете отримати тільки ті розділи, що вам потрібні, додавши параметр section до адресного рядка, наприклад:
http://declarations.com.ua/search?q=&format=opendata§ion=infocard§ion=related_entities
Розділ guid присутній у відповіді завжди
Також можете ознайомитися з прикладом програми на python, що використовує API щоб завантажити та зберегти усі декларації з сайту (потребує бібліотеки requests):