Accuracy
Field-level accuracy · Higher is better
Structured extraction API
Refractr turns chaotic payloads into validated output fields a computer can understand, with a single API call and your own JSON schema.
Why Refractr
Latency
A custom-trained extraction model, not a general-purpose LLM wrapped in a prompt. Predictable sub-second response times, not multi-second chains.
Schema, your terms
Pass any JSON schema on every call and get a result immediately. No pre-compilation, no warm-up step, no per-schema deployment. Change fields between requests with no penalty.
Not an LLM wrapper
Refractr runs a custom, optimized model hosted by us, not an OpenAI or Anthropic passthrough. One extraction task, done faster and cheaper than general-purpose models.
Benchmarks
Accuracy
Field-level accuracy · Higher is better
Speed
p50 seconds per document · Lower is better
Reliability
Responses that fail to parse · Lower is better
Speed vs accuracy
Accuracy index vs median latency per document · Top left is better
Scroll sideways to see the whole chart.
OCR speed
Scan or photo in, fields out · Lower is better
Accuracy index is field-level accuracy averaged across several document test sets. Latency is end to end per document. The most attractive quadrant is the top-left quarter of the chart: under 5 s and an accuracy index of 70 or more. OCR speed is per page, from scan or photo to extracted fields, with all systems measured by us on the same documents and Refractr shown at its slowest measured case. Extraction benchmark run 28 Sep 2026.
Use cases
{
"ticker": "NVDA",
"move_pct": 12.0,
"revenue_billions": 22.1,
"currency": "USD"
}
{
"invoice_no": "2847",
"vendor": "Acme Corp",
"date": "2026-01-15",
"total_eur": 1249.00
}
{
"order_id": "88420",
"issue": "damaged",
"action": "refund",
"contact": "[email protected]"
}
Pricing
Common questions
No. Refractr runs a custom-trained, optimized extraction model hosted by us, not a passthrough to OpenAI, Anthropic, or any general-purpose LLM. It's purpose-built for one task: filling a JSON schema from raw text, which is why it's faster than prompt-based approaches.
Fields declared with typed placeholders (like "__date__") are guaranteed to come back as that type or null, never an empty string or a mistyped value. That guarantee covers the shape of the response; extraction is model-based, so validate values against your own rules and enforce required fields in your own schema validator downstream.
Not unless you choose to. By default, documents and results are kept for 30 days for debugging and support, then deleted automatically. You can opt in to help train the model when you sign up or from your dashboard, which raises your free allowance from 20 to 100 extractions per day, and switch it off at any time. Your data is never sold or shared.
One credit per successful extraction: flat, regardless of document or schema size. Failed extractions (schema violations, timeouts) are free. Every account gets 100 free extractions per day, refreshed daily. For higher volume, top up any EUR amount via Stripe.
No. Pass the schema on every call. There's no compile step, no warm-up, no per-schema deployment. Change fields between requests with no penalty.
Five lines of code, five minutes to first response.