> For the complete documentation index, see [llms.txt](https://olddocs.exivity.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://olddocs.exivity.io/3.4.3/data-pipelines/extract.md).

# Extract

## Introduction

Extraction is the process by which USE (Unified Scriptable Extractor) retrieves data from external locations. The following types of data source are supported:

| Type         | Description                                                                                                                                                                             |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **APIs**     | Typically, usage data is retrieved from the API or APIs provided by the cloud (or clouds) for which reports need to be generated. This is usually a REST API accessed via HTTP/S.       |
| **Files**    | A file on the local file-system or on a shared volume. This is usually a CSV, JSON or XML file.                                                                                         |
| **Exivity**  | In some cases it is useful to retrieve information from Exivity itself, such that accounts and usage data that were created historically can be incorporated into the daily processing. |
| **Database** | Arbitrary SQL queries can be executed against an SQL server either via a direct connection string or via an ODBC DSN.                                                                   |
| **Web**      | Arbitrary HTTP queries can be invoked in order to retrieve information from any web page accessible from the Exivity server.                                                            |

## USE script

A *USE script* is required for USE to operate. Further information can be found via the links below:

An introductory overview of the scripting language:

{% content-ref url="/pages/-LfOfNl3cfMrbqA3tm7m" %}
[Script basics](/3.4.3/data-pipelines/extract/basics-1.md)
{% endcontent-ref %}

A reference guide for the USE scripting language:

{% content-ref url="/pages/-LfOfNl5ARiDR1LKyOuQ" %}
[Language](/3.4.3/data-pipelines/extract/language.md)
{% endcontent-ref %}

How to parse XML and JSON data

{% content-ref url="/pages/-LfOfNl44QMDwkZeqSOF" %}
[Parslets](/3.4.3/data-pipelines/extract/parslets.md)
{% endcontent-ref %}

Template scripts that can be used as starting points for common data sources:

{% content-ref url="/pages/-LfOfNl2ZtT2-sSV1c4V" %}
[Templates](/3.4.3/data-pipelines/extract/templates.md)
{% endcontent-ref %}
