> ## Documentation Index
> Fetch the complete documentation index at: https://unstructured-53-docs-243-plugins.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Unstructured

Unstructured provides a platform and tools to ingest and process unstructured documents for Retrieval Augmented Generation (RAG) and model fine-tuning.

This 60-second video describes more about what Unstructured does and its benefits:

<iframe width="560" height="315" src="https://www.youtube.com/embed/b2AcxJDXOLs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

This 40-second video demonstrates a simple use case that Unstructured helps solve:

<iframe width="560" height="315" src="https://www.youtube.com/embed/E-tupjji22U" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

Unstructured offers the Unstructured user interface (UI) and the Unstructured API. Read on to learn more.

## <Icon icon="computer" />    Unstructured user interface (UI)

No-code UI. Production-ready. Pay as you go. [Learn more](/ui/overview).

Here is a screenshot of the Unstructured UI **Start** page:

<img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Start-Screen-Partial.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=6e53118dd2dfaa8c155aff47597e0987" alt="Partial view of the Unstructured UI" width="1824" height="916" data-path="img/ui/Start-Screen-Partial.png" />

This 90-second video provides a brief overview of the Unstructured UI:

<iframe width="560" height="315" src="https://www.youtube.com/embed/IVKcQDZa9Zc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

<Tip>To start using the Unstructured UI right away, skip ahead to the [quickstart](#unstructured-ui-quickstart).</Tip>

## <Icon icon="square-terminal" />    Unstructured API

Use scripts or code. Production-ready. Pay as you go. [Learn more](/api-reference/overview).

The Unstructured API consists of two parts:

* The [Unstructured Workflow Endpoint](/api-reference/overview) enables a full range of partitioning, chunking, embedding, and
  enrichment options for your files and data. It is designed to batch-process files and data in remote locations; send processed results to
  various storage, databases, and vector stores; and use the latest and highest-performing models on the market today. It has built-in logic
  to deliver the highest quality results at the lowest cost. [Learn more](/api-reference/overview).
* The [Unstructured Partition Endpoint](/api-reference/partition/overview) is intended for rapid prototyping of Unstructured's
  various partitioning strategies, with limited support for chunking. It is designed to work only with processing of local files, one file
  at a time. Use the [Unstructured Workflow Endpoint](/api-reference/overview) for production-level scenarios, file processing in
  batches, files and data in remote locations, generating embeddings, applying post-transform enrichments, using the latest and
  highest-performing models, and for the highest quality results at the lowest cost. [Learn more](/api-reference/partition/overview).

Here is a screenshot of some Python code that calls the Unstructured Workflow Endpoint:

<img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Python-Workflow-Code-Partial.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=50d56e750706747f390d5469b7860b46" alt="Python code that calls the Unstructured Workflow Endpoint" width="622" height="571" data-path="img/ui/Python-Workflow-Code-Partial.png" />

<Tip>To start using the Unstructured Workflow Endpoint right away, skip ahead to the [quickstart](#unstructured-workflow-endpoint-quickstart).</Tip>

***

## <Icon icon="files" />   Supported file types

Unstructured supports processing of the following file types:

By file extension:

| File extension |
| -------------- |
| `.bmp`         |
| `.csv`         |
| `.doc`         |
| `.docx`        |
| `.eml`         |
| `.epub`        |
| `.heic`        |
| `.html`        |
| `.jpeg`        |
| `.png`         |
| `.md`          |
| `.msg`         |
| `.odt`         |
| `.org`         |
| `.p7s`         |
| `.pdf`         |
| `.png`         |
| `.ppt`         |
| `.pptx`        |
| `.rst`         |
| `.rtf`         |
| `.tiff`        |
| `.txt`         |
| `.tsv`         |
| `.xls`         |
| `.xlsx`        |
| `.xml`         |

By file type:

| Category          | File types                                |
| ----------------- | ----------------------------------------- |
| CSV               | `.csv`                                    |
| E-mail            | `.eml`, `.msg`, `.p7s`                    |
| EPUB              | `.epub`                                   |
| Excel             | `.xls`, `.xlsx`                           |
| HTML              | `.html`                                   |
| Image             | `.bmp`, `.heic`, `.jpeg`, `.png`, `.tiff` |
| Markdown          | `.md`                                     |
| Org Mode          | `.org`                                    |
| Open Office       | `.odt`                                    |
| PDF               | `.pdf`                                    |
| Plain text        | `.txt`                                    |
| PowerPoint        | `.ppt`, `.pptx`                           |
| reStructured Text | `.rst`                                    |
| Rich Text         | `.rtf`                                    |
| TSV               | `.tsv`                                    |
| Word              | `.doc`, `.docx`                           |
| XML               | `.xml`                                    |

***

## <Icon icon="computer" />   Unstructured UI quickstart

This quickstart uses a no-code, point-and-click user interface in your web browser to get all of your data RAG-ready. Data is processed on Unstructured-hosted compute resources.

The requirements are as follows.

* A compatible source (input) location that contains your data for Unstructured to process. [See the list of supported source types](/ui/connectors#sources).
* For document-based source locations, compatible files in that location. [See the list of supported file types](/ui/supported-file-types). If you do not have any files available, you can download some from the [example-docs](https://github.com/Unstructured-IO/unstructured-ingest/tree/main/example-docs) folder in the Unstructured repo on GitHub.
* A compatible destination (output) location for Unstructured to put the processed data. [See the list of supported destination types](/ui/connectors#destinations).

<iframe width="560" height="315" src="https://www.youtube.com/embed/Wn2FfHT6H-o" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />

<Steps>
  <Step title="Sign up and sign in">
    1. Go to [https://platform.unstructured.io](https://platform.unstructured.io) and use your email address, Google account, or GitHub account to
       sign up for an Unstructured account (if you do not already have one) and sign into the account at the same time. The
       [Unstructured user interface (UI)](/ui/overview) appears, and you can start using it right away.
    2. If you also want to use the [Unstructured API](/api-reference/overview) later, you must get your API key first:

       a. In the Unstructured UI, click **API Keys** on the sidebar.<br />
       b. Click **Generate API Key**.<br />
       c. Follow the on-screen instructions to finish generating the key.<br />
       d. Click the **Copy** icon next to your new key to add the key to your system's clipboard. If you lose this key, simply return and click the **Copy** icon again.<br />

    <Tip>
      By following the preceding instructions, you are signed up for a [Developer](https://unstructured.io/developers) pay per page account by default.

      To save money, consider switching to a [Subscribe & Save](https://unstructured.io/subscribeandsave) account instead. To save even more money,
      consider switching to an [Enterprise](https://unstructured.io/enterprise) account instead.
    </Tip>
  </Step>

  <Step title="Set the source (input) location">
    <img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Sources-Sidebar.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=fcd6d6b24dd58d1881bee634484ff5bf" alt="Sources in the sidebar" width="522" height="509" data-path="img/ui/Sources-Sidebar.png" />

    1. From your Unstructured  dashboard, in the sidebar, click **Connectors**.
    2. Click **Sources**.
    3. Cick **New** or **Create Connector**.
    4. For **Name**, enter some unique name for this connector.
    5. In the **Provider** area, click the source location type that matches yours.
    6. Click **Continue**.
    7. Fill in the fields with the appropriate settings. [Learn more](/ui/sources/overview).
    8. If a **Continue** button appears, click it, and fill in any additional settings fields.
    9. Click **Save and Test**.
  </Step>

  <Step title="Set the destination (output) location">
    <img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Destinations-Sidebar.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=4bbcacc74ab1cab8e18683af1d65e3ff" alt="Destinations in the sidebar" width="519" height="505" data-path="img/ui/Destinations-Sidebar.png" />

    1. In the sidebar, click **Connectors**.
    2. Click **Destinations**.
    3. Cick **New** or **Create Connector**.
    4. For **Name**, enter some unique name for this connector.
    5. In the **Provider** area, click the destination location type that matches yours.
    6. Click **Continue**.
    7. Fill in the fields with the appropriate settings. [Learn more](/ui/sources/overview).
    8. If a **Continue** button appears, click it, and fill in any additional settings fields.
    9. Click **Save and Test**.
  </Step>

  <Step title="Define the workflow">
    <img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Workflows-Sidebar.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=a4b1eb58b36b4108fa26ad131cb345bd" alt="Workflows in the sidebar" width="1084" height="413" data-path="img/ui/Workflows-Sidebar.png" />

    1. In the sidebar, click **Workflows**.

    2. Click **New Workflow**.

    3. Next to **Build it for Me**, click **Create Workflow**.

       <Note>If a radio button appears instead of **Build it for Me**, select it, and then click **Continue**.</Note>

    4. For **Workflow Name**, enter some unique name for this workflow.

    5. In the **Sources** dropdown list, select your source location from Step 3.

    6. In the **Destinations** dropdown list, select your destination location from Step 4.

       <Note>You can select multiple source and destination locations. Files will be ingested from all of the selected source locations, and the processed data will be delivered to all of the selected destination locations.</Note>

    7. Click **Continue**.

    8. The **Reprocess All** box applies only to blob storage connectors such as the Amazon S3, Azure Blob Storage, and Google Cloud Storage connectors:

       * Checking this box reprocesses all documents in the source location on every workflow run.
       * Unchecking this box causes new documents that have been added to the source location, as well as existing documents in the source location that have had their contents or titles changed, since the last workflow run to be processed on future runs. Other previously processed documents are not processed again.

    9. Click **Continue**.

    10. If you want this workflow to run on a schedule, in the **Repeat Run** dropdown list, select one of the scheduling options, and fill in the scheduling settings. Otherwise, select **Don't repeat**.

    11. Click **Complete**.
  </Step>

  <Step title="Process the documents">
    <img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Workflows-Sidebar.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=a4b1eb58b36b4108fa26ad131cb345bd" alt="Workflows in the sidebar" width="1084" height="413" data-path="img/ui/Workflows-Sidebar.png" />

    1. If you did not choose to run this workflow on a schedule in Step 5, you can run the workflow now: on the sidebar, click **Workflows**.
    2. Next to your workflow from Step 5, click **Run**.
  </Step>

  <Step title="Monitor the processing job">
    <img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Select-Job.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=a20ea038d9764ea663f0d66c59cc360b" alt="Select a job" width="1081" height="413" data-path="img/ui/Select-Job.png" />

    <img src="https://mintcdn.com/unstructured-53-docs-243-plugins/wArBQTW-NUzsvTl2/img/ui/Job-Complete.png?fit=max&auto=format&n=wArBQTW-NUzsvTl2&q=85&s=bc19ae8d5bd37e2da9374db4b9d29fbe" alt="Completed job" width="371" height="575" data-path="img/ui/Job-Complete.png" />

    1. In the sidebar, click **Jobs**.
    2. In the list of jobs, wait for the job's **Status** to change to **Finished**.
    3. Click the row for the job.
    4. After **Overview** displays **Finished**, go to the next Step.
  </Step>

  <Step title="View the processed data">
    Go to your destination location to view the processed data.
  </Step>
</Steps>

[Learn more about the Unstructured UI](/ui/overview).

***

## <Icon icon="square-terminal" />   Unstructured Workflow Endpoint quickstart

This quickstart uses the Unstructured Python SDK to call the Unstructured Workflow Endpoint to get your data RAG-ready. The Python code for this
quickstart is in a remote hosted Google Collab notebook. Data is processed on Unstructured-hosted compute resources.

The requirements are as follows:

* A compatible source (input) location that contains your data for Unstructured to process. [See the list of supported source types](/ui/connectors#sources).
  This quickstart uses an Amazon S3 bucket as the source location. If you use a different source type, you will need to modify the quickstart notebook accordingly.
* For document-based source locations, compatible files in that location. [See the list of supported file types](/ui/supported-file-types). If you do not have any files available, you can download some from the [example-docs](https://github.com/Unstructured-IO/unstructured-ingest/tree/main/example-docs) folder in the `Unstructured-IO/unstructured-ingest` repository in GitHub.
* A compatible destination (output) location for Unstructured to put the processed data. [See the list of supported destination types](/ui/connectors#destinations).
  For this quickstart's destination location, a different folder in the same Amazon S3 bucket as the source location is used. If you use a different destination S3 bucket or a different destination type, you will need to modify the quickstart notebook accordingly.

<Steps>
  <Step title="Sign up, sign in, and get your API key">
    1. Go to [https://platform.unstructured.io](https://platform.unstructured.io) and use your email address, Google account, or GitHub account to
       sign up for an Unstructured account (if you do not already have one) and sign into the account at the same time. The
       [Unstructured user interface (UI)](/ui/overview) appears.
    2. Get your Unstructured API key:

       a. In the Unstructured UI, click **API Keys** on the sidebar.<br />
       b. Click **Generate API Key**.<br />
       c. Follow the on-screen instructions to finish generating the key.<br />
       d. Click the **Copy** icon next to your new key to add the key to your system's clipboard. If you lose this key, simply return and click the **Copy** icon again.<br />

    <Tip>
      By following the preceding instructions, you are signed up for a [Developer](https://unstructured.io/developers) pay per page account by default.

      To save money, consider switching to a [Subscribe & Save](https://unstructured.io/subscribeandsave) account instead. To save even more money,
      consider switching to an [Enterprise](https://unstructured.io/enterprise) account instead.
    </Tip>
  </Step>

  <Step title="Create and set up the S3 bucket">
    This quickstart uses an Amazon S3 bucket as both the source location and the destination location.
    (You can use other source and destination types that are supported by Unstructured.
    If you use a different source or destination type, or if you use a different S3 bucket for the destination location,
    you will need to modify the quickstart notebook accordingly.)

    Inside of the S3 bucket, a folder named `input` represents the
    source location. This is where your files to be processed will be stored.
    The S3 URI to the source location will be `s3://<your-bucket-name>/input`.

    Inside of the same S3 bucket, a folder inside named `output` represents the destination location. This
    is where Unstructured will put the processed data.
    The S3 URI to the destination location will be `s3://<your-bucket-name>/output`.

    Learn how to [create an S3 bucket and set it up for Unstructured](/api-reference/workflow/sources/s3). (Do not run the Python SDK code or REST commands at the end of those setup instructions.)
  </Step>

  <Step title="Run the quickstart notebook">
    After your S3 bucket is created and set up, follow the instructions in this [quickstart notebook](https://colab.research.google.com/drive/13f5C9WtUvIPjwJzxyOR3pNJ9K9vnF4ww).
  </Step>

  <Step title="View the processed data">
    After you run the quickstart notebook, go to your destination location to view the processed data.
  </Step>
</Steps>

[Learn more about the Unstructured API](/api-reference/overview).

***

## <Icon icon="question" />    Get in touch

If you can't find the information you're looking for in the documentation, or if you need help,
[contact us directly](https://unstructured.io/contact),
or [join our Slack](https://short.unstructured.io/pzw05l7) where our team and community can help you.
