# Step-by-Step Guide

Fredhopper supports ingesting product data using flat files, i.e. CSV or JSON, that are packaged into ZIP archives and uploaded via the Fredhopper REST API to the Fredhopper Access Server (FAS). Below is a step-by-step technical guide for sending product data to Fredhopper (FHR) using flat files.

{% stepper %}
{% step %}

#### Familiarize yourself with the item data structure

Export your data and format it. You can read more about the Fredhopper item data structure [here](/product-discovery/sending-and-managing-product-data/flatfiles/item-data-structure.md).
{% endstep %}

{% step %}

#### Decide which type of feed you are sending

| Feed Type        | Purpose                                                        |
| ---------------- | -------------------------------------------------------------- |
| Full Feed        | Replaces the full catalog                                      |
| Incremental Feed | Sends only new or modified product records since the last feed |

{% hint style="success" %}
We recommend sending at least one full feed per day to ensure the entire catalog remains synchronized. Incremental feeds should be sent more frequently (for example, every 15–60 minutes) to reflect ongoing changes such as price or stock updates.
{% endhint %}
{% endstep %}

{% step %}

#### Prepare your data

The required data and files depend on the type of flat file and feed:

<table data-header-hidden><thead><tr><th></th><th width="229"></th><th></th></tr></thead><tbody><tr><td>Type of flat file/type of feed</td><td><strong>Full</strong></td><td><strong>Incremental</strong></td></tr><tr><td><strong>CSV</strong></td><td><a href="/pages/2Z7BxL1FIZ857jkepBhK">Full feed CSV data format</a></td><td><a href="/pages/y9PhIAPfLeT7i1cktxAt">Incremental feed CSV data format</a></td></tr><tr><td><strong>JSON</strong></td><td><a href="/pages/2HoJmXVnoimGtdU0VH7y">Full feed JSON data format</a></td><td><a href="/pages/vun1d9jyzCUVKN4RN69l">Incremental feed JSON data format</a></td></tr></tbody></table>
{% endstep %}

{% step %}

#### Upload product data

You can read more about the steps required to upload your product data [here](/product-discovery/sending-and-managing-product-data/flatfiles/item-data-structure.md).
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://crownpeak.gitbook.io/product-discovery/sending-and-managing-product-data/flatfiles/step-by-step-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
