Deep Search

Deep Search

Search inside your content, not just about it. Find the exact paragraph, the exact moment, the exact frame.

Frontier search, that works out of the box.

AI-native file storage for agents and apps. Files, notes, bookmarks, documents.

Full CRUD, semantic search, folders and tags.

// Query
{ "text": "quarterly revenue breakdown" }

// Response (one hit)
{
  "score": 0.94,
  "chunks": [
    {
      "text": "Q3 revenue reached $4.2M, up 18% from Q2...",
      "pageNumber": 7,
      "score": 0.94
    }
  ],
  "name": "Q3 Financial Report.pdf",
  "kind": "document"
}
// Query
{ "text": "quarterly revenue breakdown" }

// Response (one hit)
{
  "score": 0.94,
  "chunks": [
    {
      "text": "Q3 revenue reached $4.2M, up 18% from Q2...",
      "pageNumber": 7,
      "score": 0.94
    }
  ],
  "name": "Q3 Financial Report.pdf",
  "kind": "document"
}

What is Deep Search?

Exabase Deep Search is a multi-modal, hybrid search API built into Exabase's storage layer.

It searches inside your content at the sub-document level. Paragraphs in PDFs, timestamps in audio and video, objects and colors in images.

Content is indexed automatically when you store it. No embedding pipelines, no chunking logic, no search infrastructure to build or maintain.

Problem

Months building search infrastructure.

You need your agent to find the right passage in a PDF, the right moment in a recording, the right image in a library.


So you build it. Chunking pipelines, embedding models, PDF parsers, transcription services, citation logic, reranking.


You stitch it together, tune the chunk sizes, handle edge cases for every file format. Then you maintain all of it.


And you still don't get the results you want.

Solution

Frontier deep search, ready to go.

State-of-the-art deep search, that works out of the box. Baked into Exabase's storage.


Everything you store becomes searchable at the sub-document level – paragraphs in PDFs, timestamps in audio and video, objects and colours in images.


Search with multi-modal input. Get back precise chunks with location references and relevance scores. No pipeline to build. No models to manage.


Up and running in 3 minutes.

Production-ready

Private by design

Security-first

Scalable

Production-ready

Private by design

Security-first

Scalable

Production-ready

Private by design

Security-first

Scalable

Deep Search | Multi-modal AI search infrastructure | ExabaseA flat grey rotary knob with tick marks that can be turned by dragging.

Precision

The precision parameter (0 to 1) lets you tune the tradeoff between recall and relevance. At 0.1, you get a wide net of loosely related results. At 0.9, you get only the closest matches.

For an agent doing research, set it low to surface everything potentially relevant. For an agent answering a specific question, set it high to get the one right chunk. Same endpoint, one parameter change.

Results that deliver

Matched chunks with relevance scores, both per-hit and per-chunk

Page numbers on document chunks, so you know exactly where in the PDF the match came from

Timestamp ranges on audio and video chunks (timeStart, timeEnd), so you can link to the exact moment

Text content in each chunk, ready to pass as context to your LLM or display to users

Works across every resource type in your Base: documents, images, audio, video, notes, bookmarks

How it works

Store a resource. Upload files, save notes, or bookmark links through the Resources API into any Base. Content is indexed automatically at write time. No embedding pipeline to configure.


Search with anything. Send a text query, an image, a color, or a reference to an existing resource. Add filters to narrow by file type, folder, tag, date range, or user. Combine multiple queries in a single call.


Get precise results. Each hit includes the resource metadata, a relevance score, and the matched chunks with their location. For documents, that's the page number. For audio and video, that's the timestamp range. Ready to pass to your LLM or display to users.

const results = await api.resources.search({
  text: "quarterly revenue breakdown",
  filters: { kinds: ["document"] },
  precision: 0.5,
});

for (const hit of results.hits) {
  console.log(hit.name, hit.chunks[0].text, hit.chunks[0].pageNumber);
}
const results = await api.resources.search({
  text: "quarterly revenue breakdown",
  filters: { kinds: ["document"] },
  precision: 0.5,
});

for (const hit of results.hits) {
  console.log(hit.name, hit.chunks[0].text, hit.chunks[0].pageNumber);
}

API at a glance

Field

Type

Description

/v2/search

POST

Search by text, image, color, or similarity

Use cases

Why Exabase

FAQs

What is Exabase?

Exabase is infrastructure for AI agents. It gives your agents memory, versioned file storage, AI deep search, and context automation through a set of APIs. Store what your agent learns, search inside any content type, and keep knowledge bases current automatically. Built for production use.

Who uses Exabase?

Developers and teams building AI agents, copilots, and RAG applications. If your agent needs to remember things between sessions, store and retrieve files, search across documents and media, or stay up to date without manual maintenance, Exabase handles that infrastructure so you can focus on your product.

What search modes are supported?

Text (hybrid semantic + keyword), image (visual similarity), color (dominant color or palette), resource similarity (find content similar to something you already have), and multi-query (combine several of these in one request).

Is it semantic search or keyword search?

Both. Text search is hybrid by default, combining typo-tolerant keyword matching with semantic search. This means it works for exact phrases and natural language questions. Wrap a phrase in double quotes to force exact match.

What file types can I search across?

Anything stored in your Base. PDFs, images, audio, video, notes, bookmarks, documents. Content is indexed automatically when you store it.

Does it search inside documents or just titles?

Inside. Deep Search finds specific paragraphs in PDFs, timestamps in audio and video, objects and colors in images. Results include the exact chunk that matched, with page numbers, timestamps, or image regions.

How do I control result precision?

Pass the precision parameter (0 to 1). Higher values return fewer, more relevant results. Lower values return more results that may be less precise. Default is 0.3.

Can I filter results by folder, tag, date, or file type?

Yes. The filters object supports kinds (file type), parentIds (folder), ancestorIds (nested folders), tagIds, userIds, createdAfter, and createdBefore.

Can I search with an image?

Yes. Pass a base64-encoded image in the image field. The API finds visually similar images across your resources. You can combine image search with color filtering.

Can I search using an existing resource as the query?

Yes. Pass a resourceId and the API finds content similar to that resource. Works across all resource types.

What do results look like?

Each hit includes the resource metadata, a relevance score, and matched chunks. Chunks contain the matched text, page number (for documents), or timestamp range (for audio/video).

Does it support pagination?

Yes. Pass pagination.page and pagination.pageSize. The response includes total and hasMore.

Can I sort results?

Yes. By relevance (default) or by createdAt in ascending or descending order.

Do I need to build an embedding pipeline?

No. Content is indexed automatically when you store it through the Resources API. No external parsers, embedding models, or chunking logic. Exabase handles the entire path from raw file to searchable index.

Can I search across multiple Bases?

Search runs against one Base at a time. Pass the X-Exabase-Base-Id header to target a specific Base. If omitted, the parent workspace is used.

Is search history stored?

By default, yes. Pass incognito: true to prevent the query from being saved to search history.

Deciding?

Ask your favourite AI about Exabase:

Ship your first app in minutes.

Ship your first app in minutes.