# CSV

The CSV destination in Coupler.io generates a stable, publicly accessible URL that serves your data as a CSV file. Every time your data flow runs, the URL updates with fresh data — making it easy to import into spreadsheets, BI tools, databases, or any application that supports CSV.

CSV is one of the most universal data formats. If your target tool can read a CSV file or fetch data from a URL, this destination will work.

## Why use CSV as a destination?

* **Universal format** — virtually every spreadsheet, database, BI tool, and programming language can read CSV files
* **Stable URL** — the link stays the same between runs, so you configure your target tool once and data refreshes automatically
* **No authentication on the destination side** — no database credentials, no OAuth, just a URL with an access token
* **Excel-friendly mode** — built-in BOM (byte order mark) support ensures special characters display correctly when opening the file in Excel
* **Works with any Coupler.io source** — pull data from HubSpot, Shopify, Google Ads, Airtable, or any other supported source and export it as CSV

## Prerequisites

* Your target tool or script must be able to import CSV files or make GET requests to an HTTPS URL

## Quick start

{% hint style="success" %}
The CSV destination requires almost no configuration. Focus on getting your source data right — once you generate the URL, any tool that reads CSV can consume it immediately.
{% endhint %}

## How to connect

{% stepper %}
{% step %}
**Add a source to your data flow.** Log in to Coupler.io and create a new data flow. Select your data source (for example, HubSpot, Shopify, or Google Analytics) and configure it to pull the data you need.
{% endstep %}

{% step %}
**Select CSV as the destination.** In the destination step of your data flow setup, choose **CSV** from the list of available destinations.
{% endstep %}

{% step %}
**Generate the integration URL.** Click **Generate link**. Coupler.io will create a unique URL for your data flow. This URL is stable — it stays the same across every run, while the data it serves updates each time the flow runs.
{% endstep %}

{% step %}
**Run the data flow.** Click **Save and Run** to execute the data flow for the first time. This initial run is required to populate the URL with data. The CSV endpoint will return a 404 error until at least one successful run has completed.
{% endstep %}

{% step %}
**Copy and use your URL.** Once the run completes, copy the generated URL. Paste it into Excel, Google Sheets (via IMPORTDATA), a Python script, or any other tool that consumes CSV. The data will be available immediately.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
If you ever need to invalidate the current URL (for example, if the access token was exposed), click **Update** to generate a new link. Any integrations using the old URL will need to be updated.
{% endhint %}

## Supported features

| Feature              | Supported |
| -------------------- | --------- |
| Replace mode         | Yes       |
| Append mode          | No        |
| Automatic scheduling | Yes       |
| Type enforcement     | No        |
| Templates            | No        |
