API Проверка на ЕГН

Endpoint

Parameters

Име Тип Задължително Описание
egn integer (10 цифри) Да ЕГН, което ще бъде проверено
Accept header Да application/json

Authorization

Не е необходима регистрация или токен.

Лимит: до 60 заявки на час от един IP адрес.

Изпратената информация не се записва никъде.

Request

POST /api/egn/validate
Host: egn.bg
Accept: application/json
Content-Type: application/x-www-form-urlencoded

egn=0000000000

Response

Валидно ЕГН:

{
  "valid": true,
  "result": {
    "data": {
      "year": 1968,
      "month": "03",
      "day": "25",
      "birthday_text": "25 март 1968 г.",
      "region_num": "912",
      "sex": 0,
      "sex_text": "мъж",
      "region_text": "Ямбол",
      "birthnumber": 5
    },
    "compiled": "0000000000 е ЕГН на мъж, роден на 25 март 1968 г. в регион Ямбол като преди него в този ден и регион са се родили 4 момчета"
  }
}
Параметър Тип Описание
valid boolean Показва дали ЕГН е валидно
result.data.* object Информация за датата, пола и региона
result.compiled html Човешко описание

Грешен формат (не са 10 цифри):

{
  "valid": false,
  "errors": {
    "egn": [
      "ЕГН трябва да съдържа точно 10 цифри."
    ]
  }
}
Параметър Тип Описание
valid boolean Винаги false
errors.egn array Списък с грешки

10 цифри, но невалидно ЕГН:

{
  "valid": false,
  "message": "Въведенето ЕГН не е валидно!"
}
Параметър Тип Описание
valid boolean false
message string Текстова грешка

Примери

cURL

curl -X POST https://egn.bg/api/egn/validate \
  -H "Accept: application/json" \
  -d "egn=0000000000"

Python (requests)

import requests

response = requests.post(
    "https://egn.bg/api/egn/validate",
    headers={"Accept": "application/json"},
    data={"egn": "0000000000"}
)
print(response.json())

JavaScript (fetch)

fetch("https://egn.bg/api/egn/validate", {
  method: "POST",
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/x-www-form-urlencoded"
  },
  body: new URLSearchParams({ egn: "0000000000" })
})
.then(res => res.json())
.then(data => console.log(data));

Vue.js

this.$http.post('https://egn.bg/api/egn/validate', 
  new URLSearchParams({ egn: this.egn }), 
  { headers: { Accept: 'application/json' } }
).then(res => {
  console.log(res.data);
});

PHP (cURL)

<?php
$ch = curl_init("https://egn.bg/api/egn/validate");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => "egn=0000000000",
    CURLOPT_HTTPHEADER => ["Accept: application/json"]
]);
$response = curl_exec($ch);
echo $response;
?>