Official Python SDK for the SentiSense market intelligence API
Project description
SentiSense Python SDK
Official Python SDK for the SentiSense market intelligence API.
Installation
pip install sentisense
Quick Start
from sentisense import SentiSenseClient
client = SentiSenseClient("your-api-key")
# Get a stock price
price = client.get_stock_price("AAPL")
print(price)
# Get multiple stock prices
prices = client.get_stock_prices(["AAPL", "MSFT", "GOOGL"])
# Check market status
status = client.get_market_status()
print(status)
# Get latest news for a stock
news = client.get_documents_by_ticker("TSLA", source="news", days=7)
# Search across news and social media
results = client.search_documents("AI earnings surprise")
# Get sentiment for a stock
sentiment = client.get_sentiment("NVDA")
Authentication
All API requests require an API key. You can generate one from your Developer Console.
client = SentiSenseClient("your-api-key")
For full endpoint documentation, request/response schemas, and interactive examples, see the API Documentation.
API Reference
Stocks
| Method | Description |
|---|---|
get_stock_price(ticker) |
Real-time price for a single stock |
get_stock_prices(tickers) |
Real-time prices for multiple stocks |
get_stock_profile(ticker) |
Company profile |
get_stock_chart(ticker, timeframe="1M") |
OHLCV chart data |
get_all_stocks() |
List of available tickers |
get_all_stocks_detailed() |
Tickers with company names and entity IDs |
get_market_status() |
Market open/closed status |
get_fundamentals(ticker, timeframe="quarterly") |
Financial fundamentals |
News & Documents
| Method | Description |
|---|---|
get_documents_by_ticker(ticker, source?, days?, hours?, limit?) |
News and social posts for a stock |
get_documents_by_ticker_range(ticker, start_date, end_date) |
Documents within a date range |
get_documents_by_entity(entity_id) |
Documents for a KB entity |
search_documents(query, source?, days?, limit?) |
Natural language search across news and social |
get_documents_by_source(source, days?, hours?, limit?) |
Latest from a source ("news", "reddit", "x", "substack") |
get_stories(limit?, days?, expanded?) |
AI-curated news story clusters |
get_story(cluster_id) |
Single story with all source documents |
get_stories_by_ticker(ticker, limit?) |
Stories for a specific stock |
get_the_news(limit?) |
Curated dashboard: top stories + news stream |
Sentiment & Mentions
| Method | Description |
|---|---|
get_mentions(symbol, source?, start_date?, end_date?) |
Mention data across news and social |
get_mention_count(symbol, source?, start_date?, end_date?) |
Total mention count |
get_mention_count_by_source(symbol, start_date?, end_date?) |
Mentions broken down by source |
get_sentiment(symbol, start_date?, end_date?) |
Sentiment data for a stock |
get_sentiment_by_source(symbol, date?) |
Sentiment broken down by source |
get_average_sentiment(symbol, start_date?, end_date?) |
Average sentiment score |
Institutional Flows (13F)
| Method | Description |
|---|---|
get_institutional_quarters() |
Available 13F reporting quarters |
get_institutional_flows(report_date, limit=50) |
Fund flows for a quarter |
get_stock_holders(ticker, report_date) |
Institutional holders for a stock |
get_activist_positions(report_date) |
Activist investor positions |
Error Handling
The SDK raises typed exceptions for API errors:
from sentisense import SentiSenseClient, AuthenticationError, RateLimitError
client = SentiSenseClient("your-api-key")
try:
price = client.get_stock_price("AAPL")
except AuthenticationError:
print("Invalid or missing API key")
except RateLimitError:
print("Rate limit exceeded, try again later")
| Exception | HTTP Status | Description |
|---|---|---|
AuthenticationError |
401, 403 | Invalid or missing API key |
NotFoundError |
404 | Resource not found |
RateLimitError |
429 | Rate limit exceeded |
APIError |
Other 4xx/5xx | General API error |
All exceptions inherit from SentiSenseError and include .status_code, .message, and .response attributes.
License
MIT - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sentisense-0.2.0.tar.gz.
File metadata
- Download URL: sentisense-0.2.0.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dc6e5ef72e671ce867e99bb9f6aaadd2dd621c69b8296795e46e6147679d6a3
|
|
| MD5 |
dc28f9e4c0315b81d530118a2c20c22c
|
|
| BLAKE2b-256 |
daf5a727a3d4b366e936e56964396da329196f159df0e6a0556e44375a1683ed
|
File details
Details for the file sentisense-0.2.0-py3-none-any.whl.
File metadata
- Download URL: sentisense-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea1f0d10fde317a982a60826652e60a61387c13e8205528f246372b7591628e0
|
|
| MD5 |
fca805465a87987a1376ed29d415e4e9
|
|
| BLAKE2b-256 |
3c82b00496361798a172e6ecb95cae81b0aaabf2cf2ea1052cc4d5c77eced109
|