Papers that answer back.
Query across literature libraries, systematic reviews, and supplementary appendices with precision that "nearest neighbour" can't even imagine.
- § Abstract
- § Methods
- § Results
- § Discussion
- § References
Vectorless is the retrieval primitive for AI agents. We turn your PDFs, docs, and knowledge bases into structured maps any LLM can navigate — no chunking, no embeddings, no vector DB to operate.
No credit card · MIT licensed · 100 documents free
avg retrieval
~40ms
parallel section fetch
embedding cost
$0
we never compute one
chunks tuned
0
no overlap, no regret
works with
any LLM
OpenAI, Anthropic, Gemini, local
Fits in your stack
Chunks lose context. Embeddings miss meaning. Similarity isn't comprehension. We've been retrieving with a blindfold on for years.
research.pdf
page 12 / 42
Slice the document. Embed every fragment. Hope the math finds meaning.
verdict
Fragments fly. Context dies.
Keep the document whole. Map its structure. Let reasoning navigate.
verdict
Structure stays. Meaning lands.
Lessmath.Moremeaning.
Drop in a PDF, DOCX, URL, or raw text. We read the whole thing — title, headings, footnotes, the lot — and store every section as a stable, addressable unit. No chunk size to tune. No overlap to tweak.
“No knife required.”
You get back a structured manifest — every section with a title, a summary, and a deterministic link. Think llms.txt, but generated for you, on anything. A document, finally treated like a real interface.
“A map your LLM can actually read.”
Hand the map and a question to any model. It reasons about which sections matter, we fetch them in parallel, and you get back complete, structured context — not the nearest neighbour, the right answer.
“Retrieval that knows where it's going.”
Bring your own LLM. Bring your own framework. We just hand you a primitive that fits where vectors don't.
// 01 — Ingest
const { doc_id, toc } = await vectorless.addDocument(file);
// 02 — Map
const sectionIds = await llm.reason(toc, question);
// 03 — Reason
const context = await vectorless.fetchSections(doc_id, sectionIds);
const answer = await llm.answer(context, question);Not a wall of vectors. A navigable map. Every section gets a stable address, a title, a summary, and a deterministic link any LLM can call.
research.pdf
42 sections · 187 pages
PDFs, DOCX, TXT, URLs, raw text. We pull every section out as an addressable unit — automatically. No tuning, no overlap, no regret.
Every document becomes an llms.txt-style manifest — a map any model can read natively. Built so machines can think, not search.
Fetch one section or twenty. Latency is the same. Fan-out retrieval without the fan-out tax.
Not every document is structured. Toggle embedding-based fallback alongside reasoning when you need it. We won't judge you for keeping a few vectors around.
Every section gets a stable URL. Retrieval is auditable, reproducible, and grep-able. Citations come for free.
Vectorless is a primitive, not a platform lock-in. Drop it into LangGraph, CrewAI, LlamaIndex, an MCP server, or your own stack. We retrieve. You decide.
No headings? We generate a semantic ToC with an LLM — structure from the unstructured. Even your messiest doc gets a spine.
JSONB for maps, pgvector for fallback, full-text built in. One database. No vector infra to babysit, no separate cluster to forget about.
Query across literature libraries, systematic reviews, and supplementary appendices with precision that "nearest neighbour" can't even imagine.
Clauses are units. Sub-clauses are units. Vectorless retrieves whole, intact context — no clause torn in half by an arbitrary chunk size.
Dosing tables, contraindications, decision trees — retrieved as complete sections, not bisected fragments. Patient safety, not similarity scores.
Endpoints, parameters, error codes — structured the way developers already think, addressable the way LLMs already navigate.
Internal SOPs, onboarding handbooks, runbooks — every section addressable, every retrieval auditable, every answer traceable.
I spent six months tuning a chunker so the retrieval would stop bisecting our clauses. Vectorless made that whole problem disappear in an afternoon.
Eze Onyekpere
Staff Engineer, Legal AI
Reasoning over a table of contents is the obvious right answer in hindsight. I don't miss managing a vector DB.
Priya Sundaram
AI Lead, Clinical Research
Our agent's answers got noticeably better the day we swapped in Vectorless. Same prompts, same model, structured retrieval.
Marcus Le
Founder, dev-tools startup
TypeScript first, Python coming. The surface is small on purpose — ingest and retrieve. Your reasoning, your LLM, your orchestration. We just handle structure.
MCP server coming — call Vectorless natively inside Claude, Cursor, and any MCP-compatible runtime.
vectorless.addDocument(file, options)
// → { doc_id, toc }
vectorless.getToC(doc_id)
// → ToC manifest
vectorless.fetchSection(doc_id, section_id)
// → { title, content, page_range }
vectorless.fetchSections(doc_id, section_ids)
// → Section[]
vectorless.listDocuments()
// → DocumentSummary[]Can't find your question? Open an issue on GitHub or email hello@vectorless.dev.
The opposite — we removed the steps. No chunker, no embedder, no vector DB, no similarity threshold. The LLM reads a structured table of contents and asks for the sections it needs by ID. Retrieval becomes a function call, not a math problem.
Yes. If a document doesn't come pre-structured, we generate a semantic table of contents with an LLM during ingest. You get the same navigable map — auto-built — for messy PDFs, scanned reports, and plain text.
You skip the embedding bill entirely (no per-token embedding fees, no upserts). Storage is plain Postgres JSONB plus the raw document. The only variable cost is the LLM reading the ToC at query time — usually ~200 tokens.
The ToC is hierarchical. For a 500-page legal contract, the LLM first picks a top-level section, then drills down. Two reasoning hops, one fetch — works the same way a human would navigate.
Yes — hybrid retrieval is supported. Toggle embedding fallback for sections that don't map cleanly, or run them in parallel. We're not religious about it, we just don't make you start there.
Any. Vectorless ships as a TypeScript SDK (Python coming) and is intentionally narrow — ingest and retrieve. Use it inside LangGraph, CrewAI, LlamaIndex, an MCP server, or your own loop. Bring your own model.
Yes — the SDK is open source and free for development. The hosted plan is free for the first 100 documents; paid plans start when you scale beyond that.
Same instinct, more surface area. llms.txt is a static convention for one site; Vectorless generates a queryable manifest for any document, makes every section addressable, and handles the fetch.
Hobby
Free, forever
free up to 100 docs
Everything you need to ship a real agent.
Pro
For shipping teams
per seat / month
Scale past prototype without paging an SRE.
Enterprise
For regulated work
talk to us
SSO, on-prem, contracts, and people who pick up the phone.
Free for 100 documents. No credit card. Five lines of code from install to your first answer.