Switching from Nanonets: cost per invoice

Nanonets bills per workflow block; Veralens bills per token. Sourced prices, measured Veralens cost and the steps to move.

3 min read

Switch from Nanonets if you want no monthly fee, or one request with a JSON schema rather than a trained model to set up. Veralens bills per token from a $5 top-up, with no subscription. To see the output first, run a sample in the playground.

Nanonets prices

PlanPriceWhat you get
PlanFree startPrice$0What you get$50 in free credits
PlanStarterPrice$100 a monthWhat you get100 credits
PlanWorkflow blocksPrice$0.02, $0.10 or $0.30 a runWhat you getSimple, standard AI or complex AI
PlanGrowthPriceQuote onlyWhat you getNegotiated volume

Source: Nanonets pricing, checked 2026-10-18. The page does not say how many pages one block run covers, so we show no Nanonets price per invoice.

Cost at your volume

The Veralens column is the measured cost of our 2-page sample invoice (PDF, 20 line items, JSON against a schema), first on vera-1.0-high, then on vera-1.0-low. One Nanonets invoice costs the sum of the blocks you run, so the Nanonets column shows the plan floor.

Invoices a monthVeralensNanonets
Invoices a month100Veralens$0.74 or $0.32NanonetsFrom $100 (Starter)
Invoices a month10,000Veralens$73.70 or $31.78NanonetsQuote only (Growth)

Measured on 2026-10-11 on the sample invoice, one job per engine. Every Veralens response shows the job's cost.

One invoice like this cost $0.0074 on vera-1.0-high and $0.0032 on vera-1.0-low, so 1,000 of them cost $7.37 or $3.18.

How to switch

  1. Get a key. Add funds in Billing, from $5, and create an API key.
  2. Replace the model with a schema. In Nanonets you pick a model id; in Veralens you list the fields in the request.
  3. Swap the call. Nanonets uses HTTP Basic auth with the API key as the username (curl -u 'KEY:'). Veralens uses a Bearer key, as below.
  4. Compare on the same invoice. Send one sample to both and read the Veralens usage.cost against your Nanonets invoice line.
bash
cat > body.json <<'EOF'
{
  "sources": [{ "type": "document",
    "data": "data:application/pdf;base64,..." }],
  "schema": { "type": "object", "properties": {
    "invoice_number": { "type": "string" },
    "total": { "type": "number" } } },
  "webhook_url": "https://your.app/hooks/veralens"
}
EOF
BASE=https://veralens.ai/api/v1
curl -X POST "$BASE/jobs/create" \
  -H "Authorization: Bearer vl_your_secret_key" \
  -H "Content-Type: application/json" \
  --data-binary @body.json

You get 201 with the job in pending. Veralens is asynchronous: take the result from the webhook, or poll GET /jobs/:jobId/get every 2 to 3 seconds. The finished job reports usage.cost.

When Nanonets is the better choice

  • You want workflow blocks around the extraction: review steps, routing and integrations.
  • You want to train a model on your own layouts.
  • You want free credits to start. Nanonets gives $50; Veralens has no free balance.

Also compared: Mindee and Veryfi. For the wider market, see what document extraction costs per 1,000 pages.

Try it on your own documents

Add funds from $5, create a key, and send your first document. Every job reports exactly what it cost.

Add $5, get an API key

Keep reading