Official Python SDK for the NORTH7 Financial Intelligence API.
Real-time risk scoring, market regime detection, trading signals, stock analysis, commodity intelligence, and geopolitical briefings -- all from one API.
pip install north7With LangChain support:
pip install north7[langchain]from north7 import North7Client
# Free endpoints -- no API key required
client = North7Client()
risk = client.risk()
print(f"Risk: {risk.value}/100 - {risk.status}")
regime = client.regime()
print(f"Regime: {regime.regime}, VIX: {regime.vix_value}")Get a free API key:
info = North7Client.register(email="you@example.com", name="Your Name")
print(info.api_key) # n7_live_...Or sign up at north7.ai/developer.
Use the key:
client = North7Client(api_key="n7_live_xxx")
# Or set the environment variable
# export NORTH7_API_KEY=n7_live_xxx
client = North7Client() # picks up from env| Method | Endpoint | Description |
|---|---|---|
client.risk() |
GET /v1/risk | Global risk index (0-100) |
client.regime() |
GET /v1/regime | Market regime (BULL/BEAR/NEUTRAL) |
client.health() |
GET /v1/health | API health check |
| Method | Credits | Description |
|---|---|---|
client.signals() |
1 | Latest trading signals |
client.alpha() |
2 | Alpha stock picks |
client.prices(["AAPL", "MSFT"]) |
1 | Current prices |
client.price_history("AAPL") |
1 | OHLCV price history |
client.analysis("AAPL") |
5 | Full stock analysis |
client.sector_radar() |
2 | Sector rotation radar |
client.commodities() |
2 | Commodity signals |
client.intraday() |
2 | Intraday scanner |
client.briefing() |
10 | Geopolitical briefing |
client.portfolio() |
10 | Model portfolio |
client = North7Client(api_key="n7_live_xxx")
signals = client.signals()
for s in signals:
print(f"{s.symbol}: {s.direction} ({s.confidence})")report = client.analysis("NVDA")
print(f"{report.symbol}: {report.rating} ({report.score}/100)")
print(report.summary)sectors = client.sector_radar()
for sector in sectors:
print(f"{sector.sector}: {sector.score} ({sector.trend})")commodities = client.commodities()
for c in commodities:
print(f"{c.name} ({c.symbol}): {c.direction}")brief = client.briefing()
print(brief.summary)
for event in brief.events:
print(f" - {event}")import asyncio
from north7 import AsyncNorth7Client
async def main():
async with AsyncNorth7Client(api_key="n7_live_xxx") as client:
risk = await client.risk()
print(f"Risk: {risk.value}/100")
signals = await client.signals()
for s in signals:
print(f"{s.symbol}: {s.direction}")
asyncio.run(main())Use NORTH7 as tools in a LangChain agent:
from north7 import North7Client
client = North7Client(api_key="n7_live_xxx")
tools = client.get_langchain_tools()
# Use with any LangChain agent
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o")
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)
result = executor.invoke({"input": "What is the current market risk?"})from north7 import North7Client, AuthenticationError, RateLimitError
client = North7Client(api_key="invalid")
try:
signals = client.signals()
except AuthenticationError:
print("Invalid API key")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after}s")
except InsufficientCreditsError:
print("Not enough credits")All methods return typed dataclasses, not raw dicts:
risk = client.risk()
risk.value # int: 0-100
risk.status # str: "LOW", "MODERATE", "ELEVATED", "HIGH", "EXTREME"
risk.crises # List[Crisis]
risk.regions # List[RegionRisk]MIT -- see LICENSE.