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

# ABBYY Documentation

> Guides, API references, and quickstarts for ABBYY Vantage, Vantage Self-Hosted, FineParser, FineReader Engine, and FlexiCapture in one documentation hub.

export const CtaBand = ({heading, body, primaryCta, secondaryCta}) => <div className="abbyy-stripe relative mt-20 mb-16 overflow-hidden border-t border-zinc-200 dark:border-zinc-800">
    <div className="absolute inset-0 bg-gradient-to-t from-transparent via-white/70 to-white dark:via-zinc-950/70 dark:to-zinc-950" />

    <div className="relative mx-auto max-w-6xl px-6 py-20 text-center lg:px-10">
      <h2 className="text-2xl font-extrabold tracking-tight text-zinc-950 sm:text-3xl dark:text-white">{heading}</h2>
      <p className="mx-auto mt-5 max-w-xl text-base leading-7 text-zinc-600 dark:text-zinc-300">{body}</p>

      <div className="mt-7 flex flex-wrap items-center justify-center gap-4">
        <a href={primaryCta.href} className="abbyy-btn-primary inline-flex items-center gap-2 rounded-full px-6 py-3 text-sm font-semibold text-white shadow-sm transition-transform hover:-translate-y-0.5 focus:outline-none focus:ring-2 focus:ring-offset-2">
          {primaryCta.label}
          <span aria-hidden="true">→</span>
        </a>
        {secondaryCta ? <a href={secondaryCta.href} className="inline-flex items-center gap-2 rounded-full border border-zinc-300 bg-white px-6 py-3 text-sm font-semibold text-zinc-900 transition-colors hover:border-zinc-400 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:border-zinc-500">
            {secondaryCta.label}
          </a> : null}
      </div>
    </div>
  </div>;

export const ProductTile = ({eyebrow, title, description, links, cta}) => <div className="flex flex-col rounded-3xl border border-zinc-200 bg-white p-7 shadow-sm transition-shadow hover:shadow-md dark:border-zinc-800 dark:bg-zinc-900">
    <p className="abbyy-eyebrow text-xs font-semibold uppercase tracking-widest">{eyebrow}</p>

    <h3 className="mt-3 text-xl font-bold text-zinc-950 dark:text-white">{title}</h3>

    <p className="mt-2 text-sm leading-6 text-zinc-600 dark:text-zinc-400">{description}</p>

    {links && links.length > 0 ? <ul className="mt-5 grid list-none grid-cols-1 gap-x-4 gap-y-2 p-0 sm:grid-cols-2">
        {links.map(link => <li key={link.href} className="m-0 p-0">
            <a href={link.href} className="group inline-flex items-center gap-1.5 text-sm font-medium text-zinc-700 transition-colors hover:text-zinc-950 dark:text-zinc-300 dark:hover:text-white">
              <svg viewBox="0 0 20 20" aria-hidden="true" className="h-3 w-3 shrink-0 text-zinc-400 transition-colors group-hover:text-zinc-600 dark:group-hover:text-zinc-200">
                <path d="M7.5 5 12.5 10 7.5 15" fill="none" stroke="currentColor" strokeWidth="1.8" strokeLinecap="round" strokeLinejoin="round" />
              </svg>
              {link.label}
            </a>
          </li>)}
      </ul> : null}

    <div className="mt-auto pt-6">
      <a href={cta.href} className="abbyy-link-primary inline-flex items-center gap-1.5 text-sm font-semibold">
        {cta.label}
        <span aria-hidden="true">→</span>
      </a>
    </div>
  </div>;

export const HomeHero = ({eyebrow, headline, subhead, primaryCta, secondaryCta, stats}) => <div className="abbyy-stripe relative overflow-hidden border-b border-zinc-200 dark:border-zinc-800">
    <div className="absolute inset-0 bg-gradient-to-b from-transparent via-white/70 to-white dark:via-zinc-950/70 dark:to-zinc-950" />

    <div className="relative mx-auto max-w-6xl px-6 pb-16 pt-16 lg:px-10 lg:pt-24">
      <p className="abbyy-eyebrow text-sm font-semibold uppercase tracking-widest">{eyebrow}</p>

      <h1 className="mt-4 max-w-3xl text-4xl font-extrabold tracking-tight text-zinc-950 sm:text-5xl dark:text-white">
        {headline}
      </h1>

      <p className="mt-7 max-w-2xl text-lg leading-8 text-zinc-600 dark:text-zinc-300">{subhead}</p>

      <div className="mt-8 flex flex-wrap items-center gap-4">
        <a href={primaryCta.href} className="abbyy-btn-primary inline-flex items-center gap-2 rounded-full px-6 py-3 text-sm font-semibold text-white shadow-sm transition-transform hover:-translate-y-0.5 focus:outline-none focus:ring-2 focus:ring-offset-2">
          {primaryCta.label}
          <span aria-hidden="true">→</span>
        </a>
        <a href={secondaryCta.href} className="inline-flex items-center gap-2 rounded-full border border-zinc-300 bg-white px-6 py-3 text-sm font-semibold text-zinc-900 transition-colors hover:border-zinc-400 focus:outline-none focus:ring-2 focus:ring-offset-2 dark:border-zinc-700 dark:bg-zinc-900 dark:text-zinc-100 dark:hover:border-zinc-500">
          {secondaryCta.label}
        </a>
      </div>

      {stats && stats.length > 0 ? <dl className="mt-14 grid max-w-3xl grid-cols-2 gap-x-8 gap-y-6 sm:grid-cols-4">
          {stats.map(stat => <div key={stat.label}>
              <dt className="text-2xl font-extrabold text-zinc-950 dark:text-white">{stat.value}</dt>
              <dd className="mt-1 text-sm text-zinc-600 dark:text-zinc-400">{stat.label}</dd>
            </div>)}
        </dl> : null}
    </div>
  </div>;

