--- title: Getting Started keywords: "getting started, openbb, bots, api, beginner guide, how to use openbb, openbb keys, openbb terminal, openbb" excerpt: "This page guides you how to use the OpenBB terminal, developed by OpenBB." description: "The OpenBB Documentation provides guidance on how to use the OpenBB Terminal, a free, custom built financial terminal that will help you make more informed decisions, faster." geekdocCollapseSection: true --- ## Introduction OpenBB is a leading open source investment analysis company. We represent millions of investors who want to leverage state-of-the-art data science and machine learning technologies to make sense of raw unrefined data. Our mission is to make investment research effective, powerful and accessible to everyone. **All our products are Free and Open-Source (FOSS).** [![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] [![Contributors][contributors-shield]][contributors-url] [![MIT License][license-shield]][license-url] [![Twitter][twitter-shield]][twitter-url] ---



The OpenBB Terminal is centered around keyboard input. To navigate and perform analysis you will have to type in the name of the command followed by an `ENTER` (⏎). If you wish to see information about the OpenBB Terminal you can do so by typing `about` and then press `ENTER` (⏎). As you are typing, you will notice that you receive suggestions, by using the `DOWN` (⌄) arrow and pressing `ENTER` (⏎) you can select the command and execute it.
Throughout the entire terminal, the same set of colors are used which all share the same representation. This is structured as follows:
- Light Blue: represents commands.
- Dark Blue: represents menus, also recognizable by the `>` in front.
- Orange: represents titles and headers.
- Yellow: represents descriptions of a parameter or variable.
- White: represents text, usually in combination with a description that is in Yellow.
### Explanation of Menus
Menus, depicted in Dark Blue, take you to a new section of the terminal referred
to as a menu. For example, if you wish to view information about stocks, you can do so by typing `stocks` and pressing `ENTER` (⏎).
This opens a new menu as depicted below.
Depending on the menu you are in, you are presented with a new set of commands (see Explanation of Commands)
and menus you can select. There are interactions in place between each menu. For example, when selecting a company within
the `stocks` menu, the terminal will remember your selection when you visit the `fa` or `options` menu.
See Introduction to Stocks for more information.
### Explanation of Commands
Commands, depicted in Light Blue, execute an action or task. For example,
the commands that you are able to use from any menu in the terminal (see Explanation of Menus) are as follows:
- `cls`: clears the screen, by executing this command you are left with an empty screen.
- `help`, `h` or `?`: displays the menu that you are currently on.
- `quit`, `q` or `..`: allows for navigation through the menu. E.g. if you type `stocks` press `ENTER` (⏎) and then
use `q` and press `ENTER` (⏎) you return to where you started. Validate this by typing `?` and pressing `ENTER` (⏎).
- `support`: allows you to submit bugs, questions and suggestions.
Continuing with the example mentioned at `quit`, revisit the `stocks` menu and look at the commands. At the top you
will see a command named load. To understand what this command can do, you can use `load -h` followed by `ENTER` (⏎). The `-h` stands for `help` and every command will have this feature. This will return the following:
```
2022 May 19, 05:27 (🦋) /stocks/ $ load -h
usage: load [-t TICKER] [-s START] [-e END] [-i {1,5,15,30,60}] [--source {yf,av,iex,polygon}] [-p] [-f FILEPATH] [-m] [-w] [-r {ytd,1y,2y,5y,6m}] [-h]
Load stock ticker to perform analysis on. When the data source is yf (Yahoo Finance), an Indian ticker can be loaded by using '.NS'at the end, e.g. 'SBIN.NS'. See available market in https://help.yahoo.com/kb/exchanges-data-providers-yahoo-finance-sln2310.html.
optional arguments:
-t TICKER, --ticker TICKER
Stock ticker (default: None)
-s START, --start START
The starting date (format YYYY-MM-DD) of the stock (default: 2019-05-15)
-e END, --end END The ending date (format YYYY-MM-DD) of the stock (default: 2022-05-19)
-i {1,5,15,30,60}, --interval {1,5,15,30,60}
Intraday stock minutes (default: 1440)
--source {yf,av,iex,polygon}
Source of historical data. (default: yf)
-p, --prepost Pre/After market hours. Only works for 'yf' source, and intraday data (default: False)
-f FILEPATH, --file FILEPATH
Path to load custom file. (default: None)
-m, --monthly Load monthly data (default: False)
-w, --weekly Load weekly data (default: False)
-r {ytd,1y,2y,5y,6m}, --iexrange {ytd,1y,2y,5y,6m}
Range for using the iexcloud api. Note that longer range requires more tokens in account (default: ytd)
-h, --help show this help message (default: False)
```
This shows you all **arguments** the command has. These are additional options you can provide to the command. Each
default value is also displayed which is used when you do not select this option. For example, if I would use the stock ticker
of Amazon (AMZN, which can also be found with `search amazon`), I can use `load AMZN` which will return the following:
```
2022 May 19, 05:27 (🦋) /stocks/ $ load AMZN
Loading Daily AMZN stock with starting period 2019-05-15 for analysis.
Datetime: 2022 May 19 05:33
Timezone: America/New_York
Currency: USD
Market: OPEN
Company: Amazon.com, Inc.
AMZN Performance
┏━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ 1 Day ┃ 1 Week ┃ 1 Month ┃ 1 Year ┃ YTD ┃ Volatility (1Y) ┃ Volume (10D avg) ┃ Last Price ┃
┡━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ -3.34 % │ 1.65 % │ -32.26 % │ -33.71 % │ -37.14 % │ 31.36 % │ 5.51 M │ 2142.25 │
└─────────┴────────┴──────────┴──────────┴──────────┴─────────────────┴──────────────────┴────────────┘
```
The default values you see within `load -h` have been inputted here. E.g. the starting period is 2019-05-15. I can
decide to change these default values by calling the argument and inputting a different value. Let's change the starting
and ending period of the data that is being loaded in by doing the following:
```
2022 May 19, 05:38 (🦋) /stocks/ $ load AMZN -s 2005-01-01 -e 2010-01-01
Loading Daily AMZN stock with starting period 2005-01-01 for analysis.
Datetime: 2022 May 19 05:43
Timezone: America/New_York
Currency: USD
Market: OPEN
Company: Amazon.com, Inc.
AMZN Performance
┏━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ 1 Day ┃ 1 Week ┃ 1 Month ┃ 1 Year ┃ Period ┃ Volatility (1Y) ┃ Volume (10D avg) ┃ Last Price ┃
┡━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
│ -3.51 % │ -3.18 % │ -2.87 % │ 162.32 % │ 203.73 % │ 49.78 % │ 8.53 M │ 134.52 │
└─────────┴─────────┴─────────┴──────────┴──────────┴─────────────────┴──────────────────┴────────────┘
```
We can check that this period has changed by looking into the candle chart with `candle`. This, again shares the same `-h` argument. This results in the following which indeed depicts our
selected period.
```
2022 May 19, 05:44 (🦋) /stocks/ $ candle
```
As mentioned in the Explanation of Menus, some information also transfers over to other menus and this includes the
loaded market data from load.
So, if you would visit the `ta` menu (which stands for Technical Analysis) you will see that, by running any command, the selected period above is depicted again. Return to the Stocks menu again by using `q` and use it again to return to the home screen which can be shown with `?`.
## Accessing other sources of data via API keys
Within this menu you can define your, often free, API key from various platforms like Alpha Vantage, FRED, IEX, Twitter, DeGiro, Binance and Coinglass. API keys are in essence a set of random characters that is unique to you.
You can access this menu from the homepage with `keys` which will open the menu as shown below:
Within this menu you are able to set your API keys to access the commands that require that key. You can do so by typing the command followed by the API key, for example: `fred a215egade08a8d47cfd49c849658a2be`. When you press `ENTER` (⏎) the terminal will test whether this API key works. If it does, you receive the message `defined, test passed` and if it does not, you receive the message `defined, test failed`.
To figure out where you can obtain the API key, you can enter the command (e.g. `av`) and press `ENTER` (⏎) or use the table below. **We recommend that you gradually obtain and set keys whenever you wish to use features that require an API key. For example, if you are interested in viewing recent news about a company, you should set the API key from the 'News API'.**
| Command | Name | URL |
|:-----------|:-----------------------------------------|:-----------------------------------------------------------------------------------|
| av | AlphaVantage | https://www.alphavantage.co/support/#api-key |
| fmp | Financial Modelling Prep | https://site.financialmodelingprep.com/developer/docs/ |
| quandl | Quandl | https://www.quandl.com |
| polygon | Polygon | https://polygon.io |
| fred | Federal Reserve Economic Database (FRED) | https://fred.stlouisfed.org |
| news | News API | https://newsapi.org/ |
| tradier | Tradier | https://developer.tradier.com |
| cmc | CoinMarketCap | https://coinmarketcap.com/ |
| finnhub | Finnhub | https://finnhub.io/ |
| iex | IEX Cloud | https://iexcloud.io/ |
| reddit | Reddit | https://www.reddit.com/wiki/api |
| twitter | Twitter | https://developer.twitter.com |
| rh | Robinhood | https://robinhood.com/us/en/ |
| degiro | DeGiro | https://www.degiro.com/ |
| oanda | Oanda | https://developer.oanda.com |
| binance | Binance | https://binance.com |
| bitquery | Bitquery | https://bitquery.io/ |
| si | Sentiment Investor | https://sentimentinvestor.com |
| cb | Coinbase | https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key |
| walert | Whale Alert | https://docs.whale-alert.io/ |
| glassnode | Glassnode | https://docs.glassnode.com/basic-api/api-key#how-to-get-an-api-key/ |
| coinglass | Coinglass | https://coinglass.github.io/API-Reference/#api-key |
| ethplorer | Ethplorer | https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API |
| smartstake | Smartstake | https://www.smartstake.io |
| github | GitHub | https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api |
## Available menus within the OpenBB Terminal
There is a large collection of (sub) menus available. Here, the asset class and other menus are described. To find a detailed description and explanation of its usage for each menu, click on the corresponding link to visit the introduction page.
The asset class menus are as follows:
- Introduction to Stocks: access historical pricing data, options, sector and
industry analysis, and overall due diligence.
- Introduction to Crypto: dive into onchain data, tokenomics, circulation supply,
nfts and more.
- Introduction to ETF: explore exchange traded funds, historical pricing, holdings
and screeners.
- Introduction to Forex: see foreign exchanges, quotes, forward rates for currency
pairs and Oanda integration.
- Introduction to Funds: discover mutual funds, general overviews, holdings and
sector weights.
The other menus are as follows:
- Introduction to Economy: explore global macroeconomic data including
interest and inflation rates, GDP and its components, futures, yield curves and treasury rates.
- Introduction to Alternative: explore alternative datasets such as COVID and
open source metrics.
- Introduction to Econometrics: perform (advanced) regression techniques and
statistical tests on custom datasets to understand relationships for both time series and panel data.
- Introduction to Portfolio: understand how your portfolio evolved over time, what
assets contributed the most to this performance, compare this to a benchmark and make adjustments via various portfolio
optimization techniques.
- Introduction to Dashboards: see interactive dashboards using voila and
jupyter notebooks.
- Introduction to Reports (Work in Progress): create customizable research reports through jupyter notebooks.
To adjust the lay-out and settings of the OpenBB Terminal you can access the `settings` menu. This menu allows you to
tweak how the terminal behaves. For example, you are able to define the coloring, interactive graphs and whether to use
pretty tables.
## Obtaining support and/or giving feedback
Being an open source platform that wishes to tailor to the needs of any type of investor, we highly encourage anyone
to share with us their experience and/or how we can further improve the OpenBB Terminal. This can be anything
from a very small bug to a new feature to the implementation of a highly advanced Machine Learning model.
You are able to directly send us information about a bug or question/suggestion from inside the terminal by using
the `support` command which is available everywhere in the terminal. Here you can select which command you want to
report a bug, ask a question or make a suggestion on. When you press `ENTER` (⏎), you are taken to the Support form
which is automatically filled with your input. You are only required to include the type (e.g. bug, suggestion or
question) and message in the form although this can also be set directly from inside the terminal (see `support -h`).
Alternatively, you can contact us via the following routes:
- If you notice that a feature is missing inside the terminal, please fill in the Request a Feature form.
- If you wish to report a bug, have a question/suggestion or anything else, please fill in the Support form.
- If you wish to speak to us directly, please contact us via Discord.
[contributors-shield]: https://img.shields.io/github/contributors/OpenBB-finance/OpenBBTerminal.svg?style=for-the-badge
[contributors-url]: https://github.com/OpenBB-finance/OpenBBTerminal/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/OpenBB-finance/OpenBBTerminal.svg?style=for-the-badge
[forks-url]: https://github.com/OpenBB-finance/OpenBBTerminal/network/members
[stars-shield]: https://img.shields.io/github/stars/OpenBB-finance/OpenBBTerminal.svg?style=for-the-badge
[stars-url]: https://github.com/OpenBB-finance/OpenBBTerminal/stargazers
[issues-shield]: https://img.shields.io/github/issues/OpenBB-finance/OpenBBTerminal.svg?style=for-the-badge&color=blue
[issues-url]: https://github.com/OpenBB-finance/OpenBBTerminal/issues
[bugs-open-shield]: https://img.shields.io/github/issues/OpenBB-finance/OpenBBTerminal/bug.svg?style=for-the-badge&color=yellow
[bugs-open-url]: https://github.com/OpenBB-finance/OpenBBTerminal/issues?q=is%3Aissue+label%3Abug+is%3Aopen
[bugs-closed-shield]: https://img.shields.io/github/issues-closed/OpenBB-finance/OpenBBTerminal/bug.svg?style=for-the-badge&color=success
[bugs-closed-url]: https://github.com/OpenBB-finance/OpenBBTerminal/issues?q=is%3Aissue+label%3Abug+is%3Aclosed
[license-shield]: https://img.shields.io/github/license/OpenBB-finance/OpenBBTerminal.svg?style=for-the-badge
[license-url]: https://github.com/OpenBB-finance/OpenBBTerminal/blob/main/LICENSE
[twitter-shield]: https://img.shields.io/twitter/follow/openbb_finance?style=for-the-badge&color=blue
[twitter-url]: https://twitter.com/openbb_finance