{"id":24148,"library":"openbb","title":"OpenBB SDK","description":"OpenBB is an open-source investment research SDK for programmatic access to financial market data from multiple providers. Current version 4.7.1 requires Python 3.10+. Release cadence is monthly.","status":"active","version":"4.7.1","language":"python","source_language":"en","source_url":"https://github.com/OpenBB-finance/OpenBB","tags":["finance","investment","data","sdk","stocks"],"install":[{"cmd":"pip install openbb","lang":"bash","label":"Install OpenBB"},{"cmd":"pip install openbb[all]","lang":"bash","label":"Install OpenBB with all providers"}],"dependencies":[],"imports":[{"note":"In v4, the main object is the module itself, not a submodule.","wrong":"from openbb import openbb","symbol":"openbb","correct":"import openbb"},{"note":"v4 renamed the package from openbb_sdk to openbb.","wrong":"from openbb_sdk import obb","symbol":"OBJ","correct":"from openbb import obb"}],"quickstart":{"code":"import openbb\n\n# Set personal access token (or use environment variable OPENBB_PERSONAL_ACCESS_TOKEN)\nobb = openbb.OpenBB(token=os.environ.get('OPENBB_PERSONAL_ACCESS_TOKEN', ''))\n\n# Get stock data\ndf = obb.equity.price.historical('AAPL', provider='fmp')\nprint(df)\n","lang":"python","description":"Initialize OpenBB SDK with a personal access token and fetch historical prices."},"warnings":[{"fix":"Rewrite calls using the new SDK pattern: import openbb; obb = openbb.OpenBB(token); obb.equity.price.historical(...).","message":"v4 completely redesigned the API. All v3 code using openbb_terminal is incompatible.","severity":"breaking","affected_versions":"4.0.0+"},{"fix":"Replace 'from openbb_terminal import ...' with 'import openbb' and use obb object.","message":"Removed the 'openbb_terminal' package. Must use 'import openbb' instead.","severity":"breaking","affected_versions":"4.0.0+"},{"fix":"Always specify provider, e.g., provider='fmp', provider='polygon'.","message":"Provider functions now require a 'provider' keyword argument. Missing it returns an error.","severity":"gotcha","affected_versions":"4.0.0+"},{"fix":"Set os.environ['OPENBB_PERSONAL_ACCESS_TOKEN'] = 'your_token' or pass token=... to OpenBB().","message":"Personal access token is mandatory; environment variable OPENBB_PERSONAL_ACCESS_TOKEN must be set or passed to constructor.","severity":"gotcha","affected_versions":"4.0.0+"},{"fix":"Check openbb.dev for up-to-date provider support.","message":"Some third-party provider modules are deprecated or moved to separate packages.","severity":"deprecated","affected_versions":"4.5+"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'import openbb' and create an OpenBB() instance.","cause":"Trying to import old v3 package.","error":"ModuleNotFoundError: No module named 'openbb_terminal'"},{"fix":"Pass token or set OPENBB_PERSONAL_ACCESS_TOKEN before instantiation.","cause":"OpenBB() constructor now requires a token (or set env var).","error":"TypeError: __init__() missing 1 required positional argument: 'token'"},{"fix":"Ensure correct provider name (e.g., 'fmp', 'polygon') and install extras: pip install openbb[all].","cause":"Misspelled provider name or provider not installed.","error":"openbb.errors.OpenBBError: Provider 'fmp' not found."},{"fix":"Use obb.equity.* instead of obb.stocks.*.","cause":"Calling old v3 path pattern.","error":"AttributeError: module 'openbb' has no attribute 'stocks'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}