Общо
RESTful API за българския търговски регистър
Допълнителни ресурси за разработчици
Контекстни файлове за LLM: За разработчици, използващи AI асистенти (като Claude, ChatGPT и други), предлагаме контекстни файлове: llms.txt (кратка версия) и llms-full.txt (пълна документация). Тези файлове могат да бъдат заредени в AI модели за по-добра интеграция и разбиране на API структурата.
REST API за достъп до данни за над 1 300 000 български компании — финансови отчети, контактни данни, собственици, свързани лица и несъстоятелност. Безплатен план до 300 заявки/ден.
Основни възможности
Автентикация
Всички API заявки изискват валиден API ключ. Ключът се предава чрез HTTP хедър:
X-API-Key: your_api_key_here 1. Регистрирайте се безплатно на companybook.bg/sign-up
2. Вземете своя API ключа от профила си
Дневни лимити на заявки
Формат на отговора
Всички отговори са в JSON формат с консистентна структура:
{
"results": [...],
"total": 1234
} Структура на обекти
Структура на обектите, които API-то връща
Юридическо лице (Company)
Основни данни (with_data=false)
{
"uic": "123456789", // ЕИК на юридическо лицета
"name": "Example Ltd", // Наименование
"legalForm": "ООД", // Правна форма
"status": "N", // Статус (N=активна, L=ликвидирана)
"transliteration": "Example OOD" // Транслитерация
} Пълни данни (with_data=true)
{
"company": {
// Основна информация
"id": "507f1f77bcf86cd799439011",
"uic": "123456789",
"companyName": {
"name": "Example Ltd",
"name_tags": ["exa", "xam"]
},
"companyNameTransliteration": {
"name": "Example OOD"
"name_tags": ["exa", "xam]
},
"legalForm": "Дружество с ограничена отговорност",
"status": "N",
// Адреси
"seat": {
"country": "България",
"region": "София",
"district": "София (столица)",
"municipality": "София",
"settlement": "София",
"area": "Център",
"street": "ул. Витоша",
"streetNumber": "15",
"block": "2",
"entrance": "А",
"floor": "3",
"apartment": "5",
"postCode": "1000",
"districtid": 1
},
"correspondenceSeat": { /* същата структура */ },
// Контакти
"contacts": {
"email": "[email protected]",
"phone": "+359 2 123 4567",
"fax": "+359 2 123 4568",
"website": "https://example.com"
},
// Дейност
"subjectOfActivity": "Консултантски услуги",
"nkids": [
{
"code": "62.02",
"description": "Дейности в областта на информационните технологии",
"id": "nkid123"
}
],
// Мениджмънт
"managers": [
{
"name": "Иван Петров",
"indent": "1234567890",
"address": "София, ул. Витоша 1"
}
],
"representatives": [ /* същата структура */ ],
"boardOfDirectors": [ /* същата структура */ ],
// Финансова информация
"capital": {
"amount": "2000",
"currency": "BGN",
"paidAmount": "2000"
},
// Собственост
"partners": [
{
"person": {
"name": "Иван Петров",
"indent": "1234567890",
"address": "София"
},
"liabilityType": "ограничена",
"contribution": "1000 BGN"
}
],
// ДДС регистрация
"registerInfo": {
"name": "Example Ltd",
"vat": "BG123456789",
"address": "София, ул. Витоша 1",
"registrationDate": "2020-01-15"
},
// Метаданни
"lastUpdated": "2024-01-15T10:30:00Z"
},
// История на промените
"history": [
{
"deedUIC": "123456789",
"timestamp": "2024-01-15T10:30:00Z",
"changeType": "address_change",
"field": "seat.address",
"oldValue": "ул. Стара 5",
"newValue": "ул. Витоша 1"
}
],
// Дъщерни фирми
"daughters": [
{
"uic": "987654321",
"company_name": {
"name": "Subsidiary Ltd"
},
"roles": [
{
"position": "Manager",
"from": "2022-05-01",
"until": null,
}
]
}
]
} Забележка: Пълните данни съдържат всички налични полета за юридическо лицета.
Някои полета могат да липсват в зависимост от наличната информация.
Лице (Person)
Основни данни (with_data=false)
{
"id": "507f1f77bcf86cd799439011", // Уникален идентификатор
"name": "Иван Петров", // Име на лицето
"indent": "aaaaxxxxxxxxxxxxxxxx", // Indent/
"companies": 3 // Брой свързани фирми
} Пълни данни (with_data=true)
{
"_id": "507f1f77bcf86cd799439011",
"indent": "1234567890",
"name": "Иван Петров",
"nameTags": ["иван", "петров", "ivan", "petrov"],
// Всички фирми, в които участва лицето
"personCompanies": [
{
"uic": "123456789",
"legalForm": "Дружество с ограничена отговорност",
"share": "50.00", // Дял в компанията (ако е съдружник)
"company_name": {
"name": "Example Ltd",
"name_tags": ["example", "ltd"]
},
"roles": [
{
"position": "Manager", // Длъжност/роля
"from": "2020-01-15", // От дата
"until": null, // До дата (null = активен)
},
{
"position": "Partner",
"from": "2020-01-15",
"until": null,
"share": 50
}
]
},
{
"uic": "987654321",
"company_name": {
"name": "Another Company"
},
"roles": [
{
"position": "BoardMember",
"from": "2021-03-10",
"until": "2023-12-31", // Неактивна роля
"share": null
}
]
}
]
} personCompanies обяснение:
- position: Роля в компанията (управител, съдружник, член на СД, и др.)
- from/until: Период на валидност на ролята
- share: Дял в компанията (за съдружници/акционери)
- Активни роли: until = null означава, че ролята е все още активна
Обединено търсене
{
"companies": [
{
"uic": "123456789",
"name": "Example Ltd",
"legalForm": "ООД",
"status": "N",
"transliteration": "Example OOD"
}
],
"people": [
{
"id": "507f1f77bcf86cd799439011",
"name": "Иван Петров",
"indent": "1234567890",
"companies": 3
}
]
} Информация за типове данни
Статус на фирми
| Код | Описание |
|---|---|
N | Активна юридическо лице |
E | Активна юридическо лице (ЕООД) |
L | Ликвидирана |
C | Заличена |
Правни форми
| Форма | Описание |
|---|---|
| ООД | Дружество с ограничена отговорност |
| ЕООД | Еднолично дружество с ограничена отговорност |
| АД | Акционерно дружество |
| ЕТ | Едноличен търговец |
| СД | Събирателно дружество |
| КД | Командитно дружество |
| ЕАД | Еднолично акционерно дружество |
| Фондация | Фондация |
| Сдружение | Сдружение |
Областни кодове
| ID | Област |
|---|---|
1 | София (столица) |
31 | Бургас |
32 | Варна |
45 | Пловдив |
30 | Благоевград |
33 | Велико Търново |
34 | Видин |
35 | Враца |
36 | Габрово |
37 | Добрич |
38 | Кърджали |
39 | Кюстендил |
40 | Ловеч |
41 | Монтана |
42 | Пазарджик |
43 | Перник |
44 | Плевен |
46 | Разград |
47 | Русе |
48 | Силистра |
49 | Сливен |
50 | Смолян |
51 | София |
52 | Стара Загора |
53 | Търговище |
54 | Хасково |
55 | Шумен |
56 | Ямбол |
Фирми
API endpoints за работа с фирми
Получаване на юридическо лице по ЕИК
Извличане на подробна информация за конкретно юридическо лице.
/api/companies/:uic Параметри
Отговор
Основни данни (with_data=false):
{
"uic": "123456789",
"name": "Example Ltd",
"legalForm": "ООД",
"status": "N",
"transliteration": "Example OOD"
} Пълни данни (with_data=true):
{
"company": { /* пълни данни */ },
"history": [ /* история */ ],
"daughters": [ /* дъщерни фирми */ ]
} Примери за код
// Получаване на юридическо лице по ЕИК
async function getCompany(uic, withData = false) {
const response = await fetch(
`https://api.companybook.bg/api/companies/${uic}?with_data=${withData}`,
{
headers: { "X-API-Key": "your_api_key_here" }
}
);
return await response.json();
}
// Примери за използване
// Основни данни
const basicData = await getCompany("{uic}");
// Пълни данни (включва история, дъщерни фирми)
const fullData = await getCompany("{uic}", true); import requests
API_KEY = "your_api_key_here"
HEADERS = {"X-API-Key": API_KEY}
# Получаване на юридическо лице по ЕИК
def get_company(uic, with_data=False):
response = requests.get(
f"https://api.companybook.bg/api/companies/{uic}",
params={"with_data": str(with_data).lower()},
headers=HEADERS
)
return response.json()
# Примери за използване
basic_data = get_company("{uic}")
full_data = get_company("{uic}", True) # Получаване на юридическо лице с основни данни
curl "https://api.companybook.bg/api/companies/{uic}" \
-H "X-API-Key: your_api_key_here"
# Получаване на юридическо лице с пълни данни (история, дъщерни фирми)
curl "https://api.companybook.bg/api/companies/{uic}?with_data=true" \
-H "X-API-Key: your_api_key_here" Лица
API endpoints за работа с лица
Получаване на лице по идентификатор
Извличане на подробна информация за конкретно лице.
/api/people/:indent Параметри
Отговор
Основни данни (with_data=false):
{
"id": "507f1f77bcf86cd799439011",
"name": "Иван Петров",
"indent": "1234567890",
"companies": 3
} Пълни данни (with_data=true):
{
"_id": "507f1f77bcf86cd799439011",
"indent": "1234567890",
"name": "Иван Петров",
"personCompanies": [ /* всички фирми */ ],
"nameTags": [ /* тагове */ ]
} Примери за код
// Получаване на лице по идентификатор
async function getPerson(indent, withData = false) {
const response = await fetch(
`https://api.companybook.bg/api/people/${indent}?with_data=${withData}`,
{
headers: { "X-API-Key": "your_api_key_here" }
}
);
return await response.json();
}
// Основни данни
const basicData = await getPerson("{indent}");
// Пълни данни (включва всички фирми)
const fullData = await getPerson("{indent}", true); import requests
API_KEY = "your_api_key_here"
HEADERS = {"X-API-Key": API_KEY}
# Получаване на лице по идентификатор
def get_person(indent, with_data=False):
response = requests.get(
f"https://api.companybook.bg/api/people/{indent}",
params={"with_data": str(with_data).lower()},
headers=HEADERS
)
return response.json()
basic_data = get_person("{indent}")
full_data = get_person("{indent}", True) # Получаване на лице с основни данни
curl "https://api.companybook.bg/api/people/{indent}" \
-H "X-API-Key: your_api_key_here"
# Получаване на лице с пълни данни (всички фирми)
curl "https://api.companybook.bg/api/people/{indent}?with_data=true" \
-H "X-API-Key: your_api_key_here" Търсене на лица
Търсене на лица по име.
/api/people/search Query параметри
name * string Име на лице with_data boolean Пълни данни limit integer Брой резултати Отговор
{
"results": [
{
"id": "507f1f77bcf86cd799439011",
"name": "Иван Петров",
"indent": "1234567890",
"companies": 3
}
],
"total": 42
} Примери за търсене
// Търсене на лица
async function searchPeople(name, limit = 20) {
const response = await fetch(
`https://api.companybook.bg/api/people/search?name=${encodeURIComponent(name)}&limit=${limit}`,
{
headers: { "X-API-Key": "your_api_key_here" }
}
);
return await response.json();
}
const people = await searchPeople("Иван Петров"); # Търсене на лица
def search_people(name, limit=20):
response = requests.get(
"https://api.companybook.bg/api/people/search",
params={"name": name, "limit": limit},
headers=HEADERS
)
return response.json()
people = search_people("Иван Петров") # Търсене на лица по име curl "https://api.companybook.bg/api/people/search?name=Иван" \ -H "X-API-Key: your_api_key_here" # Търсене с лимит curl "https://api.companybook.bg/api/people/search?name=Петров&limit=30" \ -H "X-API-Key: your_api_key_here"
API за финансови данни
Крайни точки за получаване на финансова информация за компании
Модели на данни
TypeScript интерфейси за финансовите данни.
FinancialData
interface FinancialData {
id?: string;
uic: string;
financial_data: Record<string, YearData>;
last_updated: string;
has_2024_data?: boolean;
} YearData
interface YearData {
income_statement: IncomeStatement;
balance_sheet: BalanceSheet;
general_info: GeneralInfo;
} IncomeStatement
interface IncomeStatement {
revenue: {
total: number;
net_total: number;
};
expenses: {
operating: number;
materials_and_services: number;
personnel: number;
depreciation_and_amortization: number;
interest_and_other_financial_expenses: number;
other: number;
total: number;
accounting_profit: number;
tax: number;
profit: number;
};
} BalanceSheet
interface BalanceSheet {
assets: {
intangible: number;
property_plant_equipment: number;
long_term_financial: number;
non_current: number;
inventories: number;
accounts_receivable: number;
current: number;
cash_and_equivalents: number;
total: number;
};
liabilities: {
equity: number;
retained_earnings: number;
total_exp: number;
total_liabilities: number;
current: number;
financial_institutions_debt: number;
trade_payables: number;
other: number;
};
} GeneralInfo
interface GeneralInfo {
// Core metrics
revenue: number;
profit: number;
accounting_profit: number;
tax: number;
operating_expenses: number;
personnel_expenses: number;
total_assets: number;
equity: number;
retained_earnings: number;
// Asset breakdown
intangible: number;
tangible: number;
non_current: number;
current: number;
accounts_receivable: number;
// Calculated ratios
roa: number; // Return on Assets (%)
profit_margin: number; // Net Profit Margin (%)
operating_margin: number; // Operating Margin (%)
roe: number; // Return on Equity (%)
current_ratio: number; // Liquidity Ratio
equity_ratio: number; // Financial Autonomy (%)
EBITDA: number; // Earnings Before Interest, Taxes, Depreciation, and Amortization
} Получаване на финансови данни на компания
Получаване на пълна финансова информация за компания по УИК включително отчети за приходи и разходи, баланс и ключови показатели.
/api/companies/:uic/financial Параметри
Контрол на достъпа
Дневни лимити
Лимитите за достъп до финансови данни през API зависят от вашия план:
Структура на отговора
{
"uic": "123456789",
"last_updated": "2024-01-15",
"financial_data": {
"2023": {
"income_statement": { ... },
"balance_sheet": { ... },
"general_info": {
"revenue": 1000000.0,
"profit": 135000.0,
"roa": 15.7,
"profit_margin": 13.5,
"roe": 22.5,
// ... други показатели
}
}
},
"has_2024_data": true
} Примери с код
// Получаване на финансови данни на компания
async function getCompanyFinancial(uic) {
const response = await fetch(
`https://api.companybook.bg/api/companies/${uic}/financial`,
{
headers: { "X-API-Key": "your_api_key_here" }
}
);
return await response.json();
}
const financialData = await getCompanyFinancial("123456789");
// Достъп до данни за конкретна година
const year2023 = financialData.financial_data["2023"];
console.log("Приходи 2023:", year2023.general_info.revenue); import requests
API_KEY = "your_api_key_here"
HEADERS = {"X-API-Key": API_KEY}
# Получаване на финансови данни на компания
def get_company_financial(uic):
response = requests.get(
f"https://api.companybook.bg/api/companies/{uic}/financial",
headers=HEADERS
)
return response.json()
financial_data = get_company_financial("123456789")
year_2023 = financial_data["financial_data"]["2023"]
print("Приходи 2023:", year_2023["general_info"]["revenue"]) # Получаване на финансови данни за компания curl "https://api.companybook.bg/api/companies/123456789/financial" \ -H "X-API-Key: your_api_key_here" # С BG префикс curl "https://api.companybook.bg/api/companies/BG123456789/financial" \ -H "X-API-Key: your_api_key_here"
Финансови показатели
Подробно описание на всички налични финансови показатели и техните изчисления.
Основни показатели
revenue Общи приходи profit Нетна печалба total_assets Общи активи equity Собствен капитал Финансови коефициенти
roa Рентабилност на активите (%) roe Рентабилност на капитала (%) profit_margin Норма на печалбата (%) current_ratio Коефициент на ликвидност Грешки и статус кодове
HTTP Status Codes
| Status | Описание | Когато се случва |
|---|---|---|
| 200 | Успех | Заявката е изпълнена успешно |
| 400 | Лоша заявка | Невалидни или липсващи параметри |
| 401 | Неоторизиран | Липсващ или невалиден API ключ |
| 403 | Забранен достъп | API ключът няма достъп до този ресурс |
| 404 | Не е намерено | Търсеният обект не съществува |
| 429 | Твърде много заявки | Превишен лимит на заявки |
| 500 | Сървърна грешка | Вътрешна грешка на сървъра |
Формат на грешките
Всички грешки се връщат в следния JSON формат:
{
"error": "Описание на грешката"
}