Refractr — API для извлечения структурированных данных из текста и документов. Клиент отправляет документ и шаблон (схему) с типизированными полями, а в ответ получает JSON, где каждое значение либо соответствует заданному типу, либо равно null. Сервис рассчитан примерно на десяток конкретных значений: номера и даты, имена, суммы, булевы флаги и короткие фрагменты текста. На момент проверки сервис находится в альфа-версии.
Что умеет
- Принимает текст, PDF с текстовым слоем, DOCX и ODT, а также изображения JPEG, PNG, TIFF, WebP и BMP. Тип файла определяется по содержимому. Сканы и фото обрабатываются с параметром ocr, который включает распознавание.
- В шаблоне поддерживаются типы __str__, __int__, __float__, __bool__ и __date__ (дата в формате ГГГГ-ММ-ДД), массивы и вложенные объекты, например список позиций счёта. Поле без ограничения типа задаётся значением null.
- Для каждого извлечённого значения возвращается оценка confidence от 0 до 1, а также список информационных предупреждений validation.warnings. Шаблон можно менять между запросами без предварительной компиляции.
- Есть синхронный режим, при котором ответ приходит сразу, и асинхронный: задание ставится в очередь, а результат запрашивается по job_id.
Лимиты: до 20 страниц PDF (10 страниц с OCR), текст до 50 000 символов, файл около 7 МБ, 60 запросов в минуту на один ключ.
Как устроен запрос
Извлечение выполняется POST-запросом, ключ передаётся в заголовке Authorization с типом Bearer. Ключ создаётся в личном кабинете; пока адрес электронной почты не подтверждён, API отвечает кодом 403. Официальных SDK в документации нет. Приведены примеры на Python с библиотекой requests, на JavaScript с fetch и в curl, а также коллекция для Postman с файловыми запросами и асинхронным режимом.
Ошибки описаны по кодам. 400 означает некорректный запрос или неизвестный плейсхолдер в шаблоне, 402 — недостаточно кредитов, 413 — превышен размер файла или текста, 415 — формат не поддерживается или файл защищён паролем, 422 — нет текстового слоя без OCR или в документе нет текста, 429 — превышен лимит, нужно ждать по заголовку Retry-After, 504 — извлечение заняло больше 30 секунд, и результат можно получить опросом. Ошибки не тарифицируются.
Цены и тарифы
Оплата кредитами. Одно успешное извлечение стоит 1 кредит, извлечение со сканом или фото с OCR — 2 кредита. Цена фиксированная и не зависит от размера документа и схемы. €1 равен 200 кредитам, пополнение от €5 проходит через Stripe. Неудачные извлечения (нарушение схемы, тайм-ауты) не списываются, а поле metadata.credits_charged в ответе показывает фактическую стоимость вызова.
Бесплатно доступно 100 извлечений в день на каждом аккаунте, счётчик обновляется ежедневно. Бесплатный режим действует на время альфа-версии.
Точность и скорость по данным вендора
Цифры приведены по бенчмарку самого Refractr от 28 сентября 2026 года. По индексу точности на уровне полей сервис набрал 82,0 из 100. Выше оценён только Gemini 3.8 Flash (85,1); далее идут DeepSeek V4.1 Flash (82,2), GPT-5.4 mini (77,3), Llama 3.1 8B (66,1), NuExtract 2.0 (65,4) и GLiNER2 (44,7). Доля невалидного JSON в бенчмарке составила 0,0%.
Медианное время обработки документа — около 0,49 с. Для сравнения, у Gemini 3.8 Flash — 3,94 с, у DeepSeek — 7,10 с, у GPT-5.4 mini — 1,72 с. Быстрее только GLiNER2 (0,23 с), но с заметно меньшей точностью. OCR на одну страницу занимает около 0,77 с, против 2,9 с у AWS Textract, 3,8 с у Google Document AI и 4,3 с у Azure.
Кому подойдёт и ограничения
Сервис подойдёт разработчикам, которым нужно превращать счета, письма и тикеты поддержки в JSON для учёта или дальнейшей обработки, а также командам, которые разбирают новости по тикерам. Для сводок и аналитических задач API не предназначен.
- Извлечение основано на модели, поэтому значения нужно проверять. На главной странице приводится пример правила «проверять всё, что ниже 0,9» по полю confidence. Обязательные поля стоит валидировать в собственном коде.
- Готовых интеграций с CRM, бухгалтерскими системами или почтовыми сервисами на сайте не описано: работа идёт только через API.
- В альфа-версии запросы и ответы логируются для отладки и улучшения качества. Компания заявляет, что логи не продаются и не передаются третьим лицам, и обещает предупреждать об изменениях в API.
- Не поддерживаются файлы .doc, RTF, таблицы и презентации, файлы с паролем, а HEIC нужно предварительно конвертировать в JPEG.