* stash some changes * add more robust testing * mypy * point PR at V5 * introduce spec file * codespell * test fix * fix workflow environment setup * fix workflow environment setup * fix workflow environment setup * add pyyaml to dependencies * split lint jobs * fix workflow environment setup * fix workflow environment setup * workflow env setup * workflow env setup * clean up code comments * add auth hook entrypoints * codespell * add codegen feature * codespell * move _unpack into dispatchers for consistency with codegen packages * surface nested models in the response * fix missing coverage in CI * socrata updates * test fix * detect plotly output * add --include and --exclude flags from generate-extension command * refactor openbb-platform-api for V5 operations and spec file handling * delete poetry.lock * add test workflow * add temp branch id for test workflow * add httpx to dev dependencies * add a conftest.py * tweak conftest * tweak conftest * python 3.10 issues * more python 3.10 * more python 3.10 * more python 3.10 * more python 3.10 * fix url template resolution * multi-spec support * fix a windows path issue * merge branch develop * table builder, integration tests, and more * linting * merge branch develop * bit of cleanup * some more updates, cleanup, and apps.json * codespell * black * integration test params and linting * mypy * pylint * black * more pylint * recapture teest cassettes * black again * more linting * table presentation choices * black * fix merge conflict * split up metadata module and reformat cache to use msgpack * mypy * regenerate lock file * use json and include dependencies to make openbb-oecd a standalone install * pylint * more linting * serve metadata as dependency instead of assign and initialize * fix integration_tests_testers to not count dependency injections as paramters * add assets to git ignore * ruff * v5 refactor and publish workflow * test coverage and ty fixes * codespell * update lock file * workflow setup * ty check * workflow setup * Scope PR to OECD changes only Restore non-OECD files in the diff against v5 to their v5 state. The branch was originally created off feature/cli-2 and inherited 186 files of unrelated changes (cli, agent_server, mcp_server, platform_api, core/, .github/workflows/* not oecd). Those have nothing to do with the openbb-oecd v5 refactor and were polluting the PR diff. * scope cleanup: include leaked v5-resident files (general-linting workflow, platform_api test fixtures) --------- Co-authored-by: deeleeramone <> Co-authored-by: Copilot <copilot@github.com>
OpenBB Platform
| OpenBB is committed to build the future of investment research by focusing on an open source infrastructure accessible to everyone, everywhere. |
|---|
![]() |
| Check our website at openbb.co |
Overview
The OpenBB Platform provides a convenient way to access raw financial data from multiple data providers. The package comes with a ready to use REST API - this allows developers from any language to easily create applications on top of OpenBB Platform.
Please find the complete documentation at docs.openbb.co.
Installation
PyPI
The command below provides access to the core functionalities behind the OpenBB Platform, and a selection of sources.
pip install openbb
This will install the core, router modules, and the following data providers:
| Extension Name | Description | Installation Command | Minimum Subscription Type Required |
|---|---|---|---|
| openbb-benzinga | Benzinga data connector | pip install openbb-benzinga | Paid |
| openbb-bls | Bureau of Labor Statistics data connector | pip install openbb-bls | Free |
| openbb-congress-gov | US Congress API data connector | pip install openbb-congress-gov | Free |
| openbb-cftc | Commodity Futures Trading Commission data connector | pip install openbb-cftc | Free |
| openbb-econdb | EconDB data connector | pip install openbb-econdb | None |
| openbb-imf | IMF data connector | pip install openbb-imf | None |
| openbb-fmp | FMP data connector | pip install openbb-fmp | Free |
| openbb-fred | FRED data connector | pip install openbb-fred | Free |
| openbb-intrinio | Intrinio data connector | pip install openbb-intrinio | Paid |
| openbb-oecd | OECD data connector | pip install openbb-oecd | Free |
| openbb-polygon | Polygon data connector | pip install openbb-polygon | Free |
| openbb-sec | SEC data connector | pip install openbb-sec | None |
| openbb-tiingo | Tiingo data connector | pip install openbb-tiingo | Free |
| openbb-tradingeconomics | TradingEconomics data connector | pip install openbb-tradingeconomics | Paid |
| openbb-yfinance | Yahoo Finance data connector | pip install openbb-yfinance | None |
Extras
These packages are not installed when pip install openbb is run. They are available for installation separately or by running pip install openbb[all].
| Extension Name | Description | Installation Command | Minimum Subscription Type Required |
|---|---|---|---|
| openbb-mcp-server | Run the OpenBB Platform as a MCP server | pip install openbb-mcp-server | None |
| openbb-charting | Integrated Plotly charting library and dedicated window rendering. | pip install openbb-charting | None |
| openbb-alpha-vantage | Alpha Vantage data connector | pip install openbb-alpha-vantage | Free |
| openbb-biztoc | Biztoc News data connector | pip install openbb-biztoc | Free |
| openbb-cboe | Cboe data connector | pip install openbb-cboe | None |
| openbb-deribit | Deribit data connector | pip install openbb-deribit | None |
| openbb-ecb | ECB data connector | pip install openbb-ecb | None |
| openbb-famafrench | Ken French Data Library connector | pip install openbb-famafrench | None |
| openbb-federal-reserve | Federal Reserve data connector | pip install openbb-federal-reserve | None |
| openbb-finra | FINRA data connector | pip install openbb-finra | None / Free |
| openbb-finviz | Finviz data connector | pip install openbb-finviz | None |
| openbb-government-us | US Government data connector | pip install openbb-us-government | None |
| openbb-nasdaq | Nasdaq Data Link connector | pip install openbb-nasdaq | None / Free |
| openbb-seeking-alpha | Seeking Alpha data connector | pip install openbb-seeking-alpha | None |
| openbb-stockgrid | Stockgrid data connector | pip install openbb-stockgrid | None |
| openbb-tmx | TMX data connector | pip install openbb-tmx | None |
| openbb-tradier | Tradier data connector | pip install openbb-tradier | None |
| openbb-wsj | Wall Street Journal data connector | pip install openbb-wsj | None |
pip install openbb-equity openbb-yfinance
Python
>>> from openbb import obb
>>> output = obb.equity.price.historical("AAPL")
>>> df = output.to_dataframe()
>>> df.tail()
| date | open | high | low | close |
|---|---|---|---|---|
| 2025-09-30 | 254.86 | 255.92 | 253.11 | 254.63 |
| 2025-10-01 | 255.04 | 258.79 | 254.93 | 255.45 |
| 2025-10-02 | 256.58 | 258.18 | 254.15 | 257.13 |
| 2025-10-03 | 254.67 | 259.24 | 253.95 | 258.02 |
| 2025-10-06 | 257.945 | 259.07 | 255.05 | 256.69 |
API keys
To fully leverage the OpenBB Platform you need to get some API keys to connect with data providers (listed above).
Here's how to set them:
Local file
Specify the keys directly in the ~/.openbb_platform/user_settings.json file.
Populate this file with the following template and replace the values with your keys:
{
"credentials": {
"fmp_api_key": "REPLACE_ME",
"polygon_api_key": "REPLACE_ME",
"benzinga_api_key": "REPLACE_ME",
"fred_api_key": "REPLACE_ME"
}
}
Runtime
Credentials can be set for the current session only, using the Python interface.
>>> from openbb import obb
>>> obb.user.credentials.fred_api_key = "REPLACE_ME"
>>> obb.user.credentials.polygon_api_key = "REPLACE_ME"
Go to the documentation for more details.
REST API
The OpenBB Platform comes with a ready-to-use REST API built with FastAPI. Start the application using this command:
uvicorn openbb_core.api.rest_api:app --host 0.0.0.0 --port 8000 --reload
API documentation is found under "/docs", from the root of the server address, and is viewable in any browser supporting HTTP over localhost, such as Chrome.
See the documentation for runtime settings and configurations.
Local Development
To develop with the source code, you need to have the following:
- Git
- Python 3.10 - 3.13.
- Virtual Environment with
poetryinstalled.- Activate your virtual environment and run,
pip install poetry.
- Activate your virtual environment and run,
- A local copy of the GitHub repository
Install the repository for local development by using the installation script.
- Activate your virtual environment.
- Navigate into the
openbb_platformfolder. - Run
python dev_install.py -eto install all packages in editable mode.
See the documentation for an overview of the architecture and how to get started building your own extensions.
