{"id":12743,"library":"massive-api-client","title":"Massive.com Python Client (formerly Polygon.io)","description":"Official Python client for Massive.com (formerly Polygon.io) REST and WebSocket financial data APIs. Polygon.io rebranded as Massive.com on October 30, 2025. Package renamed from polygon-api-client. Import path changed from 'polygon' to 'massive'. Both api.polygon.io and api.massive.com remain operational. Current stable version follows the polygon-api-client release cadence.","status":"active","version":"2.0.0","language":"python","source_language":"en","source_url":"https://github.com/massive-com/client-python","tags":["financial-data","stocks","options","forex","crypto","websocket","rest-api","polygon","massive","market-data"],"install":[{"cmd":"pip install massive-api-client","lang":"bash","label":"Install (new name)"},{"cmd":"pip install polygon-api-client","lang":"bash","label":"Install (old name, still works)"}],"dependencies":[],"imports":[{"note":"Import path changed from 'polygon' to 'massive' in v2.0.0 as part of the Polygon.io → Massive.com rebrand. Old import still works if using polygon-api-client v1.x.","wrong":"from polygon import RESTClient","symbol":"RESTClient","correct":"from massive import RESTClient"},{"wrong":"from polygon.websocket import WebSocketClient","symbol":"WebSocketClient","correct":"from massive.websocket import WebSocketClient"}],"quickstart":{"code":"import os\nfrom massive import RESTClient\n\nAPI_KEY = os.environ.get('POLYGON_API_KEY') or os.environ.get('MASSIVE_API_KEY')\n\nwith RESTClient(API_KEY) as client:\n    resp = client.get_aggs('AAPL', 1, 'day', '2024-01-01', '2024-01-10')\n    for agg in resp.results:\n        print(agg)","lang":"python","description":"Both POLYGON_API_KEY and MASSIVE_API_KEY env vars work. Existing API keys continue to function after rebrand."},"warnings":[{"fix":"Update imports to 'from massive import RESTClient' and 'from massive.websocket import WebSocketClient'.","message":"Import path changed from 'polygon' to 'massive' in v2.0.0. 'from polygon import RESTClient' no longer works with the new package.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"If you must use the old endpoint explicitly: RESTClient(API_KEY, base_url='https://api.polygon.io')","message":"Default API base URL changed from api.polygon.io to api.massive.com in v2.0.0. Both domains remain operational.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"No action needed. Keep using your existing API key.","message":"Existing POLYGON_API_KEY values continue to work with Massive.com. No key rotation needed.","severity":"gotcha","affected_versions":"all"}],"env_vars":[{"name":"POLYGON_API_KEY","required":true,"description":"Your Polygon.io / Massive.com API key. Both env var names accepted."},{"name":"MASSIVE_API_KEY","required":false,"description":"Alternative env var name for the API key after rebrand."}],"last_verified":"2026-04-19T00:00:00.000Z","next_check":"2026-07-19T00:00:00.000Z","problems":[{"fix":"Change 'from polygon import RESTClient' to 'from massive import RESTClient'.","cause":"Using old import path after upgrading to massive-api-client v2.x.","error":"ImportError: cannot import name 'RESTClient' from 'polygon'"},{"fix":"Run 'pip install massive-api-client' to get v2.x with the new import path.","cause":"Still using polygon-api-client v1.x or package not installed.","error":"ModuleNotFoundError: No module named 'massive'"},{"fix":"Pass API key explicitly: RESTClient(api_key=os.environ['POLYGON_API_KEY']) or set POLYGON_API_KEY env var.","cause":"API key not passed or invalid.","error":"401 Client Error: Unauthorized for url: https://api.massive.com"}],"ecosystem":"pypi"}