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

# AiQL

> Turn anything into structured, queryable data

<div className="aiql-landing">
  <section className="aiql-hero">
    <div className="aiql-hero-inner">
      <h1 className="aiql-hero-title">
        Turn anything into structured, queryable data
      </h1>

      <p className="aiql-hero-sub">
        Ingest source documents through convert, split, shape, and extract —
        then query the result with natural language.
      </p>

      <div className="aiql-hero-actions">
        <a className="aiql-btn aiql-btn-primary" href="/quickstart">
          Get started
        </a>

        <a className="aiql-btn aiql-btn-secondary" href="https://app.aiql.io">
          Dashboard
        </a>
      </div>

      <div className="aiql-install">
        <code>pip install aiql</code>
        <span className="aiql-install-sep">or</span>
        <code>npm install @aiql.io/sdk</code>
      </div>
    </div>
  </section>

  <section className="aiql-section">
    <div className="aiql-section-inner">
      <h2 className="aiql-section-title">Try it</h2>

      <p className="aiql-section-sub">
        Create a workspace, ingest a document, and run your first query.
      </p>

      <CodeGroup>
        ```python Python theme={null}
        import os
        from aiql import AiQL

        client = AiQL(api_key=os.environ["AIQL_API_KEY"])

        workspace = client.workspaces.create(name="Quickstart")

        ingestion = client.ingestions.create(
            workspace_id=workspace.id,
            url="https://example.com/report.pdf",
        )

        query = client.queries.create(
            workspace_id=workspace.id,
            content="summarize the key findings",
        )
        result = client.queries.get(query.id)
        print(result)
        ```

        ```typescript TypeScript theme={null}
        import { AiQL } from "@aiql.io/sdk";

        const client = new AiQL({ apiKey: process.env.AIQL_API_KEY });

        const workspace = await client.workspaces.create({ name: "Quickstart" });

        const ingestion = await client.ingestions.create({
          workspaceId: workspace.id,
          url: "https://example.com/report.pdf",
        });

        const query = await client.queries.create({
          workspaceId: workspace.id,
          content: "summarize the key findings",
        });
        const result = await client.queries.get(query.id);
        console.log(result);
        ```
      </CodeGroup>
    </div>
  </section>

  <section className="aiql-section">
    <div className="aiql-section-inner">
      <h2 className="aiql-section-title">Built for document pipelines</h2>

      <p className="aiql-section-sub">
        Run the full ingestion pipeline, or call individual tools on demand.
      </p>

      <Columns cols={3}>
        <Card title="Full ingestion pipeline" icon="arrows-spin">
          Run convert, split, shape, and extract as a single managed job.
        </Card>

        <Card title="Natural-language queries" icon="magnifying-glass">
          Ask questions over ingested data with `POST /queries`.
        </Card>

        <Card title="Typed SDKs" icon="code">
          Use the official Python and TypeScript clients instead of raw HTTP.
        </Card>
      </Columns>
    </div>
  </section>

  <section className="aiql-section">
    <div className="aiql-section-inner">
      <h2 className="aiql-section-title">How it works</h2>

      <p className="aiql-section-sub">
        Four steps from source document to structured records.
      </p>

      <Columns cols={4}>
        <Card title="Convert" icon="file-import" href="/cookbooks/convert">
          Normalize a source document into clean, machine-readable text.
        </Card>

        <Card title="Split" icon="scissors" href="/cookbooks/split">
          Break the converted text into smaller chunks.
        </Card>

        <Card title="Shape" icon="shapes" href="/cookbooks/shape">
          Infer the schema of the data from the chunks.
        </Card>

        <Card title="Extract" icon="wand-magic-sparkles" href="/cookbooks/extract">
          Pull out the specific fields and values you need.
        </Card>
      </Columns>
    </div>
  </section>

  <section className="aiql-section">
    <div className="aiql-section-inner">
      <h2 className="aiql-section-title">Explore the ecosystem</h2>

      <p className="aiql-section-sub">
        Guides, cookbooks, SDKs, MCP tools, and the HTTP API.
      </p>

      <Columns cols={3}>
        <Card title="Pipeline & tools" icon="wrench" href="/cookbooks">
          Recipes for convert, split, shape, extract, and managed ingestions.
        </Card>

        <Card title="Queries" icon="magnifying-glass" href="/cookbooks/query">
          Run natural-language queries over workspace data.
        </Card>

        <Card title="MCP" icon="plug" href="/mcp/overview">
          Connect AiQL to MCP-compatible clients and agents.
        </Card>

        <Card title="React components" icon="react" href="/sdks/react/overview">
          Embed Canvas, Dashboard, Chat, Knowledge Graph, Source Preview, and Presentation in your app.
        </Card>

        <Card title="Introduction" icon="book-open" href="/introduction">
          Core concepts for workspaces, ingestions, queries, and tools.
        </Card>

        <Card title="Pricing" icon="credit-card" href="/pricing">
          See how credits are billed across tools, ingestions, and queries.
        </Card>
      </Columns>
    </div>
  </section>

  <section className="aiql-section aiql-cta">
    <div className="aiql-section-inner aiql-cta-inner">
      <h2 className="aiql-section-title">Ready to build?</h2>

      <p className="aiql-section-sub">
        Go from an API key to your first query in a few minutes.
      </p>

      <div className="aiql-hero-actions">
        <a className="aiql-btn aiql-btn-primary" href="/quickstart">
          Quickstart
        </a>

        <a className="aiql-btn aiql-btn-secondary" href="/cookbooks">
          Cookbooks
        </a>
      </div>
    </div>
  </section>
</div>
