SchemaLock — extract structured JSON data from any PDF/image or raw text/HTML, c
SchemaLock — extract structured JSON data from any PDF/image or raw text/HTML, converting it into a JSON Schema you supply, not limited to invoice/receipt/contract/resume. Unlike the fixed invoice/receipt/contract/resume endpoints, this accepts any JSON Schema — you define the fields. Takes a PDF/image file OR raw text/HTML you already have (e.g. a scraped page). Schema-conformance, not fact-checking. A rejected schema is a 400 and costs nothing.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://doc-extract-api.thestarboy9696-4ef.workers.dev/extract/custom
| Category | Image and media |
|---|---|
| Provider host | doc-extract-api.thestarboy9696-4ef.workers.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"content": "<string: raw text or HTML, e.g. an already-scraped web page, max 100000 chars \u2014 send this OR 'file', not both>",
"file": "<binary: PDF, PNG, or JPEG/WEBP, max 15MB \u2014 send this OR 'content', not both>",
"instructions": "<optional string: extra guidance for the model, max 1000 chars>",
"schema": "<string: JSON Schema, type \"object\", e.g. {\"type\":\"object\",\"properties\":{\"order_id\":{\"type\":\"string\"},\"ship_date\":{\"type\":\"string\"},\"total_weight_kg\":{\"type\":\"number\"}}}>"
},
"bodyType": "form-data",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {}
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}