Отрасль: Облака и хостинг. Актуально на 2026-10-24.
API виртуального хостинга Beget: информация об аккаунте и тарифе, домены и поддомены, DNS-записи, сайты, базы MySQL, FTP, cron, бэкапы, почта и статистика. Запрос — HTTP-вызов вида «раздел/метод» с логином и API-паролем, ответ — JSON. Для облачных сервисов Beget есть отдельный API с JWT-токенами на https://developer.beget.com.
Развернуть новый сайт клиента на хостинге: каталог сайта, домен, привязка.
AUTH='login=<логин>&passwd=<API-пароль>&output_format=json&input_format=json'
curl "https://api.beget.com/api/site/add?$AUTH" --data-urlencode 'input_data={"name": "shop.ru"}' -G
curl "https://api.beget.com/api/domain/addVirtual?$AUTH" --data-urlencode 'input_data={"hostname": "shop", "zone_id": 1}' -G
curl "https://api.beget.com/api/site/linkDomain?$AUTH" --data-urlencode 'input_data={"domain_id": <ID домена>, "site_id": <ID сайта>}' -G
Направить домен на другой сервер, добавить MX для почты или TXT для подтверждения.
curl -G "https://api.beget.com/api/dns/changeRecords?login=<логин>&passwd=<API-пароль>&input_format=json&output_format=json" \
--data-urlencode 'input_data={"fqdn": "shop.ru", "records": {
"A": [{"priority": 10, "value": "203.0.113.10"}],
"MX": [{"priority": 10, "value": "mx1.beget.com"}, {"priority": 20, "value": "mx2.beget.com"}],
"TXT": [{"priority": 10, "value": "v=spf1 redirect=beget.com"}]}}'
База для нового сайта или CMS.
curl -G "https://api.beget.com/api/mysql/addDb?login=<логин>&passwd=<API-пароль>&input_format=json&output_format=json" \
--data-urlencode 'input_data={"suffix": "shop", "password": "<пароль базы>"}'
Мониторинг тарифа и баланса и восстановление сайта после неудачного обновления.
curl -G "https://api.beget.com/api/backup/restoreFile?login=<логин>&passwd=<API-пароль>&input_format=json&output_format=json" \
--data-urlencode 'input_data={"backup_id": <ID бэкапа>, "paths": ["shop.ru/public_html/wp-content"]}'
https://api.beget.comhttps://api.beget.com/api/раздел/метод?параметрыТип: Другое
В каждом запросе передаются login (логин аккаунта) и passwd (API-пароль, URL-кодированный).
https://api.beget.com/api/user/getAccountInfo?login=user&passwd=mypassword
Тариф, баланс, дни до блокировки, использование и лимиты (сайты, домены, MySQL, квота, FTP, почта), параметры сервера и версии ПО. Значение лимита 2147483647 означает «без ограничений».
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
login |
query | string | да | Логин |
passwd |
query | string | да | API-пароль |
output_format |
query | string | нет | json (по умолчанию) |
Пример запроса:
https://api.beget.com/api/user/getAccountInfo?login=userlogin&passwd=password&output_format=json
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
login |
query | string | да | Логин |
passwd |
query | string | да | API-пароль |
status |
query | integer | да | 1 — включить, 0 — выключить |
ftplogin |
query | string | нет | Логин FTP-аккаунта; без него — основной аккаунт |
Пример запроса:
https://api.beget.com/api/user/toggleSsh?login=userlogin&passwd=password&status=1&ftplogin=ftploginname&output_format=json
В result: id, fqdn, date_add, auto_renew, date_register, date_expire, can_renew, registrar, is_under_control и др.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
login |
query | string | да | Логин |
passwd |
query | string | да | API-пароль |
В result: id, zone, price, price_renew, is_idn, min_period, max_period и др.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
login |
query | string | да | Логин |
passwd |
query | string | да | API-пароль |
Возвращает ID домена.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.hostname |
query | string | да | Имя домена без зоны |
input_data.zone_id |
query | integer | да | ID зоны |
Пример запроса:
https://api.beget.com/api/domain/addVirtual?login=userlogin&passwd=password&input_format=json&output_format=json&input_data={"hostname":"domain","zone_id": 1}
Снимает привязку к сайту и удаляет поддомены.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.id |
query | integer | да | ID домена |
Возвращает ID поддомена.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.subdomain |
query | string | да | Имя поддомена |
input_data.domain_id |
query | integer | да | ID родительского домена |
Регистрация возможна, если may_be_registered = true, pay_type = money или bonus_domain, in_system = false.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.hostname |
query | string | да | Имя без зоны |
input_data.zone_id |
query | integer | да | ID зоны из getZoneList |
input_data.period |
query | integer | да | Срок регистрации в годах |
Пример запроса:
https://api.beget.com/api/domain/checkDomainToRegister?login=userlogin&passwd=password&input_format=json&output_format=json&input_data={"hostname": "domain", "zone_id": 3, "period":1}
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
full_fqdn |
query | string | да | Полное имя домена |
php_version |
query | string | да | Новая версия PHP |
is_cgi |
query | boolean | нет | Режим CGI, по умолчанию false |
Пример запроса:
https://api.beget.com/api/domain/changePhpVersion?login=userlogin&passwd=password&full_fqdn=example.com&php_version=5.4&is_cgi=true&output_format=json
В result: is_under_control, is_beget_dns, is_subdomain, fqdn, records (по типам DNS, DNS_IP, A, MX, TXT; у записи value и priority), set_type (1 — A/MX/TXT, 2 — NS, 3 — CNAME).
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.fqdn |
query | string | да | Полное имя домена |
Пример запроса:
https://api.beget.com/api/dns/getData?login=userlogin&passwd=password&input_format=json&output_format=json&input_data={"fqdn":"beget.ru"}
Передаётся одна группа записей: A/MX/TXT (до 10 каждого типа), NS (только поддомены, до 10), CNAME (только поддомены, одна запись) или DNS (до 4, для доменов на Beget). У каждой записи priority и value.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.fqdn |
query | string | да | Полное имя домена |
input_data.records |
query | object | да | Записи по типам |
В result: id, path, domains (id, fqdn, php_version, ssl и др.).
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
login |
query | string | да | Логин |
passwd |
query | string | да | API-пароль |
Полный путь сайта — name/public_html.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.name |
query | string | да | Имя директории сайта, например site.ru |
Сайт начнёт открываться через 5–10 минут.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.domain_id |
query | integer | да | ID домена |
input_data.site_id |
query | integer | да | ID сайта |
В result: name, size, accesses[].name.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
login |
query | string | да | Логин |
passwd |
query | string | да | API-пароль |
Создание ставится в очередь и может занять несколько минут; создаётся доступ localhost.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.suffix |
query | string | да | Суффикс имени; login_suffix — не больше 16 символов |
input_data.password |
query | string | да | Пароль, от 6 символов |
В ответе: backup_id, date.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
login |
query | string | да | Логин |
passwd |
query | string | да | API-пароль |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
input_format |
query | string | да | json |
input_data.backup_id |
query | integer | да | ID бэкапа |
input_data.paths |
query | array | да | Пути от корня домашней директории |
input_format: plain (по умолчанию) или json; при json все аргументы метода передаются в input_data JSON-строкой, URL-кодированной.{"status": "success", "answer": ...}; результат метода — в answer.result. Ошибка метода приходит внутри успешного ответа: answer.status = error, массив answer.errors.stat (статистика), mail, ftp, cron; методы domain/getSubdomainList, deleteSubdomain, getDirectives, addDirectives, site/delete, freeze, unfreeze, mysql/addAccess, dropDb, backup/getLog и др.| Код | Описание |
|---|---|
AUTH_ERROR |
Ошибка авторизации |
INCORRECT_REQUEST |
Некорректный запрос |
NO_SUCH_METHOD |
Метод не существует |
INVALID_DATA |
Неверные данные (ошибка метода) |
LIMIT_ERROR |
Превышен лимит запросов |
METHOD_FAILED |
Метод не выполнен |
Если этого недостаточно — официальная документация: https://beget.com/ru/kb/api/beget-api JSON: https://mcp-everything.ru/api/integrations/beget. MCP: https://mcp-everything.ru/mcp