> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/sources/category/finance-and-accounting/coin-api/best-practices.md).

# Best Practices

## Recommended setup

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Verify your Symbol ID before building your flow</strong></td><td>Use the Coin API symbol list to confirm the exact ID for your exchange and pair. A single typo returns zero rows with no obvious error message.</td></tr><tr><td><strong>Use Append to compare multiple trading pairs</strong></td><td>Set up one data flow per symbol, then use Coupler.io's Append transformation to combine them into a single table. This is cleaner than trying to pull multiple symbols in one request.</td></tr><tr><td><strong>Match your time interval to your analysis horizon</strong></td><td>For daily trend analysis, use 1-day candles. For intraday work, use 1-hour or 15-minute intervals. Shorter intervals over long date ranges balloon row counts fast.</td></tr></tbody></table>

## Data refresh and scheduling

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Leave end date empty for ongoing flows</strong></td><td>If you want your data flow to always pull up to the latest available data, leave the end date field blank. Coin API will return records up to the current time on every run.</td></tr><tr><td><strong>Set a fixed start date for incremental history</strong></td><td>For scheduled flows tracking a live market, set your start date to a recent anchor point (e.g., the beginning of the current month) rather than a distant date. This keeps each run fast and within your record limit.</td></tr></tbody></table>

## Performance optimization

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Watch your record limit on tick-level data</strong></td><td>Trades and quotes data is extremely granular — a single active symbol can produce tens of thousands of records per hour. Set your limit deliberately and test with a short date range first.</td></tr><tr><td><strong>Use BigQuery for large historical datasets</strong></td><td>If you're pulling months of tick data, route it to BigQuery rather than Google Sheets. Sheets struggles with datasets above ~50,000 rows, while BigQuery handles millions without issue.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
Don't pull 1-second OHLCV data over a multi-month range in a single flow — you'll hit the 100,000-record cap and get a silently truncated dataset. Always check: (interval size) × (date range) ≤ 100,000 rows before running.
{% endhint %}

{% columns %}
{% column %}
**Do**

* Confirm Symbol IDs from the official Coin API docs before setting up a flow
* Test with a short date range and small record limit before expanding to full history
* Use Aggregate transformation to compute daily averages or totals from tick-level data in Coupler.io before loading to your destination
  {% endcolumn %}

{% column %}
**Don't**

* Assume that the same asset pair has the same Symbol ID across exchanges
* Set the record limit to its maximum (100,000) without first estimating how many rows your date range will produce
* Pull Quotes or Trades data into Google Sheets for large date ranges — use a database destination instead
  {% endcolumn %}
  {% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.coupler.io/sources/category/finance-and-accounting/coin-api/best-practices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
