# Best Practices

## Recommended setup

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Match interval to your use case</strong></td><td>Use daily (`1d`) for portfolio tracking and long-term analysis. Reserve intraday intervals (`1m`, `5m`) only for short-term or algorithmic work — they're restricted to recent data and generate far more rows.</td></tr><tr><td><strong>Group tickers into one data flow</strong></td><td>Enter multiple tickers as a comma-separated list in a single source rather than creating one data flow per ticker. This keeps your workspace tidy and reduces the number of API calls you make.</td></tr><tr><td><strong>Use Append for multi-account or multi-source setups</strong></td><td>If you need to pull tickers from different API keys (e.g., separate team accounts), set up separate sources and use Coupler.io's Append transformation to merge them into one unified dataset at the destination.</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>Schedule after market close for daily data</strong></td><td>If you're pulling daily prices, schedule your data flow to run after the market closes (e.g., after 4:30 PM ET for US stocks) so you always capture the final settled close price rather than an intraday snapshot.</td></tr><tr><td><strong>Don't over-refresh intraday data</strong></td><td>Pulling 1-minute data every few minutes burns through your API quota quickly. Match your refresh frequency to your actual decision-making cadence — hourly refreshes are sufficient for most intraday monitoring needs.</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>Use longer intervals with the `max` range</strong></td><td>If you need the full price history of a stock, use `1mo` or `1wk` intervals instead of `1d`. Daily data going back decades can produce tens of thousands of rows, which slows down spreadsheets and increases processing time.</td></tr><tr><td><strong>Store snapshots instead of overwriting</strong></td><td>Because Adjusted Close values can change retroactively, consider appending each data pull to a historical log rather than replacing it. This gives you a stable audit trail for return calculations.</td></tr></tbody></table>

## Common pitfalls

{% hint style="danger" %}
Do not combine short intervals with long date ranges — Yahoo Finance will return no data and your data flow will appear to succeed but produce empty results. Always verify the interval/range compatibility before scheduling.
{% endhint %}

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

* Verify ticker symbols on Yahoo Finance before adding them to a data flow
* Use Adjusted Close for return and performance calculations
* Test with a single ticker first before adding a large list
* Check your API plan's monthly request limit before scheduling frequent refreshes
  {% endcolumn %}

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

* Use `1m` or `5m` intervals with date ranges longer than 7 days
* Assume gaps in the data are a bug — weekends and holidays are always missing
* Overwrite historical price data in place if you need stable Adjusted Close records
* Add dozens of tickers without checking whether your API plan supports the request volume
  {% endcolumn %}
  {% endcolumns %}
