До 10 результатов за запускВойтиСнять лимиты · от €5

Для внешнего API нужен токен подтверждённого аккаунта. Аккаунт

API документация

Генерация случайных данных через HTTP. Все методы ниже используют GET и возвращают JSON.

Как пользоваться API

GET /api/v1/*

Внешний API доступен только зарегистрированным пользователям с подтверждённым email. Все эндпоинты, включая каталоги, требуют пользовательский Bearer-токен. До 100 результатов за запуск. Сохраняются технические пределы: до 10 000 результатов в запросе, до 20 000 значений полей в конструкторе, естественные пределы генераторов и квоты внешних сервисов. Обычный API: 60 запросов/мин.

  1. Зарегистрируйтесь, подтвердите email и войдите. Откройте «Аккаунт» → «Токен API» → «Показать токен» и скопируйте его. Аккаунт ↗
  2. Передавайте токен только в заголовке Authorization: Bearer TOKEN. Замените TOKEN своим значением без кавычек вокруг него. Публичный ключ Supabase для этого не подходит.
  3. Выберите эндпоинт ниже, скопируйте URL и задайте параметры из его таблицы. Примеры используют генератор целых чисел; изменяйте путь и параметры для других генераторов.

Сейчас используется временный access token сессии Supabase, а не постоянный API-ключ. Его срок задаётся настройками проекта. При 401 снова откройте аккаунт, войдите при необходимости и скопируйте актуальный токен. Статический токен в скрипте сам не обновляется. Не публикуйте токен: он даёт права вашей сессии.

Запрос

Запросы: GET по HTTPS; параметры передаются в query string, без JSON-тела. Кодируйте значения через URLSearchParams или аналог библиотеки; один параметр — одно значение. count — положительное целое, в большинстве генераторов до 10000; точные пределы и доступные значения указаны ниже. Открытие ссылки без заголовка токена вернёт 401.

GET https://rand.by/api/v1/integer?count=3&min=1&max=100
Authorization: Bearer TOKEN

Ответ

Успех: HTTP 200 и JSON с массивом items. Тип элементов зависит от генератора. Каталоги имеют отдельную структуру: money/currencies возвращает asOf и items, geo/catalog — объект каталога. Ответы не кешируются. Сначала проверяйте HTTP-статус, затем разбирайте JSON; пример чисел справа условный.

{ "items": [42, 7, 91] }

Готовые примеры и настройка

Для серверных примеров задайте RANDBY_API_TOKEN в окружении процесса; команда export показана во вкладке curl, вариант Windows — в PowerShell. Затем выполните подготовку выбранного примера. Не сохраняйте секреты в Git, URL, логах или публичных переменных Nuxt. В браузере используйте только токен текущего пользователя; общий токен храните на сервере. Пример маршрута Nuxt требует вашей собственной авторизации и ограничения частоты, иначе он откроет общий доступ к вашему токену через прокси.

Подготовка

export RANDBY_API_TOKEN='PASTE_TOKEN_HERE'

curl

curl --fail-with-body --max-time 15 --get 'https://rand.by/api/v1/integer' \
  --header "Authorization: Bearer $RANDBY_API_TOKEN" \
  --data-urlencode 'count=3' \
  --data-urlencode 'min=1' \
  --data-urlencode 'max=100'
Ошибки и действия
400Неверные параметры, повторяющиеся значения или превышение технического предела. Проверьте таблицу эндпоинта и исправьте запрос.
401Токен отсутствует, недействителен или истёк; также проверьте подтверждение email. Получите актуальный токен в аккаунте и повторите запрос.
404Неизвестный путь или генератор. Проверьте URL; для API не нужен языковой префикс вроде /en.
429Превышена частота публичного демо. Подождите минуту; не повторяйте запросы в цикле без задержки.
503Сервис проверки авторизации временно недоступен или не настроен. Повторите позже; проверьте конфигурацию Supabase, если вы владелец сервиса.

Песочница ниже работает без токена через отдельный демо-маршрут: до 10 записей и 60 запросов в минуту на IP. Это демонстрация. Внешний /api/v1/* остаётся закрытым и использует технические пределы эндпоинтов.

Генерация по seed для CI

POSTPremium

Одинаковые схема и seed дают одинаковые тестовые данные при той же версии генерации и тех же справочниках.

  1. API-ключи для CI · Создайте ключ и сохраните его в CI как секрет RANDBY_CI_KEY.
  2. Экспорт схемы · Экспортируйте схему Builder в JSON и храните рядом с тестовыми данными.
  3. Выберите пример ниже и запустите его из папки с экспортированной схемой.

Передавайте CI-ключ Premium в заголовке Authorization и храните его в секретах CI. Ключ действует 90 дней. Для ротации создайте новый ключ, обновите секрет и отзовите старый после успешного запуска.

Запрос

Отправьте POST-запрос с заголовком Content-Type application/json. В теле запроса три поля.

schema
Обязательный JSON-объект. Передайте содержимое экспортированной схемы Builder вместе со связанными таблицами.
seed
Обязательная непустая строка до 128 символов. Оставьте seed прежним для повтора или измените его для новой выборки.
version
Необязательная версия генерации. Текущее значение и значение по умолчанию — v1. В CI указывайте её явно.
POST https://rand.by/api/builder/ci/generate
Authorization: Bearer CI_KEY
Content-Type: application/json

{
  "schema": {
    "version": 1,
    "count": 2,
    "fields": [
      {
        "id": "id",
        "path": "id",
        "generator": "sequence",
        "output": "value",
        "settings": {
          "start": 1,
          "step": 1
        },
        "array": false,
        "size": 1,
        "nullPercent": 0
      }
    ]
  },
  "seed": "fixtures-v1",
  "version": "v1"
}

Ответ

Ответ содержит version и либо items и columns, либо tables для схемы с несколькими таблицами. Для повторного прогона используйте ту же схему и seed.

Одна таблица

{
  "version": "v1",
  "columns": [
    "id"
  ],
  "items": [
    {
      "id": 1
    },
    {
      "id": 2
    }
  ]
}

Несколько таблиц

{
  "version": "v1",
  "tables": [
    {
      "id": "main",
      "name": "users",
      "columns": [
        "id"
      ],
      "items": [
        {
          "id": 1
        }
      ]
    },
    {
      "id": "orders",
      "name": "orders",
      "columns": [
        "user_id"
      ],
      "items": [
        {
          "user_id": 1
        }
      ]
    }
  ]
}

Храните схему, seed и версию генерации в репозитории или настройках задачи. Изменения схемы, генератора или справочников могут изменить результат. Данные по seed предназначены для тестов.

До 8 таблиц, 10 000 строк суммарно и 20 000 значений за запрос с учётом элементов массивов. Лимит — 60 запросов в минуту на аккаунт.

Готовые примеры и настройка

Примеры читают randby-builder-schema.json и записывают fixtures.json. Сохраните код под именем из блока «Подготовка». В GitHub Actions добавьте шаг после checkout и используйте файл в следующем шаге.

Подготовка

bash --version
curl --version
jq --version
bash generate-fixtures.sh

curl + jq

set -euo pipefail
: "${RANDBY_CI_KEY:?RANDBY_CI_KEY is required}"

jq -n --slurpfile schema randby-builder-schema.json --arg seed 'fixtures-v1' \
  '{schema: $schema[0], seed: $seed, version: "v1"}' |
  curl --fail --silent --show-error --max-time 60 'https://rand.by/api/builder/ci/generate' \
    --header "Authorization: Bearer $RANDBY_CI_KEY" \
    --header 'Content-Type: application/json' \
    --data-binary @- --output fixtures.json
Ошибки и действия
400Некорректный JSON, seed, версия или схема. При ошибке схемы проверьте data.code и data.field в ответе.
401Ключ отсутствует, неверен, просрочен или отозван, либо Premium неактивен. Проверьте секрет и аккаунт.
413Тело запроса больше 260 КиБ. Уменьшите размер схемы.
429Превышен лимит запросов. Подождите минуту перед повтором.
502Сервер не смог сгенерировать данные. Если схема корректна, повторите запрос позже.
503Сервис проверки ключей временно недоступен. Повторите запрос позже.

Эндпоинты API

Выберите метод, изучите его параметры и откройте песочницу. Измените строку запроса и выполните GET-запрос, чтобы увидеть реальный JSON-ответ сервера.

URL сам по себе не авторизует запрос. Получите токен в аккаунте и передайте его в заголовке Authorization: Bearer TOKEN. Не добавляйте токен в URL. Для проверки без токена используйте песочницу в документации. Как пользоваться API

Целые числа

GET /api/v1/integer

Генерация отрицательных и положительных целых чисел

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество генерируемых чисел
(Целое число от 1 до 10000)
100
min
Левая граница диапазона генерируемых чисел
(Целое число от -100000000 до 100000000)
-100
max
Правая граница диапазона генерируемых чисел
(Целое число от -100000000 до 100000000)
100
round
Округление полученных чисел до ближайших кратных заданному в этом параметре числу. Например, нужно получить набор чисел, кратных 50. Таким образом 2489 станет 2500, 131 станет 100, а 851 станет 900
0
Пример URL с параметрамиhttps://rand.by/api/v1/integer?count=10

Песочница: до 10 записей, до 60 запросов в минуту.

Вещественные числа

GET /api/v1/float

Генерация вещественных чисел с заданной точностью

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество генерируемых чисел
(Целое число от 1 до 10000)
100
min
Левая граница диапазона генерируемых чисел
(Целое число от -100000000 до 100000000)
-1
max
Правая граница диапазона генерируемых чисел
(Целое число от -100000000 до 100000000)
1
precision
Количество знаков после запятой
(от 1 до 8).
2
Пример URL с параметрамиhttps://rand.by/api/v1/float?count=5&precision=4

Песочница: до 10 записей, до 60 запросов в минуту.

Байты

GET /api/v1/byte

Генерация байтов в различных системах счисления

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество генерируемых байтов
(Целое число от 1 до 10000)
100
min
Левая граница диапазона генерируемых байтов
(Целое число от 0 до 255)
0
max
Правая граница диапазона генерируемых байтов
(Целое число от 0 до 255)
255
radix
Система счисления генерируемых байтов
(2, 8, 10 или 16).
10
Пример URL с параметрамиhttps://rand.by/api/v1/byte?count=5&radix=16

Песочница: до 10 записей, до 60 запросов в минуту.

Пароли

GET /api/v1/password

Генерация взломоустойчивых паролей

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество генерируемых паролей
(Целое число от 1 до 10000)
1
min
Минимальная длина генерируемого пароля
(Целое число от 1 до 64)
8
max
Максимальная длина генерируемого пароля
(Целое число от 1 до 64)
12
digits
Количество цифр в пароле
(Целое число от 0 до 64).
2
capitals
Количество букв верхнего регистра в пароле
(Целое число от 0 до 64).
2
special
Количество спецсимволов в пароле
(Целое число от 0 до 64).
2
Пример URL с параметрамиhttps://rand.by/api/v1/password?min=24&max=24&digits=4&capitals=4&special=0

Песочница: до 10 записей, до 60 запросов в минуту.

Время

GET /api/v1/time

Генерация случайного времени суток

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество генерируемых времен
(Целое число от 1 до 1440)
10
min
Левая граница диапазона генерируемых времен
(от 00:00 до 23:59)
08:00
max
Правая граница диапазона генерируемых времен
(от 00:00 до 23:59)
17:00
interval
Интервал генерируемых времен
(Целое число от 1 до 60).
1
sort
Сортировка результатов
("asc" - по возрастанию, "desc" - по убыванию или "none" - без сортировки).
none
Пример URL с параметрамиhttps://rand.by/api/v1/time?interval=5&sort=asc

Песочница: до 10 записей, до 60 запросов в минуту.

Дата

GET /api/v1/date

Генерация случайных календарных дат в различных форматах

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество дат: целое число от 1 до 10000.
10
min
Левая граница диапазона генерируемых дат в формате "ГГГГ-ММ-ДД"
Формат может отличаться, но важно, чтобы он был валиден для функции Date.parse()
0000-01-01
max
Правая граница диапазона генерируемых дат в формате "ГГГГ-ММ-ДД"
Формат может отличаться, но важно, чтобы он был валиден для функции Date.parse()
2999-12-31
format
Формат отображения генерируемых дат
Подробнее о форматах можно прочитать здесь.
DD.MM.YYYY
locale
Языковая локаль генерируемых дат
Двухбуквенный код стандарта ISO 639-1
en (резервная локаль)
days
Дни недели, которые следует включать в набор генерируемых дат (целые числа от 1 до 7, разделенные запятой. 1 - понедельник, 7 - воскресенье)
Если параметр не задан, сгенерирован будет любой день недели
1,2,3,4,5,6,7
sort
Сортировка результатов
("asc" - по возрастанию, "desc" - по убыванию или "none" - без сортировки).
none
Пример URL с параметрамиhttps://rand.by/api/v1/date?min=2021-01-01&max=2025-12-31&format=DD.MM.YYYY&locale=ru

Песочница: до 10 записей, до 60 запросов в минуту.

WEB-цвета

GET /api/v1/color

Генерация цветовых кодов в разных форматах

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество генерируемых элементов
(Целое число от 1 до 10000)
1
Пример URL с параметрамиhttps://rand.by/api/v1/color?count=3

Песочница: до 10 записей, до 60 запросов в минуту.

Географические координаты

GET /api/v1/geo

Генерируйте координаты по всему миру, только на суше или на выбранном континенте. Выбирайте случайные города и аэропорты с названиями и IATA-кодами.

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество результатов: целое число от 1 до 10000, по умолчанию 1.
1
mode
coordinates — весь мир, land — без океанов, city — города, airport — аэропорты с IATA.
coordinateslandcityairport
coordinates
continent
any либо AF, AN, AS, EU, NA, OC, SA. Выбранный континент ограничивает координаты сушей. Если в каталоге нет подходящих записей, возвращается 400.
anyAFANASEUNAOCSA
any
Пример URL с параметрамиhttps://rand.by/api/v1/geo?count=3&mode=city&continent=EU

Песочница: до 10 записей, до 60 запросов в минуту.

Генератор случайных имен

GET /api/v1/names

Случайные имена с заданным порядком частей и данными о культуре. Массив items содержит fullName, locale, sex, firstName, lastName и patronymic. Невыбранные или недоступные части — null. Некорректные параметры возвращают HTTP 400. Уникальность и проверка личности не предусмотрены.

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество имен: целое число от 1 до 10000.
10
locales
Неповторяющиеся коды культур имен через запятую или be для белорусских имен. Все доступные коды перечислены ниже. Одна культура на имя, равные вероятности. Отмеченные локали используют английский словарь при отсутствии данных.
af_ZAarazbebn_BDcs_CZcydadede_ATde_CHdvelenen_AUen_AU_ockeren_BORKen_CAen_GBen_GHen_HKen_IEen_INen_NGen_USen_ZAeoeses_MXfafifrfr_BEfr_CAfr_CHfr_LUfr_SNhehrhuhyid_IDitjaka_GEkoku_ckbku_kmr_latinlvmknb_NOnenlnl_BEplpt_BRpt_PTroro_MDrusksl_SIsr_RS_latinsvta_INthtrukuruz_UZ_latinviyo_NGzh_CNzh_TWzu_ZA
ru
parts
Неповторяющиеся части в порядке вывода: firstName, lastName, patronymic. Отчества только для ru, be, uk, иначе пропускаются. При выборе только отчества используются совместимые культуры; если их нет — 400.
firstName,lastName
sex
Формы имен: any, male или female. В режиме any мужские и женские имена равновероятны для каждой записи.
any
Пример URL с параметрамиhttps://rand.by/api/v1/names?count=5&locales=ar,zh_CN,ru&parts=lastName,firstName,patronymic&sex=any

Песочница: до 10 записей, до 60 запросов в минуту.

Генератор случайных email-адресов

GET /api/v1/email

Генерируйте случайные email-адреса: выбирайте культуру имен, случайных провайдеров, тестовые домены или свой домен и основу имени пользователя.

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество адресов: целое число от 1 до 10000.
10
locale
Один код культуры имен из списка ниже. По умолчанию: en.
af_ZAarazbebn_BDcs_CZcydadede_ATde_CHdvelenen_AUen_AU_ockeren_BORKen_CAen_GBen_GHen_HKen_IEen_INen_NGen_USen_ZAeoeses_MXfafifrfr_BEfr_CAfr_CHfr_LUfr_SNhehrhuhyid_IDitjaka_GEkoku_ckbku_kmr_latinlvmknb_NOnenlnl_BEplpt_BRpt_PTroro_MDrusksl_SIsr_RS_latinsvta_INthtrukuruz_UZ_latinviyo_NGzh_CNzh_TWzu_ZA
en
mode
free: случайные провайдеры; example: example.com/net/org; custom: домен из provider.
free
provider
Обязателен только при mode=custom. Домен без URL, порта и адреса почты. Международные домены преобразуются в ASCII.
firstName
Необязательная основа имени, до 80 символов; пустое значение — случайное. Генератор может нормализовать, транслитерировать или пропускать части.
lastName
Необязательная основа имени, до 80 символов; пустое значение — случайное. Генератор может нормализовать, транслитерировать или пропускать части.
allowSpecialCharacters
true или false: дополнительные знаки пунктуации в части адреса до домена.
false
Пример URL с параметрамиhttps://rand.by/api/v1/email?count=5&mode=example&locale=en&firstName=Jane&lastName=Doe

Песочница: до 10 записей, до 60 запросов в минуту.

Генератор случайных денежных сумм

GET /api/v1/money

Генерируйте случайные денежные суммы в заданном диапазоне. Выбирайте несколько валют и отдельную локаль форматирования для каждой валюты.

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество сумм: целое число от 1 до 10000.
10
min
Включительная граница от -1000000000 до 1000000000, до 4 дробных знаков. Точка или запятая, без разделителей тысяч.
0
max
Включительная граница от -1000000000 до 1000000000, до 4 дробных знаков. Точка или запятая, без разделителей тысяч.
1000
currencies
Неповторяющиеся коды валют через запятую. Для каждой записи одна валюта выбирается равновероятно.
AEDAFNALLAMDAOAARSAUDAWGAZNBAMBBDBDTBHDBIFBMDBNDBOBBRLBSDBTNBWPBYNBZDCADCDFCHFCLPCNYCOPCRCCUPCVECZKDJFDKKDOPDZDEGPERNETBEURFJDFKPGBPGELGHSGIPGMDGNFGTQGYDHKDHNLHTGHUFIDRILSINRIQDIRRISKJMDJODJPYKESKGSKHRKMFKPWKRWKWDKYDKZTLAKLBPLKRLRDLSLLYDMADMDLMGAMKDMMKMNTMOPMRUMURMVRMWKMXNMYRMZNNADNGNNIONOKNPRNZDOMRPABPENPGKPHPPKRPLNPYGQARRONRSDRUBRWFSARSBDSCRSDGSEKSGDSHPSLESOSSRDSSPSTNSYPSZLTHBTJSTMTTNDTOPTRYTTDTWDTZSUAHUGXUSDUYUUZSVESVNDVUVWSTXAFXCDXCGXOFXPFYERZARZMWZWG
USD,EUR
locales
Необязательные пары ВАЛЮТА:локаль через запятую, например USD:en-US,EUR:fr-FR. Только выбранные валюты и разрешенные для них локали. Для пропущенных валют используется локаль по умолчанию. Список: money/currencies.
Пример URL с параметрамиhttps://rand.by/api/v1/money?count=5&min=10.25&max=999.99&currencies=USD,EUR&locales=USD:en-US,EUR:fr-FR

Песочница: до 10 записей, до 60 запросов в минуту.

Валюты и локали

GET /api/v1/money/currencies

Список кодов валют, дробных знаков, defaultLocale и допустимых locales. Поле asOf содержит дату снимка каталога.

Пример URL с параметрамиhttps://rand.by/api/v1/money/currencies

Песочница: до 10 записей, до 60 запросов в минуту.

Генератор раскладов таро

GET /api/v1/tarot

Сделайте случайный расклад из колоды таро на 78 карт. Одна карта, прошлое–настоящее–будущее, крест из пяти карт или свой расклад с перевернутыми положениями. Краткие авторские пояснения помогают рассматривать символы как темы для размышления. Это развлечение, а не предсказания или описание личности. У младших арканов объединяются темы ранга и масти; перевернутая карта предлагает посмотреть на препятствия и избыток.

Параметры
НазваниеОписаниеЗначение по умолчанию
spread
Шаблон: single (1), three (3), cross (5) или custom.
three
count
Для custom: целое число от 1 до размера колоды (78, 22 или 56). Для шаблона явно переданное количество должно совпадать с его размером.
3
deck
full: 78 карт; major: 22 старших аркана; minor: 56 младших арканов. Повторов нет.
full
reversed
true или false. При true каждая выбранная карта независимо переворачивается с вероятностью 50%.
true
locale
Язык названий карт, позиций и положений: один из 13 кодов локалей интерфейса.
ruendeplbyukesfritptidjatr
en
Пример URL с параметрамиhttps://rand.by/api/v1/tarot?spread=three&deck=full&reversed=true&locale=en

Песочница: до 10 записей, до 60 запросов в минуту.

Генератор случайных знаков зодиака

GET /api/v1/zodiac

Генерируйте случайные знаки западного, китайского, вьетнамского и ведического зодиака. Выбирайте системы, восточные стихии и генерацию без повторов. Краткие авторские пояснения помогают рассматривать символы как темы для размышления. Это развлечение, а не предсказания или описание личности.

Параметры
НазваниеОписаниеЗначение по умолчанию
count
Количество результатов: целое число от 1 до 10000.
1
systems
Неповторяющиеся системы через запятую: western, chinese, vietnamese, vedic. Системы с доступными вариантами выбираются равновероятно.
westernchinesevietnamesevedic
western
withElements
true или false. Китайская и вьетнамская системы используют 60 допустимых сочетаний животного и стихии при true или 12 животных при false. Западные и ведические стихии остаются фиксированными.
true
unique
true или false. Запрещает повтор id в одном ответе. Количество не должно превышать число вариантов: 12 для каждой западной/ведической системы, 12 или 60 для каждой восточной.
false
locale
Один из 13 кодов языка интерфейса; влияет только на названия. По умолчанию: en.
enrubyukdeplesfritptidjatr
en
Пример URL с параметрамиhttps://rand.by/api/v1/zodiac?count=3&systems=western,chinese,vietnamese,vedic&withElements=true&unique=true&locale=en

Песочница: до 10 записей, до 60 запросов в минуту.

Магический шар

GET /api/v1/magic-ball

Задайте вопрос мысленно и потрясите магический шар: случайный ответ появится в светящемся окошке. Можно нажать на шар или воспользоваться кнопкой. Вопрос остается у вас: сервер получает только язык ответа. Каждый из 20 ответов равновероятен: 10 положительных, 5 неопределенных и 5 отрицательных. Это игра, а не способ предсказать будущее.

Параметры
НазваниеОписаниеЗначение по умолчанию
locale
Язык названий карт, позиций и положений: один из 13 кодов локалей интерфейса.
ruendebyukplesfritptidjatr
en
Пример URL с параметрамиhttps://rand.by/api/v1/magic-ball?locale=en

Песочница: до 10 записей, до 60 запросов в минуту.

Каталог геогенератора

GET /api/v1/geo/catalog

Размеры выборок по континентам, дата снимка, ссылки на открытые источники и контрольные суммы файлов. Генерация работает по локальному снимку данных.

Пример URL с параметрамиhttps://rand.by/api/v1/geo/catalog

Песочница: до 10 записей, до 60 запросов в минуту.