> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polyvia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Polyvia

> Multimodal Document Retrieval API

**Polyvia: Multimodal Document Retrieval API.**

We're releasing **Polyvia 1**, as two products:

* **Polyvia API**: Multimodal Document Retrieval API (for developers of AI agents).
* **Polyvia Platform**: Search & Exploration over multimodal docs (for knowledge workers in enterprises).

Agentic, file-by-file search (e.g. Claude Code, Claude Cowork, Codex) works only
up to \~100 multimodal files — past that it's too slow. So at scale, when you're
connecting an enterprise's large internal datasets, you still need retrieval. And
the multimodal infra tools today stop at visual extractors / PDF parsers (e.g.
Reducto, LlamaIndex). We built Polyvia Engine — an end-to-end pipeline for multimodal document
retrieval: **VLM Visual Extractor → Multimodal Knowledge Ontology →
Self-Improving Retrieval Agent**.

We index your unstructured & visual & multimodal docs (PDFs, charts, slides, complex
tables, infographics, scans, handwriting, invoices, and more) into multimodal knowledge
ontology, and provide you with a retrieval endpoint.

## Start in 30 seconds

<Info>
  **Get your API key** in the **Polyvia Platform** — open **API** in the sidebar and
  click **Create API Key**. It's shown only once, and all keys start with `poly_`.
</Info>

<CodeGroup>
  ```bash pip theme={null}
  pip install polyvia
  ```

  ```bash npm theme={null}
  npm install polyvia
  ```
</CodeGroup>

Ingest a batch into a group, then ask one question across the whole corpus.

<CodeGroup>
  ```python Python theme={null}
  from polyvia import Polyvia

  client = Polyvia(api_key="poly_<key>")

  # Ingest a batch into a group, then ask one question across all of it.
  items = client.ingest.batch(
      ["q1.pdf", "q2.pdf", "q3.pdf", "q4.pdf"],
      group="FY24 Earnings",
  )
  for item in items:
      client.ingest.wait(item.task_id)

  # Answers cite the exact page in each document.
  print(client.query("How did revenue trend across the four quarters?",
                     group="FY24 Earnings").answer)
  ```

  ```ts TypeScript theme={null}
  import { Polyvia } from "polyvia";

  const client = new Polyvia({ apiKey: "poly_<key>" });

  // Ingest a batch into a group, then ask one question across all of it.
  const items = await client.ingest.batch(
    ["q1.pdf", "q2.pdf", "q3.pdf", "q4.pdf"],
    { group: "FY24 Earnings" },
  );
  await Promise.all(items.map((i) => client.ingest.wait(i.task_id)));

  // Answers cite the exact page in each document.
  const answer = await client.query(
    "How did revenue trend across the four quarters?",
    { group: "FY24 Earnings" },
  );
  console.log(answer.answer);
  ```
</CodeGroup>

**See also**

<Card title="Full quickstart" icon="rocket" href="/quickstart" horizontal>
  Get a key, ingest a batch, scope queries to a group — in a couple of minutes.
</Card>

<Card title="Python SDK" icon="python" href="/products/python-sdk" horizontal>
  Typed client with sync + async, MCP and agent-tools support.
</Card>

## Polyvia 1

**Polyvia 1** ships as two products — the **Polyvia API** and the **Polyvia Platform**.

<CardGroup cols={2}>
  <Card title="Polyvia API" icon="terminal" href="/products/api">
    Multimodal Document Retrieval API, for developers of AI agents.
  </Card>

  <Card title="Polyvia Platform" icon="browser" href="/products/platform">
    Search & Exploration over multimodal docs, for knowledge workers in enterprises.
  </Card>
</CardGroup>

**See also**

<Card title="Release notes" icon="rocket" href="/versions" horizontal>
  Faster ingestion, Office/Google formats, knowledge-graph view, and more — see what's shipped.
</Card>

## Polyvia Engine

One pipeline turns scattered visual & multimodal files into a queryable knowledge
layer — then answers in sub-200ms, grounded in a visual citation.

<CardGroup cols={3}>
  <Card title="VLM Visual Extractor" icon="eye">
    Reads the hardest visual documents — charts, infographics, complex multi-page
    tables, slides, scans, handwriting, pictures — into structured facts.
  </Card>

  <Card title="Multimodal Knowledge Ontology" icon="diagram-project">
    Disambiguates and connects every extracted fact into one semantic ontology
    over your whole corpus — a single, queryable source of truth.
  </Card>

  <Card title="Self-Improving Retrieval Agent" icon="magnifying-glass-chart">
    Agentic, multi-hop retrieval that self-improves over time. Every answer
    grounded in a visual citation tied to the exact source page.
  </Card>
</CardGroup>

**See also**

<CardGroup cols={3}>
  <Card title="Core concepts" icon="book-open" href="/concepts">
    Documents, groups, ingestion, querying and citations.
  </Card>

  <Card title="Supported formats" icon="file-lines" href="/products/supported-formats">
    Every modality and file type Polyvia ingests.
  </Card>

  <Card title="Integrations" icon="puzzle-piece" href="/products/integrations">
    Import from Drive, Dropbox, OneDrive, Notion, S3 and Slack.
  </Card>
</CardGroup>

## Build with Polyvia

<CardGroup cols={1}>
  <Card title="Python SDK" icon="python" href="/products/python-sdk">
    Typed client with sync + async, MCP and agent-tools support.
  </Card>
</CardGroup>

<CardGroup cols={2}>
  <Card title="Polyvia API" icon="terminal" href="/products/api">
    Multimodal Document Retrieval API — for developers of AI agents. Ingest,
    groups, query and usage.
  </Card>

  <Card title="TypeScript SDK" icon="js" href="/products/js-sdk">
    Fully-typed ESM/CJS client for Node and modern JS.
  </Card>

  <Card title="MCP Server" icon="plug" href="/products/mcp">
    Connect Polyvia to Claude, Cursor and other MCP tools.
  </Card>

  <Card title="Agent Skills" icon="robot" href="/products/skills">
    Drop-in skills for Claude Code, Cursor and agent environments.
  </Card>
</CardGroup>

## Stay connected

<CardGroup cols={2}>
  <Card title="Homepage" icon="globe" href="https://polyvia.ai" />

  <Card title="Blog" icon="newspaper" href="https://polyvia.ai/blog" />
</CardGroup>
