Към съдържанието
Питай законите

За разработчици — публичен API

Цялото българско законодателство, което този сайт използва — 6 900+ акта с история по броеве на Държавен вестник и текст към дата — е достъпно безплатно с API ключ, който всеки регистриран потребител създава тук, като JSON и като Akoma Ntoso XML, плюс нощен дъмп. Лиценз CC BY 4.0: ползвайте го, включително търговски, като посочите източника и сложите връзка.

Вашите ключове

Ключът е безплатен за всеки регистриран потребител — не е нужен абонамент. Влезте или се регистрирайте, и създайте ключ тук.

Не е официален текст. Това е реконструкция от Държавен вестник. Всеки акт носи status (в сила / отменен / още не е в сила — към днешна дата), audit_score (оценката на одита на корпуса, където има такава) и history (от коя дата насам редакцията към минал момент е надеждна). Акт, който одитът е отбелязал като сгрешен, се изброява, но текстът му се задържа (HTTP 409). Справочник, който подава грешен текст на нечия система за съответствие, вреди повече от празнина.

Бърз старт

KEY="sk_…"    # вашият ключ от таблицата по-горе
curl -H "Authorization: Bearer $KEY" "https://lsource.net/v1/acts?q=кодекс+на+труда"
curl -H "Authorization: Bearer $KEY" "https://lsource.net/v1/acts/kodeks-na-truda"
curl -H "Authorization: Bearer $KEY" "https://lsource.net/v1/acts/kodeks-na-truda/articles/344"
curl -H "Authorization: Bearer $KEY" "https://lsource.net/v1/acts/zakon-za-zashtita-na-potrebitelite/articles/143?as_of=2021-06-01"   # редакцията към дата (актове с история)
curl -H "Authorization: Bearer $KEY" "https://lsource.net/v1/acts/zakon-za-zashtita-na-potrebitelite/history"
curl -H "Authorization: Bearer $KEY" "https://lsource.net/v1/acts/kodeks-na-truda/akn" -o kt.xml                    # Akoma Ntoso 3.0
curl -O "https://lsource.net/v1/dump/latest.tar.gz?key=$KEY"                          # целият корпус (ключът може и в адреса)

Крайни точки

GETКакво връща
/v1/какво е това, лицензът, списък на крайните точки, брой актове
/v1/acts?q=&kind=&limit=&offset=търсене (или списък) на актове — kind: закон, кодекс, наредба, правилник, регламент, директива…
/v1/acts/recentпоследните редакции по ДВ в целия корпус
/v1/acts/{id}метаданни + произход: status, replaced_by, audit_score, history
/v1/acts/{id}/text?as_of=YYYY-MM-DDконсолидираният текст — днешният, или редакцията, обнародвана към датата (at= хеш от историята също работи)
/v1/acts/{id}/articlesномерата на членовете и главата/раздела, в които стоят
/v1/acts/{id}/articles/{n}?as_of=един член — днес или към дата
/v1/acts/{id}/historyхронологията на измененията: по един запис за всеки брой на ДВ
/v1/acts/{id}/changes?from=&to=кои броеве са пипали акта между две дати и общата разлика
/v1/acts/{id}/diff/{hash}какво е променил един брой (unified diff)
/v1/acts/{id}/akn?as_of=Akoma Ntoso 3.0 XML — структура, жизнен цикъл, FRBR идентичност
/v1/acts/{id}/transpositionБГ ↔ ЕС: кои директиви/регламенти актът казва, че въвежда — или (за директива) кои български актове я въвеждат; всеки ред е със самото изречение от акта
/v1/transposition?q=всички връзки „български акт → акт на ЕС“ от корпуса, с търсене по заглавие или номер
/v1/dump, /v1/dump/latest.tar.gzнощният дъмп: acts.jsonl + text/ + akn/
/v1/openapi.jsonспецификацията (OpenAPI 3.0)

Akoma Ntoso

Akoma Ntoso (OASIS LegalDocML) е международният XML стандарт за законодателство. Всеки акт се дава като <act> с йерархия chapter / section / article / paragraph / point, стабилни идентификатори (art_344__para_1), lifecycle с по едно събитие за всеки брой на ДВ и FRBR идентичност (актът / редакцията към дата / този файл). Преходните и допълнителните разпоредби са hcontainer с техните „§“. Произходът е в <proprietary>: статус, оценка от одита, „не е официален текст“. Когато формата на алинеите/точките не е разпозната, членът е едно <content> — никога отгатнат.

Правила

Идентификатори

{id} е слъгът на акта от /v1/acts (същият като в https://lsource.net/laws/{id}). Номер на член е „344“ или „128а“ — без „чл.“. Датите са YYYY-MM-DD и означават обнародване, не влизане в сила. as_of работи за актовете с реконструирана история (законите и наредбите); кодексите и конституцията се поддържат само с действащ текст — history.count е 0 и заявка към дата връща 404 с причина no-history.

Въпроси и проблеми: формата за контакт. Ако ползвате API-то в продукт или изследване, ще се радваме да научим.