<HomeHero eyebrow="ABBYY Documentation" headline="Everything you need to build with ABBYY" subhead="Guides, quickstarts, and API references for ABBYY's document AI platforms, all in one place. Search it, ask the AI assistant, or connect it straight to your own tools." primaryCta={{ label: "Start with Vantage", href: "/vantage/getting-started/overview" }} secondaryCta={{ label: "Browse all product docs", href: "#products" }} />

<div id="products" className="mx-auto max-w-6xl scroll-mt-24 px-6 pt-14 lg:px-10">
  <h2 className="text-2xl font-bold tracking-tight text-zinc-950 dark:text-white">Explore the documentation</h2>

  <div className="mt-6 grid gap-6 md:grid-cols-2">
    <div className="md:col-span-2">
      <ProductTile
        eyebrow="New · Docker container / REST API"
        title="FineParser"
        description="Self-hosted document parsing for AI pipelines. One container, one REST endpoint, and structured DocLang or JSON back. Start free, scale to Enterprise."
        links={[
      { label: "Quickstart", href: "/fine-parser/getting-started/quickstart" },
      { label: "REST API", href: "/fine-parser/concepts/rest-api" },
      { label: "Output formats", href: "/fine-parser/basics/output-formats" },
      { label: "Enterprise", href: "/fine-parser/reference/enterprise" }
    ]}
        cta={{ label: "View FineParser docs", href: "/fine-parser/getting-started/introduction" }}
      />
    </div>

    <ProductTile
      eyebrow="Cloud platform"
      title="Vantage"
      description="AI-powered intelligent document processing in the cloud. Build low-code document skills, use pre-trained ones for 150+ use cases, or automate through the REST API."
      links={[
    { label: "Getting Started", href: "/vantage/getting-started/overview" },
    { label: "Working with Skills", href: "/vantage/documentation/skills/overview" },
    { label: "Skill Catalog", href: "/vantage/documentation/skill-catalog/skill-catalog" },
    { label: "REST API", href: "/vantage/developer/api-introduction" }
  ]}
      cta={{ label: "View Vantage docs", href: "/vantage/introduction" }}
    />

    <ProductTile
      eyebrow="Kubernetes / private cloud"
      title="Vantage Self-Hosted"
      description="Run Vantage on your own Kubernetes infrastructure, on-premises or in your private cloud, with full data residency and compliance control."
      links={[
    { label: "Vantage 3.0 overview", href: "/vantage/self-hosted/v3.0/introduction" },
    { label: "Vantage 2.7 reference", href: "/vantage/self-hosted/v2.7/introduction" }
  ]}
      cta={{ label: "View Self-Hosted docs", href: "/vantage/self-hosted/v3.0/introduction" }}
    />

    <ProductTile
      eyebrow="OCR SDK"
      title="FineReader Engine"
      description="OCR and document recognition SDK for embedding in your own applications. Cross-platform, with DocLang export for LLM and agent workflows."
      links={[
    { label: "Guided Tour", href: "/fine-reader/engine/guided-tour/basic-usage-scenarios-implementation" },
    { label: "API Reference", href: "/fine-reader/engine/api-reference/object-diagram" },
    { label: "Installation", href: "/fine-reader/engine/installation/installation-windows" }
  ]}
      cta={{ label: "View Engine docs", href: "/fine-reader/engine/introduction" }}
    />

    <ProductTile
      eyebrow="On-premises platform"
      title="FlexiCapture"
      description="Intelligent document processing and data capture platform for structured and semi-structured documents, deployed and administered on-premises."
      links={[
    { label: "Administration", href: "/flexi-capture/admin-guide/sa-requirements" },
    { label: "Web Stations", href: "/flexi-capture/web-stations/main" },
    { label: "Developer & API", href: "/flexi-capture/api/overview/api" }
  ]}
      cta={{ label: "View FlexiCapture docs", href: "/flexi-capture/admin-guide/introduction-ag" }}
    />
  </div>
</div>

<CtaBand heading="Bring these docs into your AI assistant" body="Connect the ABBYY documentation MCP server to Claude, Cursor, or VS Code and get answers grounded in these docs while you build." primaryCta={{ label: "Set up the MCP server", href: "/vantage/getting-started/docs-mcp-server" }} />
