Since Tensorlake is built with a code-first philosophy, the data you extract is structured and can be easily integrated into your existing workflows.
Try out this example now:
Here is an example of how to use the Tensorlake Python SDK to parse a real estate purchase agreement and extract the buyer and seller signatures, names, and signature dates.
1

Prerequisites

  1. Get your Tensorlake API key
  2. Install the Tensorlake SDK with pip install tensorlake
2

Import packages, setup client, and define file path

signature-detection.py
import json
from pydantic import BaseModel

from tensorlake.documentai import ( 
        DocumentAI, 
        ParseStatus, 
        ParsingOptions,
        StructuredExtractionOptions
      )

# Initialize the client and add your API Key
doc_ai = DocumentAI()

# Upload the document
file_path = "https://tlake.link/lease-agreement"
3

Define the schema

The Python snippet below will assume you have this schema in a file called real-estate-schema.json in a folder called schema.
signature-detection.py
# Create a schema
class Buyer(BaseModel):
    buyer_name: str
    buyer_signature_date: str
    buyer_signed: bool

class Seller(BaseModel):
    seller_name: str
    seller_signature_date: str
    seller_signed: bool

class RealEstateSchema(BaseModel):
    buyer: Buyer
    seller: Seller
4

Parse the document with the Python SDK

signature-detection.py
real_state_extraction = StructuredExtractionOptions(
    schema_name="real-estate-schema", 
    json_schema=RealEstateSchema
)

# Configure parsing options
parsing_options = ParsingOptions(
    signature_detection=True
    )

parse_id = doc_ai.parse(
    file=file_path,
    parsing_options=parsing_options,
    structured_extraction_options=[real_state_extraction],
)

print(f"Parse job submitted with ID: {parse_id}")

# Get the result
result = doc_ai.wait_for_completion(parse_id)

if(result.status == ParseStatus.FAILURE):
    print("Parse job failed!")
    exit(1)

print("Successully parsed the document!")
5

Review the output

The result will include the extracted data, all of the markdown chunks, and the entire document layout.
signature-detection.py
print("========Structured Data========")
print(json.dumps(result.structured_data[0].data, indent=2))

print("\n\n")
print("========Chunks========")
for chunk in result.chunks:
    print(chunk.content)
The output will be:
Structured Data
{
    "buyer": {
        "buyer_name": "Nova Ellison",
        "buyer_signature_date": "September 10, 2025",
        "buyer_signed": true
    },
    "seller": {
        "seller_name": "Juno Vega",
        "seller_signature_date": "September 10, 2025",
        "seller_signed": true
    }
}
With this output you have precision and automation with very little code—and can be extended with webhooks, LangGraph agents, or even downstream CRM updates.