---
title: Indexing Data
description: Indexing Data - Luigi's Box API reference.
slug: indexing
docKind: hub
hub: indexing
tableOfContents: false
---

To use Luigi's Box product discovery APIs, you need to synchronize your product catalog with our service. Once we have your catalog, we continuously match it with analytics data and use that feedback to improve ranking and personalization.

Luigi's Box supports two primary catalog synchronization paths: near real-time updates through the content APIs or periodic processing through feeds. While both are supported, the content APIs are the preferred path whenever you can implement them.

## Choose your integration path

<div class="choice-container">
  <a class="choice-card" href="/indexing/api/">
    <span class="choice-badge" data-recommended="true">Preferred path</span>
    <h3>Content Updates API</h3>
    <p>Use the indexing APIs for near real-time synchronization, partial updates, and generation-safe bulk imports.</p>
    <ul class="advantages-list">
      <li>Best freshness and control.</li>
      <li>Supports full and partial updates.</li>
      <li>Fits modern backend integrations.</li>
    </ul>
  </a>
  <a class="choice-card" href="/indexing/feeds/">
    <span class="choice-badge">Batch sync</span>
    <h3>Feeds</h3>
    <p>Use XML, JSON, or CSV feeds when your platform already exports batch catalog files on a schedule.</p>
    <ul class="advantages-list">
      <li>Simple to adopt when feeds already exist.</li>
      <li>Works with multiple structured formats.</li>
      <li>Good fit for periodic synchronization.</li>
    </ul>
  </a>
</div>

## Start here

<div class="lb-overview-links">
  <p>
    <strong>Need the shared data model first?</strong>
    Start with the <a href="/quickstart/indexing/data-layout/">indexing data layout quickstart</a>.
  </p>
  <p>
    <strong>Implementing the preferred API path?</strong>
    Continue with <a href="/quickstart/indexing/indexing-api/">Indexing with Luigi's Box</a>.
  </p>
  <p>
    <strong>Implementing through exported files?</strong>
    Continue with the main <a href="/indexing/feeds/">Feeds documentation</a>.
  </p>
</div>

## Core concepts

Regardless of the integration path you choose, understanding these core concepts is essential for a successful implementation.

- [**Data Layout:**](/indexing/data-layout/) Luigi's Box follows a "convention over configuration" approach. While you have flexibility in naming attributes, several special fields have predefined behaviors that impact search results and ranking. For example, `availability` is used to sort available products first, `price` is used for faceting and value extraction, and `image_link` is used by frontend components to display product images.
- [**Object Identity:**](/platform-foundations/identity/) Before indexing, it's crucial to establish a stable, unique identity for every object (product, category, etc.). This identity is the key that links the indexed object in your catalog to the behavioral data collected through analytics events, forming the feedback loop that powers our AI-driven ranking.
- [**Content Export:**](/indexing/api/v1/export/) Once your data is indexed, you can retrieve it at any time using the [Content Export API](/indexing/api/v1/export/). This endpoint allows you to download your entire catalog stored in Luigi's Box for verification, backup, or other purposes. The results are paginated and the API is designed for bulk export, not real-time consumption.
