Skill

Extract structured data from documents with grounding

Extracts structured JSON from documents with per-value grounding: page number and confidence per field, absences reported, never guessed.

Works with stipple

91
Spark score
out of 100
Updated 9 days ago
Version 16.6.0

Add to Favorites

Why it matters

Convert unstructured documents-payslips, invoices, bank statements, receipts, contracts-into structured JSON with per-value confidence scores and page citations, ensuring missing fields are reported rather than hallucinated.

Outcomes

What it gets done

01

Parse payslips, invoices, and receipts into JSON with field-level confidence and page grounding

02

Extract ad-hoc fields or use built-in templates for common document types

03

Report missing fields explicitly in not_found array instead of guessing values

04

Process multi-page PDFs, images, and DOCX files with per-page attribution

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-extract-document-data | bash

Overview

Extract Document Data

This skill extracts structured JSON from documents such as payslips, invoices, and bank statements using the Stipple API, citing a page number and confidence score for every value and reporting genuine absences instead of guessing. Use it to convert unstructured documents into structured JSON for downstream systems, especially where a hallucinated value would be worse than a missing one.

What it does

This skill extracts structured JSON from documents - payslips, invoices, bank statements, receipts, contracts - with per-value grounding: every extracted value cites the page it came from and a confidence score, and any value that isn't clearly present is reported in a not_found list rather than invented.

When to use - and when NOT to

Use it for parsing payslips, invoices, bank statements, receipts, or contracts into structured JSON for downstream systems, especially anywhere a hallucinated value is worse than a missing one - lending, accounting, compliance. This is extraction, not verification: confidence and page grounding do not prove a value is correct or that the source document is authentic. Pair it with the verify-document skill first when genuineness matters, and reconcile consequential values against the original document and authoritative systems before payment, lending, accounting, or compliance action.

Inputs and outputs

Input is a document by URL or local file path (PDF, PNG, JPEG, DOCX) plus an extraction mode: ad-hoc named fields, a built-in template (payslip, tax_invoice, bank_statement, receipt, contract), or schema-free.

curl -X POST https://www.stipple.sh/v1/extract \
  -F "file=@payslip.pdf" \
  -F 'fields=[{"name":"employer_name"},{"name":"net_pay"},{"name":"pay_date"}]' \
  -H "Authorization: Bearer $STIPPLE_API_KEY"

Output is a JSON object per requested field with its value, confidence score, and source page number - for a payslip, that might read employer name at confidence 0.95 on page 1, and net pay at confidence 0.97 on the same page - plus a not_found list for anything requested but not located, and a pages_read count. Absences are reported, never guessed: a missing year-to-date tax figure comes back as "not found," never as zero.

Integrations

The Stipple API (free anonymous tier, or a free key for higher metering) performs the extraction, at a cost of 1 credit per page read, minimum 1 per document. Tables are extracted with their structure preserved, and multi-page documents are processed page by page. It pairs naturally with verify-document, run first, since an extracted value from a tampered document is still wrong even when correctly read off the page.

Who it's for

Teams converting unstructured documents into structured data for lending, accounting, compliance, or other downstream systems, where a wrong or invented value is more dangerous than an honestly reported gap and a human reviewer needs to be able to trace every value back to the exact page it came from before anyone acts on it, especially when the same document is later reconciled against a source system.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.