lighton/devs

Upload any document. Search it in milliseconds.

Start building on the SDK or read our docs →

Trusted by leading enterprises

Ingest any document into your knowledge base.

PDFs, scans, slides, spreadsheets, emails. One call handles parsing, chunking, embedding and indexing.

from lighton import LightOn, Workspace

with LightOn() as client:  # reads LIGHTON_API_KEY from the environment
    # Create a workspace and ingest a folder of PDFs (glob), blocking until searchable
    ws = Workspace(name="Docs").create(client)
    ws.ingest_many(["docs/**/*.pdf"], wait=True)
Read more

Turn any document into clean Markdown.

Text, tables, images, multi-column layouts.

from lighton import LightOn, Workspace

with LightOn() as client:  # reads LIGHTON_API_KEY from the environment
    doc = client.parse(path="report.pdf")
    # doc = client.parse(url="https://example.com/report.pdf")
    for page in doc.result.pages:
        print(page.index, page.markdown)
Read more

Structured extraction

Define a schema, get typed fields back from any document, with page-level provenance.

from lighton import LightOn
from pydantic import BaseModel, Field

class Person(BaseModel):
    last_name: str = Field(description="Family name, as written in the document.")
    first_name: str | None = Field(
        None, description="Given name; null if not stated."
    )
    role: str | None = Field(
        None, description="Title or role if given, e.g. 'sender', 'recipient'."
    )

class Letter(BaseModel):
    people: list[Person] = Field(
        description="Every person or entity named in the letter."
    )
    subject: str | None = Field(
        None, description="The letter's stated subject line, or null if absent."
    )

with LightOn() as client:
    resp = client.extract(schema=Letter, path="letter.pdf")
    # or from a public URL: client.extract(schema=Letter, url="https://example.com/letter.pdf")
    for row in resp.result.data:  # one object per page
        print(row)
Read more

SDK, API, MCP

Python SDK

Full API coverage, typed, async-ready.

Read the docs →

TypeScript SDK

Same surface, first-class types.

Read the docs →

LightOn MCP

Give Claude, Codex, Cursor or any MCP client search over your documents.

Swap the install commands

Claude Code
claude mcp add lighton https://api.lighton.ai/mcp \
  --transport http --scope user \
  --header "Authorization: Bearer $LIGHTON_API_KEY"
Read the docs →

LightOn API

Plain REST. Bring your own stack.

Read our API docs →

Connect to where your documents already live.

Sync SharePoint, Google Drive, S3 and more as read-only datasources. Your source system stays the single source of truth.

Read more

Any document. Any format. Any agent.

Start building on the SDK or read our docs →